@hailin-zheng/editor-core 1.1.36 → 2.0.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 (41) hide show
  1. package/index-cjs.d.ts +1 -1
  2. package/index-cjs.js +4185 -4151
  3. package/index-cjs.js.map +1 -1
  4. package/index.d.ts +1 -1
  5. package/index.js +4183 -4149
  6. package/index.js.map +1 -1
  7. package/med_editor/{texteditor.d.ts → doc-editor.d.ts} +64 -35
  8. package/med_editor/doc-rule.d.ts +46 -0
  9. package/med_editor/editor-core.d.ts +17 -0
  10. package/med_editor/framework/common-util.d.ts +1 -0
  11. package/med_editor/framework/document-event.d.ts +2 -2
  12. package/med_editor/framework/document-input-cursor.d.ts +4 -12
  13. package/med_editor/framework/document-print-offscreen.d.ts +7 -4
  14. package/med_editor/framework/document-print.d.ts +4 -1
  15. package/med_editor/framework/document-svg.d.ts +20 -0
  16. package/med_editor/framework/editor-calendar-vnode.d.ts +38 -0
  17. package/med_editor/framework/element-define.d.ts +1 -0
  18. package/med_editor/framework/element-type-handler.d.ts +0 -5
  19. package/med_editor/framework/element-util.d.ts +6 -1
  20. package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +2 -1
  21. package/med_editor/framework/impl/comments/comment-content-impl.d.ts +4 -2
  22. package/med_editor/framework/impl/comments/comment-element-impl.d.ts +3 -3
  23. package/med_editor/framework/impl/comments/comments-container-impl.d.ts +2 -1
  24. package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +2 -1
  25. package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +3 -1
  26. package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +4 -3
  27. package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +1 -0
  28. package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +2 -1
  29. package/med_editor/framework/impl/document/doc-body-impl.d.ts +2 -1
  30. package/med_editor/framework/impl/document/doc-footer-impl.d.ts +2 -1
  31. package/med_editor/framework/impl/document/doc-header-impl.d.ts +2 -1
  32. package/med_editor/framework/impl/document/doc-impl.d.ts +4 -2
  33. package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +2 -1
  34. package/med_editor/framework/impl/paragraph/p-impl.d.ts +3 -2
  35. package/med_editor/framework/impl/picture/image-impl.d.ts +2 -1
  36. package/med_editor/framework/impl/table/table-cell-impl.d.ts +7 -4
  37. package/med_editor/framework/impl/table/table-impl.d.ts +3 -1
  38. package/med_editor/framework/impl/text/text-impl.d.ts +2 -2
  39. package/med_editor/framework/impl/text/track-run-impl.d.ts +5 -1
  40. package/med_editor/framework/render-define.d.ts +33 -4
  41. package/package.json +1 -1
@@ -7,15 +7,11 @@ import { CellDiagonal, ParagraphNumberType, ParagraphProps, TextProps } from './
7
7
  import { EditorContext } from './framework/document-context';
8
8
  import { ElementTrackManage } from './framework/element-trace-manage';
9
9
  import { Subject } from './framework/event-subject';
10
- import { AbsolutePanel, IRenderData } from "../controls/Node";
11
- import { Menu } from "../controls/Menu";
12
- /**
13
- * Node宽度定义
14
- * 1.在单页模式下,文档最小宽度为单个文档宽度+合适的外边距
15
- * 2.在多页模式下,文档最小宽度为单个文档宽度+合适的外边距
16
- */
17
- export declare class CanvasTextEditor extends AbsolutePanel {
18
- private container;
10
+ import { init, VNode } from "snabbdom";
11
+ import { IVNodeRenderFunc } from "./editor-core";
12
+ import { DocRule } from "./doc-rule";
13
+ export declare class DocEditor {
14
+ private svgContainer;
19
15
  private contentCtx;
20
16
  viewOptions: ViewOptions;
21
17
  docCtx: EditorContext;
@@ -32,6 +28,8 @@ export declare class CanvasTextEditor extends AbsolutePanel {
32
28
  selectionChanged: Subject<SelectionState>;
33
29
  beforeRenderSubject: Subject<void>;
34
30
  afterRenderSubject: Subject<void>;
31
+ contentChanged: Subject<void>;
32
+ onShouldRender: Subject<void>;
35
33
  selectionState: SelectionState;
36
34
  onContextMenuItemChanged: Subject<EditorContenxtProps>;
37
35
  onDblClickEvent: Subject<Event>;
@@ -39,15 +37,15 @@ export declare class CanvasTextEditor extends AbsolutePanel {
39
37
  onScrollViewEvent: Subject<number>;
40
38
  onDocChangedEvent: Subject<void>;
41
39
  onBeforeRefreshDocument: Subject<void>;
42
- private editCanvas;
40
+ onDestroy: Subject<void>;
41
+ beforeNodePatch: Subject<void>;
42
+ afterNodePatch: Subject<void>;
43
43
  private editInput;
44
- constructor(container: string);
45
- private createDocDOM;
44
+ private scrollContainer;
45
+ constructor(svgContainer: HTMLElement);
46
+ private createCanvasContext;
47
+ private renderRoot;
46
48
  private destroyDOM;
47
- /**
48
- * 设置标尺
49
- */
50
- refreshDocRule(): void;
51
49
  createDocViewer(): void;
52
50
  measureMMToPixs(): number;
53
51
  flushTask: (() => void) | null;
@@ -84,6 +82,22 @@ export declare class CanvasTextEditor extends AbsolutePanel {
84
82
  * 设置光标
85
83
  */
86
84
  private setCursor;
85
+ private getCursorRect;
86
+ /**
87
+ * 设置虚拟光标的可见性
88
+ * @param visibility
89
+ */
90
+ setCursorVisibility(visibility: boolean): void;
91
+ hiddenInput(): void;
92
+ /**
93
+ * 设置光标位置
94
+ * @param position
95
+ */
96
+ setCursorPosition(position: {
97
+ x: number;
98
+ y: number;
99
+ height: number;
100
+ }): void;
87
101
  /**
88
102
  * 将相对坐标位置转换为绝对坐标位
89
103
  * 由于缩放,导致绝对位置=相对位置*scale
@@ -135,12 +149,12 @@ export declare class CanvasTextEditor extends AbsolutePanel {
135
149
  */
136
150
  getDocSchema(): any;
137
151
  getDocSchemaJSON(): string;
152
+ private menusData;
138
153
  /**
139
154
  * 右键菜单
140
155
  * @param evt
141
156
  */
142
157
  onContextMenu(evt: MouseEvent): void;
143
- private updateDocSize;
144
158
  resetViewer(type?: 'demand' | 'force' | undefined): void;
145
159
  /**
146
160
  * 缩放视图
@@ -292,23 +306,6 @@ export declare class CanvasTextEditor extends AbsolutePanel {
292
306
  */
293
307
  insertNewElement(ele: Element): void;
294
308
  switchPageLayout(mode: PageLayoutMode): void;
295
- randomHex: () => string;
296
- randomNum: (start: number, end: number) => number;
297
- private scrollView;
298
- private surfaceView;
299
- private rule;
300
- start(): void;
301
- /**
302
- * 页面大小改变时,更新排版
303
- */
304
- updateLayout(): void;
305
- createMenu(): Menu;
306
- render(e: IRenderData): void;
307
- /**
308
- * 绘制光标
309
- * @private
310
- */
311
- private drawCaret;
312
309
  /**
313
310
  * 获取当前光标位置所在的段落
314
311
  */
@@ -385,7 +382,39 @@ export declare class CanvasTextEditor extends AbsolutePanel {
385
382
  /**
386
383
  * 开启打印区域
387
384
  */
388
- startPrintArea(): ICancelTokenFn;
385
+ startPrintArea(): void;
386
+ onChange(): void;
387
+ nodePatch: ReturnType<typeof init>;
388
+ vNodeDocContent: VNode;
389
+ createPatch(): void;
390
+ /**
391
+ * 留痕提示的容器框,用于渲染后重新计算纵向位置
392
+ * @private
393
+ */
394
+ private tipContainer;
395
+ getVNode(): IVNodeRenderFunc;
396
+ /**
397
+ * 更新留痕提示框位置在文档渲染后
398
+ * @private
399
+ */
400
+ private updateTipLayoutAfterPatch;
401
+ private createChangeTipContainer;
402
+ getHtml(): void;
403
+ /**
404
+ * 设置光标在数据元内容末尾
405
+ */
406
+ setDataElemEndFocus(ele: DataElementInlineGroup): void;
407
+ /**
408
+ * 渲染下拉框数据元
409
+ * @private
410
+ */
411
+ private renderDataListVNode;
412
+ private renderCalendar;
413
+ private renderContextmenu;
414
+ /**
415
+ * 设置标尺
416
+ */
417
+ refreshDocRule(rule: DocRule): void;
389
418
  }
390
419
  export interface IReaderManager {
391
420
  }
@@ -0,0 +1,46 @@
1
+ import { SelectionState } from "./framework/document-selection";
2
+ import { ViewOptions } from "./framework/element-define";
3
+ import { EditorContext } from "./framework/document-context";
4
+ import { IVNodeRenderFunc } from "./editor-core";
5
+ interface RuleOptions {
6
+ width: number;
7
+ pagePL: number;
8
+ pagePR: number;
9
+ docLeft: number;
10
+ }
11
+ export declare class DocRule {
12
+ private docCtx;
13
+ private options;
14
+ private ruleHeight;
15
+ private thumbX;
16
+ private mouseDownPos;
17
+ private indentThumbPoints;
18
+ private hangThumbPoints;
19
+ private mouseDownThumbType;
20
+ viewOptions: ViewOptions;
21
+ ss: SelectionState;
22
+ private nodes;
23
+ constructor(docCtx: EditorContext);
24
+ destroy(): void;
25
+ setRuleOptions(options: RuleOptions): void;
26
+ private fillRectSvg;
27
+ private drawIndentThumbSvg;
28
+ private drawHangThumbSvg;
29
+ private drawLineSvg;
30
+ private drawTextSvg;
31
+ refreshRuleSvg(): IVNodeRenderFunc;
32
+ private canvasMousedown;
33
+ private getMousePos;
34
+ private canvasMousemove;
35
+ private canvasMouseup;
36
+ private pointInPoly;
37
+ /**
38
+ * 绘制
39
+ */
40
+ private drawRuleSvg;
41
+ private getRuleMarksPos;
42
+ private getCurrPara;
43
+ private setParentMarksPosSvg;
44
+ private drawCellMarkSvg;
45
+ }
46
+ export {};
@@ -0,0 +1,17 @@
1
+ import { EditorVNodeObject } from "./framework/render-define";
2
+ export declare type EditorContext = {
3
+ onChange: () => void;
4
+ };
5
+ export declare let activeEditorContext: EditorContext | null;
6
+ export declare function setActiveEditorContext(ctx: EditorContext | null): void;
7
+ export declare type IVNodeRenderFunc = {
8
+ render: () => EditorVNodeObject | null;
9
+ };
10
+ export interface EditorFuncComp {
11
+ (...args: any): IVNodeRenderFunc;
12
+ }
13
+ export interface ISignal<T> {
14
+ value: T;
15
+ onChange: () => void;
16
+ }
17
+ export declare function createSignal<T>(state: T): ISignal<T>;
@@ -61,5 +61,6 @@ export declare class CommonUtil {
61
61
  static isDate(str: string): boolean;
62
62
  static cloneValue(val: any): any;
63
63
  static isConstructor(f: any): boolean;
64
+ static toArray<T>(item: Array<T> | T): Array<T>;
64
65
  }
65
66
  export {};
@@ -19,7 +19,6 @@ interface EdgeRenderInfo {
19
19
  * 事件系统
20
20
  */
21
21
  export declare class DocumentEvent {
22
- private editor;
23
22
  private documentPaint;
24
23
  private docCtx;
25
24
  private documentInput;
@@ -50,7 +49,8 @@ export declare class DocumentEvent {
50
49
  subs: Array<Subscription>;
51
50
  selectionState: SelectionState;
52
51
  viewOptions: ViewOptions;
53
- constructor(editor: NodeCore, documentPaint: DocumentPaint, docCtx: EditorContext, documentInput: DocumentInput);
52
+ constructor(documentPaint: DocumentPaint, docCtx: EditorContext, documentInput: DocumentInput);
53
+ getEventListener(): Object;
54
54
  private bindEvent;
55
55
  addSubEvent(sub: Subscription): void;
56
56
  clearSubEvent(): void;
@@ -1,7 +1,6 @@
1
1
  import { LeafElement } from "./element-define";
2
2
  import { EditorContext } from "./document-context";
3
3
  import { Subject } from "./event-subject";
4
- import { NodeCore } from "../../controls/Node";
5
4
  export interface ICompositionStartInfo {
6
5
  element: LeafElement;
7
6
  offset: number;
@@ -33,15 +32,8 @@ export declare class DocumentInput {
33
32
  onUpEvent: Subject<void>;
34
33
  onDownEvent: Subject<void>;
35
34
  onTabKeyEvent: Subject<void>;
36
- constructor(node: NodeCore, docCtx: EditorContext);
37
- /**
38
- * 设置虚拟光标的可见性
39
- * @param visibility
40
- */
41
- setCursorVisibility(visibility: boolean): void;
42
- /**
43
- * 设置输入状态
44
- * @param focus
45
- */
46
- setInputFocus(focus: boolean): void;
35
+ constructor(docCtx: EditorContext);
36
+ getEventListener(): Object;
37
+ private bindInput;
38
+ private invokeInput;
47
39
  }
@@ -3,7 +3,7 @@ import { DocumentPaint } from "./document-paint";
3
3
  import { ViewOptions } from "./element-define";
4
4
  import { ElementReader } from "./element-reader";
5
5
  import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
6
- import { IRenderContextContract, RenderContextType } from "./render-context";
6
+ import { IRenderContextContract, RenderContext } from "./render-context";
7
7
  import { Subject } from "./event-subject";
8
8
  interface IAfterRenderEvent {
9
9
  index: number;
@@ -17,10 +17,12 @@ export declare abstract class DocumentPrintOffscreenBase {
17
17
  documentPaint: DocumentPaint;
18
18
  viewOptions: ViewOptions;
19
19
  docCtx: EditorContext;
20
- renderCtx: RenderContextType;
20
+ renderCtx: RenderContext;
21
21
  elementReader: ElementReader;
22
22
  beforeRenderEvent: Subject<IAfterRenderEvent>;
23
23
  afterRenderEvent: Subject<IAfterRenderEvent>;
24
+ beforePrint: Subject<void>;
25
+ afterPrint: Subject<void>;
24
26
  constructor();
25
27
  print(data: any | DocumentElement, ranges?: Array<number> | null): Promise<void>;
26
28
  /**
@@ -43,14 +45,15 @@ export declare abstract class DocumentPrintOffscreenBase {
43
45
  */
44
46
  private prepare;
45
47
  getCanvasNodes(printPages: Array<DocumentRenderObject>, printRanges?: Array<number> | null): Array<HTMLCanvasElement>;
48
+ getSvgNodes(docRenders: Array<DocumentRenderObject>, printRanges?: Array<number> | null): Array<string>;
46
49
  abstract createCanvas(width: number, height: number): {
47
50
  canvas: HTMLCanvasElement;
48
51
  ctx: CanvasRenderingContext2D;
49
52
  };
50
- abstract createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContextType;
53
+ abstract createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContext;
51
54
  }
52
55
  export declare class DocumentPrintOffscreen extends DocumentPrintOffscreenBase {
53
- createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContextType;
56
+ createRenderCtx(mainCtx: CanvasRenderingContext2D, viewOptions: ViewOptions, docCtx: EditorContext): RenderContext;
54
57
  createCanvas(width: number, height: number): {
55
58
  canvas: HTMLCanvasElement;
56
59
  ctx: CanvasRenderingContext2D;
@@ -40,7 +40,10 @@ declare type PrintPaperOptions = {
40
40
  * @param options
41
41
  * @returns
42
42
  */
43
- export declare function printNodes(printNodes: Array<Node>, options: PrintPaperOptions): void;
43
+ export declare function printNodes(printNodes: Array<Node | string>, options: PrintPaperOptions, printEvent?: {
44
+ beforePrint: () => void;
45
+ afterPrint: () => void;
46
+ } | null): void;
44
47
  export {};
45
48
  /**
46
49
  * canvas节点导出到PDF
@@ -0,0 +1,20 @@
1
+ import { Element, Position, Rect, SelectionContentRange, ViewOptions } from "./element-define";
2
+ import { DocumentRenderObject } from "./impl";
3
+ import { EditorVNodeObject, RenderObject } from "./render-define";
4
+ import { RenderContext } from "./render-context";
5
+ export declare class DocumentSvg {
6
+ viewOptions: ViewOptions;
7
+ selectedSets: Map<Element, SelectionContentRange>;
8
+ renderCtx: RenderContext;
9
+ highlights: Array<EditorVNodeObject>;
10
+ mode: 'view' | 'print';
11
+ pagePos: Position;
12
+ constructor(viewOptions: ViewOptions, selectedSets: Map<Element, SelectionContentRange>, renderCtx: RenderContext);
13
+ getVNode(render: RenderObject, selectionRects: Array<Rect>, parentPos: Position): EditorVNodeObject | Array<EditorVNodeObject> | null | string;
14
+ getHTMLVNode(docRenders: Array<DocumentRenderObject>): Array<EditorVNodeObject>;
15
+ getPageSvgVNode(item: DocumentRenderObject): EditorVNodeObject;
16
+ private counterMap;
17
+ getCounter(key: string): number;
18
+ changeTips: Array<EditorVNodeObject>;
19
+ addChangeTips(tipVNode: EditorVNodeObject): void;
20
+ }
@@ -0,0 +1,38 @@
1
+ import { EditorVNodeObject } from "./render-define";
2
+ import { Subject } from "./event-subject";
3
+ import { ISignal } from "../editor-core";
4
+ import { Position } from "./element-define";
5
+ /**
6
+ * 渲染日历虚拟节点处理类
7
+ */
8
+ export declare class EditorCalendarVNode {
9
+ currYear: ISignal<number>;
10
+ currMonth: ISignal<number>;
11
+ currCalendarMode: ISignal<'year' | 'month' | 'day'>;
12
+ selectedDate: ISignal<string | null>;
13
+ currentDate: string;
14
+ onSetValue: Subject<string | Date>;
15
+ constructor();
16
+ reset(): void;
17
+ render(position: Position, dataValue: string): EditorVNodeObject | null;
18
+ private renderDropContainer;
19
+ renderDay(): EditorVNodeObject | null;
20
+ navigateToToday(): void;
21
+ onClickDayYearPart(): void;
22
+ onClickDayItem(day: string): void;
23
+ navigateToNextMonth(): void;
24
+ navigateToPrevMonth(): void;
25
+ renderMonth(): EditorVNodeObject | null;
26
+ renderYear(): EditorVNodeObject | null;
27
+ navigateToNextYear(): void;
28
+ navigateToPrevYear(): void;
29
+ onClickYearItemOnYearMode(year: number): void;
30
+ getDays(): Array<ICalendarDay>;
31
+ }
32
+ interface ICalendarDay {
33
+ date: string;
34
+ day: number;
35
+ isCurrentMonth?: boolean;
36
+ today?: boolean;
37
+ }
38
+ export {};
@@ -269,6 +269,7 @@ export declare class ViewOptions {
269
269
  showRule: boolean;
270
270
  enableDataEleInputValidate: boolean;
271
271
  private _fullPageView;
272
+ ruleHeight: number;
272
273
  get fullPageView(): boolean;
273
274
  set fullPageView(value: boolean);
274
275
  mmToPixelsRatio: number;
@@ -5,10 +5,5 @@ import { ElementHandler } from "./element-define";
5
5
  * @param evt
6
6
  */
7
7
  export declare const deleteCurrentParagraph: ElementHandler<ContextMenuElementEvent>;
8
- /**
9
- * 文档打印
10
- * @param cevt
11
- */
12
- export declare const printDocOnContextmenu: ElementHandler<ContextMenuElementEvent>;
13
8
  export declare const setDataElementProps: ElementHandler<ContextMenuElementEvent>;
14
9
  export declare const onTableContextmenu: ElementHandler<ContextMenuElementEvent>;
@@ -67,7 +67,7 @@ export declare class ElementUtil {
67
67
  */
68
68
  private static measureCellVAlign;
69
69
  /**
70
- * 设置原色横向排列方式
70
+ * 设置横向排列方式
71
71
  * @private
72
72
  * @param render
73
73
  * @param limitRect
@@ -388,5 +388,10 @@ export declare class ElementUtil {
388
388
  */
389
389
  static getDataElement(ele: Element): DataElementInlineGroup | null;
390
390
  static getOSPlatform(): 'Windows' | 'Mac' | 'Linux';
391
+ static getCheckboxPath(x: number, y: number, width: number, height: number): Array<Position>;
392
+ static getStrokeSvgPath(pathPoints: Array<Position> | string, stroke: string, width: number): any;
393
+ static getFillSvgPath(pathPoints: Array<Position> | string, fill: string, width: number): any;
394
+ static getFillSvgRect(x: number, y: number, width: number, height: number, fill: string): any;
395
+ static getMousePos(e: MouseEvent): Position;
391
396
  }
392
397
  export {};
@@ -1,6 +1,6 @@
1
1
  import { ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { CheckBoxProps } from "../../element-props";
3
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
4
4
  import { ElementEvent } from "../../element-event-define";
5
5
  export declare class CheckBoxElement extends LeafElement<CheckBoxProps> {
6
6
  constructor();
@@ -16,4 +16,5 @@ export declare class CheckBoxFactory extends ElementFactory<CheckBoxProps> {
16
16
  export declare class CheckBoxRenderObject extends LeafRenderObject<CheckBoxElement> {
17
17
  render(e: IRenderData): void;
18
18
  clone(cloneData?: boolean): RenderObject;
19
+ exportHTML(event: IEditorVNodeOptions): any;
19
20
  }
@@ -2,7 +2,7 @@ import { BlockContainerElement, ElementFactory, IBeginMeasureData, Position, rea
2
2
  import { CommContentProps } from "../../element-props";
3
3
  import { Element } from "../../element-define";
4
4
  import { RenderContextType } from "../../render-context";
5
- import { BlockContainerRenderObject, IRenderData, RenderObject } from "../../render-define";
5
+ import { BlockContainerRenderObject, IEditorVNodeOptions, IRenderData, RenderObject } from "../../render-define";
6
6
  import { CommentElement } from "./comment-element-impl";
7
7
  export declare abstract class CommContentBaseElement<P extends object = {
8
8
  id: string;
@@ -27,7 +27,9 @@ export declare class CommContentElement extends CommContentBaseElement<CommConte
27
27
  }
28
28
  export declare class CommContentRenderObject extends CommContentBaseRenderObject<CommContentElement> {
29
29
  render(e: IRenderData): void;
30
- renderTitle(ctx: RenderContextType, position: Position): void;
30
+ exportHTML(event: IEditorVNodeOptions): any;
31
+ renderTitleHTML(event: IEditorVNodeOptions): any;
32
+ renderTitle(ctx: RenderContextType, position: Position): any;
31
33
  endRender(ctx: RenderContextType, position: Position): void;
32
34
  clone(): RenderObject;
33
35
  }
@@ -1,6 +1,6 @@
1
- import { Element, ElementFactory, LeafElement, Position, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
1
+ import { Element, ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { CommProps } from "../../element-props";
3
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
4
4
  export declare class CommentElement extends LeafElement<CommProps> {
5
5
  constructor();
6
6
  createRenderObject(): RenderObject;
@@ -8,8 +8,8 @@ export declare class CommentElement extends LeafElement<CommProps> {
8
8
  clone(): Element;
9
9
  }
10
10
  export declare class CommentRenderObject extends LeafRenderObject<CommentElement> {
11
- renderPos: Position;
12
11
  render(e: IRenderData): void;
12
+ exportHTML(event: IEditorVNodeOptions): any;
13
13
  clone(): RenderObject;
14
14
  }
15
15
  export declare class CommentFactory extends ElementFactory<CommProps> {
@@ -1,5 +1,5 @@
1
1
  import { BlockContainerElement, Element, ElementFactory, ICreateRenderData, SelectionContentRange, SerializeProps, ViewOptions } from "../../element-define";
2
- import { BlockContainerRenderObject, IRenderData, RenderObject } from "../../render-define";
2
+ import { BlockContainerRenderObject, IEditorVNodeOptions, IRenderData, RenderObject } from "../../render-define";
3
3
  import { CommContentElement, CommentRangeStatus } from "./comment-content-impl";
4
4
  import { CommentElement, CommentRenderObject } from "./comment-element-impl";
5
5
  export declare class CommsContainerElement extends BlockContainerElement {
@@ -35,6 +35,7 @@ export declare class CommsContainerRenderObject extends BlockContainerRenderObje
35
35
  commsMarks: Array<CommentRenderObject>;
36
36
  render(e: IRenderData): void;
37
37
  clone(): RenderObject;
38
+ exportHTML(event: IEditorVNodeOptions): any;
38
39
  }
39
40
  export declare class CommentsFactory extends ElementFactory<null> {
40
41
  match(type: string): boolean;
@@ -1,6 +1,6 @@
1
1
  import { LeafElement, SerializeProps } from "../../element-define";
2
2
  import { RenderContextType } from "../../render-context";
3
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
4
4
  import { InlineGroupInputElement } from "./data-element-base-impl";
5
5
  export declare class DataDecorateElement extends LeafElement<any> {
6
6
  dataEle: InlineGroupInputElement;
@@ -17,4 +17,5 @@ export declare class DataDecorateRenderObject extends LeafRenderObject {
17
17
  y: number;
18
18
  }): void;
19
19
  clone(cloneData?: boolean): RenderObject;
20
+ exportHTML(event: IEditorVNodeOptions): any;
20
21
  }
@@ -1,5 +1,5 @@
1
1
  import { Element, ElementFactory, IBeginMeasureData, InlineGroupElement, LeafElement } from "../../element-define";
2
- import { InlineGroupRenderObject, IRenderData, RenderObject } from "../../render-define";
2
+ import { IEditorVNodeOptions, InlineGroupRenderObject, IRenderData, RenderObject } from "../../render-define";
3
3
  import { GotCursorEvent } from "../../element-event-define";
4
4
  import { DataEleBaseProps, TextProps } from "../../element-props";
5
5
  import { DataDecorateElement } from "./data-decorate-impl";
@@ -61,6 +61,7 @@ export declare abstract class DataElementInlineGroup<P extends DataEleBaseProps
61
61
  }
62
62
  export declare abstract class DataElementRenderObject<T extends DataElementInlineGroup = DataElementInlineGroup> extends InlineGroupRenderObject<T> {
63
63
  render(e: IRenderData): void;
64
+ exportHTML(event: IEditorVNodeOptions): any;
64
65
  /**
65
66
  * 绘制数据元标题
66
67
  * @param e
@@ -87,3 +88,4 @@ export declare abstract class DataElementBaseFactory<T = null> extends ElementFa
87
88
  readCompleted(ele: Element, children: Array<Element>): void;
88
89
  }
89
90
  export declare function drawDecorator(e: IRenderData, r: InlineGroupRenderObject): void;
91
+ export declare function exportDecoratorHTML(event: IEditorVNodeOptions, r: InlineGroupRenderObject): any;
@@ -1,7 +1,7 @@
1
1
  import { Element, ElementFactory, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { ElementEvent } from "../../element-event-define";
3
3
  import { DataEleCheckProps } from "../../element-props";
4
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
4
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
5
5
  import { DataElementLeaf } from "./data-element-base-impl";
6
6
  export declare class DataElementCheck extends DataElementLeaf<DataEleCheckProps> {
7
7
  constructor();
@@ -12,10 +12,11 @@ export declare class DataElementCheck extends DataElementLeaf<DataEleCheckProps>
12
12
  setValue(val: any): void;
13
13
  getValue(): any;
14
14
  }
15
- export declare class DataElementCheckRenderObject extends LeafRenderObject {
16
- constructor(element: Element);
15
+ export declare class DataElementCheckRenderObject extends LeafRenderObject<DataElementCheck> {
16
+ constructor(element: DataElementCheck);
17
17
  clone(): RenderObject;
18
18
  render(e: IRenderData): void;
19
+ exportHTML(event: IEditorVNodeOptions): any;
19
20
  }
20
21
  export declare class DataElementCheckFactory extends ElementFactory<DataEleCheckProps> {
21
22
  match(type: string): boolean;
@@ -8,6 +8,7 @@ export declare class DataElementDate extends DataElementInlineGroup<DataEleDateP
8
8
  serialize(viewOptions: ViewOptions): SerializeProps & any;
9
9
  clone(data: boolean): DataElementDate;
10
10
  setValue(val: Date | string): void;
11
+ isValid(val: any): boolean;
11
12
  getValue(): string;
12
13
  validate(): string;
13
14
  }
@@ -1,6 +1,6 @@
1
1
  import { Element, ElementFactory, ImgLoadStatus, readElementProps, ResizeLeafRenderObject, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { DataEleImageProps } from "../../element-props";
3
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
4
4
  import { DataElementLeaf } from "./data-element-base-impl";
5
5
  import { EditorContext } from "../../document-context";
6
6
  export declare class DataElementImage extends DataElementLeaf<DataEleImageProps> {
@@ -20,6 +20,7 @@ export declare class DataImageRenderObject extends ResizeLeafRenderObject {
20
20
  clone(): RenderObject;
21
21
  pagePaintCompleted(e: IRenderData): void;
22
22
  private drawResizeCircle;
23
+ exportHTML(event: IEditorVNodeOptions): any;
23
24
  }
24
25
  export declare class DataElementImgFactory extends ElementFactory<DataEleImageProps> {
25
26
  match(type: string): boolean;
@@ -1,6 +1,6 @@
1
1
  import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, SerializeProps } from "../../element-define";
2
2
  import { MouseElementEvent } from "../../element-event-define";
3
- import { IRenderData, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
3
+ import { IEditorVNodeOptions, IRenderData, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
4
4
  export declare class DocumentBodyElement extends BlockContainerElement {
5
5
  trackChanges: boolean;
6
6
  constructor();
@@ -13,6 +13,7 @@ export declare class DocumentBodyElement extends BlockContainerElement {
13
13
  export declare class DocumentBodyRenderObject extends MuiltBlockLineRenderObject {
14
14
  render(e: IRenderData): void;
15
15
  clone(cloneData?: boolean): RenderObject;
16
+ exportHTML(event: IEditorVNodeOptions): any;
16
17
  }
17
18
  export declare class DocumentBodyFactory extends ElementFactory<null> {
18
19
  match(type: string): boolean;
@@ -1,6 +1,6 @@
1
1
  import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, SerializeProps } from "../../element-define";
2
2
  import { MouseElementEvent } from "../../element-event-define";
3
- import { BlockContainerRenderObject, IRenderData, RenderObject } from "../../render-define";
3
+ import { BlockContainerRenderObject, IEditorVNodeOptions, IRenderData, RenderObject } from "../../render-define";
4
4
  export declare class DocumentFooterElement extends BlockContainerElement {
5
5
  constructor();
6
6
  clone(data: boolean): Element;
@@ -12,6 +12,7 @@ export declare class DocumentFooterElement extends BlockContainerElement {
12
12
  export declare class DocumentFooterRenderObject extends BlockContainerRenderObject {
13
13
  render(e: IRenderData): void;
14
14
  clone(): RenderObject;
15
+ exportHTML(event: IEditorVNodeOptions): any;
15
16
  }
16
17
  export declare class DocumentFooterFactory extends ElementFactory<null> {
17
18
  match(type: string): boolean;
@@ -1,6 +1,6 @@
1
1
  import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, SerializeProps } from "../../element-define";
2
2
  import { MouseElementEvent } from "../../element-event-define";
3
- import { BlockContainerRenderObject, IRenderData, RenderObject } from "../../render-define";
3
+ import { BlockContainerRenderObject, IEditorVNodeOptions, IRenderData, RenderObject } from "../../render-define";
4
4
  export declare class DocumentHeaderElement extends BlockContainerElement {
5
5
  constructor();
6
6
  clone(data: boolean): Element;
@@ -12,6 +12,7 @@ export declare class DocumentHeaderElement extends BlockContainerElement {
12
12
  export declare class DocumentHeaderRenderObject extends BlockContainerRenderObject {
13
13
  render(e: IRenderData): void;
14
14
  clone(): RenderObject;
15
+ exportHTML(event: IEditorVNodeOptions): any;
15
16
  }
16
17
  export declare class DocumentHeaderFactory extends ElementFactory<null> {
17
18
  match(type: string): boolean;
@@ -3,7 +3,7 @@ import { DocumentProps } from '../../element-props';
3
3
  import { RenderContextType } from "../../render-context";
4
4
  import { DocumentBodyElement } from "./doc-body-impl";
5
5
  import { DocumentHeaderElement } from "./doc-header-impl";
6
- import { BlockContainerRenderObject, ElementExportTypes, IRenderData, RenderObject } from "../../render-define";
6
+ import { BlockContainerRenderObject, IEditorVNodeOptions, IRenderData, RenderObject } from "../../render-define";
7
7
  import { DocumentFooterElement } from "./doc-footer-impl";
8
8
  import { CommsContainerElement } from "../comments/comments-container-impl";
9
9
  import { SelectionState } from "../../document-selection";
@@ -61,7 +61,9 @@ export declare class DocumentRenderObject extends BlockContainerRenderObject {
61
61
  y: number;
62
62
  }): void;
63
63
  clone(): RenderObject;
64
- export(type: ElementExportTypes): any;
64
+ private exportPageNumHTML;
65
+ exportHTML(event: IEditorVNodeOptions): any;
66
+ private exportPageCornerHTML;
65
67
  }
66
68
  export declare class DocumentFactory extends ElementFactory<DocumentProps> {
67
69
  match(type: string): boolean;