@hailin-zheng/editor-core 2.1.28 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. package/editor.css +19 -4
  2. package/index-cjs.d.ts +12 -12
  3. package/index-cjs.js +728 -1119
  4. package/index-cjs.js.map +1 -1
  5. package/index.d.ts +12 -12
  6. package/index.js +745 -1137
  7. package/index.js.map +1 -1
  8. package/med_editor/doc-editor.d.ts +10 -6
  9. package/med_editor/doc-rule.d.ts +1 -1
  10. package/med_editor/editor-core.d.ts +1 -1
  11. package/med_editor/framework/{document-eval-func.d.ts → code-interpreter/document-eval-func.d.ts} +1 -1
  12. package/med_editor/framework/{dynamic-execute.d.ts → code-interpreter/dynamic-execute.d.ts} +3 -3
  13. package/med_editor/framework/{document-arrange.d.ts → doc-layout/document-arrange.d.ts} +7 -12
  14. package/med_editor/framework/{paragraph-arrange.d.ts → doc-layout/paragraph-arrange.d.ts} +5 -5
  15. package/med_editor/framework/document-change.d.ts +1 -1
  16. package/med_editor/framework/document-context.d.ts +5 -12
  17. package/med_editor/framework/document-event.d.ts +3 -14
  18. package/med_editor/framework/document-input-cursor.d.ts +1 -1
  19. package/med_editor/framework/document-paginator.d.ts +1 -7
  20. package/med_editor/framework/document-svg.d.ts +12 -8
  21. package/med_editor/framework/element-define.d.ts +3 -9
  22. package/med_editor/framework/element-event-define.d.ts +2 -2
  23. package/med_editor/framework/element-props.d.ts +1 -2
  24. package/med_editor/framework/element-serialize.d.ts +1 -1
  25. package/med_editor/framework/{element-trace-manage.d.ts → history/element-trace-manage.d.ts} +3 -2
  26. package/med_editor/framework/{element-trace-tracking.d.ts → history/element-trace-tracking.d.ts} +2 -2
  27. package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +13 -0
  28. package/med_editor/framework/impl/document/doc-impl.d.ts +1 -11
  29. package/med_editor/framework/impl/index.d.ts +0 -1
  30. package/med_editor/framework/impl/table/table-split-cell.d.ts +1 -1
  31. package/med_editor/framework/impl/table/table-util.d.ts +1 -1
  32. package/med_editor/framework/impl/text/track-run-impl.d.ts +2 -2
  33. package/med_editor/framework/{document-print-offscreen.d.ts → print/document-print-offscreen.d.ts} +8 -8
  34. package/med_editor/framework/{document-print.d.ts → print/document-print.d.ts} +1 -1
  35. package/med_editor/framework/{document-selection.d.ts → selection/document-selection.d.ts} +5 -5
  36. package/med_editor/framework/{range-util.d.ts → selection/range-util.d.ts} +2 -2
  37. package/med_editor/framework/{selection-overlays.d.ts → selection/selection-overlays.d.ts} +1 -1
  38. package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -0
  39. package/med_editor/framework/{common-util.d.ts → util/common-util.d.ts} +2 -2
  40. package/med_editor/framework/{document-segmenter.d.ts → util/document-segmenter.d.ts} +1 -1
  41. package/med_editor/framework/{element-util.d.ts → util/element-util.d.ts} +13 -12
  42. package/med_editor/framework/{editor-calendar-vnode.d.ts → vnode/editor-calendar-vnode.d.ts} +4 -4
  43. package/package.json +2 -2
  44. package/controls/ButtonBase.d.ts +0 -10
  45. package/controls/Canvas.d.ts +0 -7
  46. package/controls/Config.d.ts +0 -12
  47. package/controls/FlexBox.d.ts +0 -81
  48. package/controls/Input.d.ts +0 -33
  49. package/controls/MedTimeLine/TimeAxis.d.ts +0 -21
  50. package/controls/MedTimeLine/TimeSlider.d.ts +0 -19
  51. package/controls/Menu.d.ts +0 -31
  52. package/controls/Node.d.ts +0 -232
  53. package/controls/NodeEvent.d.ts +0 -138
  54. package/controls/Rect.d.ts +0 -4
  55. package/controls/ScrollView.d.ts +0 -57
  56. package/controls/StackPanel.d.ts +0 -27
  57. package/controls/SurfaceView.d.ts +0 -44
  58. package/controls/Text.d.ts +0 -46
  59. package/controls/TextBase.d.ts +0 -19
  60. package/controls/ViewPaint.d.ts +0 -64
  61. package/controls/Window.d.ts +0 -27
  62. package/controls/WrapPanel.d.ts +0 -10
  63. package/controls/event-subject.d.ts +0 -42
  64. package/med_editor/framework/impl/comments/comments-util.d.ts +0 -5
  65. package/med_editor/rule-control.d.ts +0 -66
  66. package/timeline/TimeLineControl.d.ts +0 -47
  67. package/timeline/TimeValueGridControl.d.ts +0 -106
  68. package/timeline/TimelineConfig.d.ts +0 -68
  69. package/timeline/TimelineScrollbar.d.ts +0 -25
  70. package/timeline/TimelineStatus.d.ts +0 -61
  71. package/timeline/TimelineTick.d.ts +0 -63
  72. package/timeline/example.d.ts +0 -2
  73. /package/med_editor/framework/{ast-parser.d.ts → code-interpreter/ast-parser.d.ts} +0 -0
  74. /package/med_editor/framework/{event-subject.d.ts → infrastructure/event-subject.d.ts} +0 -0
  75. /package/med_editor/framework/{notify.d.ts → infrastructure/notify.d.ts} +0 -0
@@ -1,12 +1,12 @@
1
1
  import { ContentMenuItem } from './framework/element-event-define';
2
2
  import { ElementReader } from './framework/element-reader';
3
- import { SelectionState } from './framework/document-selection';
3
+ import { SelectionState } from './framework/selection/document-selection';
4
4
  import { BranchElement, Element, ICancelTokenFn, LeafElement, MarginProps, OrientType, PageLayoutMode, Position, Rect, SerializeProps, ViewOptions } from './framework/element-define';
5
5
  import { DataElementInlineGroup, DataElementLeaf, DocumentElement, ParagraphElement, TableCellElement, TableElement, TableRowElement } from './framework/impl';
6
6
  import { CellDiagonal, ParagraphNumberType, ParagraphProps, TextProps } from './framework/element-props';
7
7
  import { EditorContext } from './framework/document-context';
8
- import { ElementTrackManage } from './framework/element-trace-manage';
9
- import { Subject } from './framework/event-subject';
8
+ import { ElementTrackManage } from './framework/history/element-trace-manage';
9
+ import { Subject } from './framework/infrastructure/event-subject';
10
10
  import { init, VNode } from "snabbdom";
11
11
  import { IVNodeRenderFunc } from "./editor-core";
12
12
  import { DocRule } from "./doc-rule";
@@ -35,10 +35,8 @@ export declare class DocEditor {
35
35
  contentChanged: Subject<void>;
36
36
  onPatchVNodeSubject: Subject<void>;
37
37
  selectionState: SelectionState;
38
- onContextMenuItemChanged: Subject<EditorContextProps>;
39
38
  onDblClickEvent: Subject<Event>;
40
39
  onClickEvent: Subject<Event>;
41
- onScrollViewEvent: Subject<number>;
42
40
  onDocChangedEvent: Subject<void>;
43
41
  onBeforeRefreshDocument: Subject<void>;
44
42
  onDocViewSizeChanged: Subject<void>;
@@ -224,7 +222,7 @@ export declare class DocEditor {
224
222
  setParaStyle(newProps: Partial<ParagraphProps>): void;
225
223
  /**
226
224
  * 设置段落样式
227
- * @param newProps
225
+ * @param setterFunc
228
226
  */
229
227
  setParaStyleByFn(setterFunc: (paraProps: ParagraphProps) => void): void;
230
228
  combineCell(): void;
@@ -416,6 +414,11 @@ export declare class DocEditor {
416
414
  */
417
415
  private tipContainer;
418
416
  getVNode(): IVNodeRenderFunc;
417
+ /**
418
+ * 更新提示区域布局宽度,根据渲染的节点,判断是否需要设置提示区域宽度
419
+ * @private
420
+ */
421
+ private updateTipLayoutWidth;
419
422
  /**
420
423
  * 更新留痕提示框位置在文档渲染后
421
424
  * @private
@@ -443,6 +446,7 @@ export declare class DocEditor {
443
446
  getTextContent(): string;
444
447
  emit(event: string, args: any): void;
445
448
  createResizableElement(): VNode;
449
+ private readDocChangeLog;
446
450
  }
447
451
  export interface IReaderManager {
448
452
  }
@@ -1,4 +1,4 @@
1
- import { SelectionState } from "./framework/document-selection";
1
+ import { SelectionState } from "./framework/selection/document-selection";
2
2
  import { ViewOptions } from "./framework/element-define";
3
3
  import { EditorContext } from "./framework/document-context";
4
4
  import { IVNodeRenderFunc } from "./editor-core";
@@ -1,5 +1,5 @@
1
1
  import { EditorVNodeObject } from "./framework/render-define";
2
- import { SelectionState } from "./framework/document-selection";
2
+ import { SelectionState } from "./framework/selection/document-selection";
3
3
  export declare type EditorContext = {
4
4
  onChange: () => void;
5
5
  emit: (event: string, ...args: any[]) => void;
@@ -1,4 +1,4 @@
1
- import { EditorContext } from "./document-context";
1
+ import { EditorContext } from "../document-context";
2
2
  export declare class DocumentEvalFunc {
3
3
  docCtx: EditorContext;
4
4
  constructor(docCtx: EditorContext);
@@ -1,6 +1,6 @@
1
- import { BranchElement, Element, RefCtxValue } from "./element-define";
2
- import { SelectionState } from "./document-selection";
3
- import { DataCheckEleModel, DataInputEleModel, DataLeafEleModel, DocumentContext } from "./document-context";
1
+ import { BranchElement, Element, RefCtxValue } from "../element-define";
2
+ import { SelectionState } from "../selection/document-selection";
3
+ import { DataCheckEleModel, DataInputEleModel, DataLeafEleModel, DocumentContext } from "../document-context";
4
4
  export declare class DynamicExecute {
5
5
  doc: BranchElement;
6
6
  ss: SelectionState;
@@ -1,11 +1,11 @@
1
- import { Element, IBeginMeasureData, ViewOptions } from "./element-define";
2
- import { EditorContext } from "./document-context";
3
- import { RenderContextType } from "./render-context";
4
- import { DocumentRenderObject, ParagraphElement, TableCellRenderObject, TableRenderObject, TableRowRenderObject } from "./impl";
5
- import { BlockContentRenderObject, BranchRenderObject } from "./render-define";
6
- import { DynamicExecute } from "./dynamic-execute";
1
+ import { Element, IBeginMeasureData, ViewOptions } from "../element-define";
2
+ import { EditorContext } from "../document-context";
3
+ import { RenderContextType } from "../render-context";
4
+ import { DocumentRenderObject, ParagraphElement, TableCellRenderObject, TableRenderObject, TableRowRenderObject } from "../impl";
5
+ import { BlockContentRenderObject, BranchRenderObject } from "../render-define";
6
+ import { DynamicExecute } from "../code-interpreter/dynamic-execute";
7
7
  import { ParagraphMeasure } from "./paragraph-arrange";
8
- import { SelectionEffectObject } from "./element-props";
8
+ import { SelectionEffectObject } from "../element-props";
9
9
  export declare class DocumentArrange {
10
10
  docCtx: EditorContext;
11
11
  renderCtx: RenderContextType;
@@ -75,11 +75,6 @@ export declare class DocumentArrange {
75
75
  */
76
76
  generateCommRange(): void;
77
77
  cacheRenders(renderTree: BranchRenderObject): void;
78
- /**
79
- * 缓存批注标志
80
- * @private
81
- */
82
- private cacheCommsRender;
83
78
  endMeasures(ele: Element): void;
84
79
  createDefaultPara(): ParagraphElement;
85
80
  }
@@ -1,8 +1,8 @@
1
- import { LeafRenderObject, RenderObject } from "./render-define";
2
- import { FillNullSpaceRenderObject, ParagraphElement, ParagraphRenderObject, TextGroupRenderObject } from "./impl";
3
- import { Element, InlineGroupElement, LeafElement, ViewOptions } from "./element-define";
4
- import { RenderContextType } from "./render-context";
5
- import { DynamicExecute } from "./dynamic-execute";
1
+ import { LeafRenderObject, RenderObject } from "../render-define";
2
+ import { FillNullSpaceRenderObject, ParagraphElement, ParagraphRenderObject, TextGroupRenderObject } from "../impl";
3
+ import { Element, InlineGroupElement, LeafElement, ViewOptions } from "../element-define";
4
+ import { RenderContextType } from "../render-context";
5
+ import { DynamicExecute } from "../code-interpreter/dynamic-execute";
6
6
  export declare class ParagraphMeasure {
7
7
  options: ViewOptions;
8
8
  renderCtx: RenderContextType;
@@ -1,5 +1,5 @@
1
1
  import { DocumentInput, InputData } from "./document-input-cursor";
2
- import { SelectionState } from "./document-selection";
2
+ import { SelectionState } from "./selection/document-selection";
3
3
  import { Element, LeafElement, SelectionContentRange } from "./element-define";
4
4
  import { ParagraphElement, TableElement, TextGroupElement, TrackRunTypeEnum } from "./impl";
5
5
  import { ParagraphNumberType, ParagraphProps, TextProps } from "./element-props";
@@ -1,6 +1,6 @@
1
- import { DocumentEvalFunc } from "./document-eval-func";
2
- import { SelectionState } from "./document-selection";
3
- import { BranchElement, Element, ElementHandler, ImgLoadStatus, Rect, RefreshType, ViewOptions } from "./element-define";
1
+ import { DocumentEvalFunc } from "./code-interpreter/document-eval-func";
2
+ import { SelectionState } from "./selection/document-selection";
3
+ import { BranchElement, Element, ElementHandler, Rect, RefreshType, ViewOptions } from "./element-define";
4
4
  import { ElementEvent, EventTypes } from "./element-event-define";
5
5
  import { DataElementValueStruct } from "./element-serialize";
6
6
  import { DataElementCheck, DataElementInlineGroup, DataElementLeaf, DocumentElement, TrackRunElement, TrackRunTypeEnum } from "./impl";
@@ -18,9 +18,9 @@ export declare class EditorContext {
18
18
  dynamicFunc: DocumentEvalFunc;
19
19
  docChange: DocumentChange;
20
20
  clearPrevDocCb: (() => void) | null;
21
- paintedCallback: (() => void) | null;
21
+ nextViewFns: Array<() => void>;
22
22
  constructor(selectionState: SelectionState, viewOptions: ViewOptions);
23
- setPaintedCallback(cb: (() => void) | null): void;
23
+ onNextView(cb: (() => void) | null): void;
24
24
  get document(): DocumentElement;
25
25
  set document(value: DocumentElement);
26
26
  clear(): void;
@@ -47,13 +47,6 @@ export declare class EditorContext {
47
47
  replaceDataElement(oldDataElement: DataElementLeaf | DataElementInlineGroup, newElement: DataElementLeaf | DataElementInlineGroup, ss: SelectionState): void;
48
48
  get refreshType(): RefreshType | null;
49
49
  }
50
- export interface ImageSourceItem {
51
- src: string;
52
- task: Promise<void>;
53
- cbs: Array<(status: ImgLoadStatus) => void>;
54
- ele: HTMLImageElement;
55
- loadStatus: ImgLoadStatus;
56
- }
57
50
  /**
58
51
  * 文档上下文
59
52
  */
@@ -1,13 +1,12 @@
1
1
  import { DocumentPaginator } from "./document-paginator";
2
- import { SelectionState } from "./document-selection";
3
- import { Element, ICancelTokenFn, LeafElement, Position, Rect, ViewOptions } from "./element-define";
2
+ import { SelectionState } from "./selection/document-selection";
3
+ import { Element, LeafElement, Position, Rect, ViewOptions } from "./element-define";
4
4
  import { ElementEvent, EventStage, EventTypes, HitEventInfo, HitRegion, ITrackTips, MouseElementEvent } from "./element-event-define";
5
5
  import { DataElementInlineGroup, DataElementLeaf, DocumentRenderObject } from "./impl";
6
6
  import { BorderType, CursorType, RenderObject } from "./render-define";
7
7
  import { EditorContext } from "./document-context";
8
- import { Subject, Subscription } from "./event-subject";
8
+ import { Subject, Subscription } from "./infrastructure/event-subject";
9
9
  import { DocumentInput } from "./document-input-cursor";
10
- import { NodeCore } from "../../controls/Node";
11
10
  interface EdgeRenderInfo {
12
11
  renderElement: Element;
13
12
  relativePos: Position;
@@ -243,16 +242,6 @@ export declare class DocumentEvent {
243
242
  */
244
243
  getHitRegion(docEvent: MouseElementEvent): HitRegion | null;
245
244
  private onKeydown;
246
- /**
247
- * 开启打印区域
248
- */
249
- startPrintArea(editor: NodeCore): ICancelTokenFn;
250
- clicks: number;
251
- timeout: any;
252
- /**
253
- * 处理三击事件
254
- */
255
- handleTripleClick(): void;
256
245
  /**
257
246
  * 获取当前光标所在的数据元
258
247
  * @returns
@@ -1,6 +1,6 @@
1
1
  import { LeafElement } from "./element-define";
2
2
  import { EditorContext } from "./document-context";
3
- import { Subject } from "./event-subject";
3
+ import { Subject } from "./infrastructure/event-subject";
4
4
  export interface ICompositionStartInfo {
5
5
  element: LeafElement;
6
6
  offset: number;
@@ -1,6 +1,5 @@
1
- import { DocumentRenderObject } from "./impl";
1
+ import { DocumentContainerRender, DocumentRenderObject } from "./impl";
2
2
  import { RenderContextType } from "./render-context";
3
- import { DocumentContainerRender } from "./impl";
4
3
  import { EditorContext } from "./document-context";
5
4
  import { SelectionEffectObject } from "./element-props";
6
5
  /**
@@ -17,7 +16,6 @@ export declare class DocumentPaginator {
17
16
  rePages(): void;
18
17
  /**
19
18
  * 文档页面显示布局
20
- * @param pages
21
19
  */
22
20
  layoutPages(): void;
23
21
  /**
@@ -40,8 +38,4 @@ export declare class DocumentPaginator {
40
38
  };
41
39
  getDocPages(): Array<DocumentRenderObject>;
42
40
  getDocContainer(): DocumentContainerRender;
43
- /***
44
- * 设置审阅区间样式痕迹
45
- */
46
- private setCommRangeMark;
47
41
  }
@@ -1,6 +1,6 @@
1
- import { Position, Rect, ViewOptions } from "./element-define";
1
+ import { Position, ViewOptions } from "./element-define";
2
2
  import { DocumentRenderObject } from "./impl";
3
- import { EditorVNodeObject, RenderObject } from "./render-define";
3
+ import { EditorVNodeObject } from "./render-define";
4
4
  import { RenderContext } from "./render-context";
5
5
  import { SelectionEffectObject } from "./element-props";
6
6
  export declare class DocumentSvg {
@@ -11,8 +11,8 @@ export declare class DocumentSvg {
11
11
  mode: 'view' | 'print';
12
12
  pagePos: Position;
13
13
  constructor(viewOptions: ViewOptions, sso: SelectionEffectObject, renderCtx: RenderContext);
14
- getVNode(render: RenderObject, selectionRects: Array<SelectionMaskRect>, parentPos: Position): EditorVNodeObject | Array<EditorVNodeObject> | null | string;
15
- createSelectionRect(render: RenderObject, selectionRects: Array<SelectionMaskRect>, currPos: Rect): void;
14
+ private getVNode;
15
+ private createSelectionRect;
16
16
  getHTMLVNode(docRenders: Array<DocumentRenderObject>): Array<EditorVNodeObject>;
17
17
  /**
18
18
  * 判断当前元素是否在视窗内
@@ -25,8 +25,12 @@ export declare class DocumentSvg {
25
25
  getCounter(key: string): number;
26
26
  changeTips: Array<EditorVNodeObject>;
27
27
  addChangeTips(tipVNode: EditorVNodeObject): void;
28
+ /**
29
+ * 合并段落行选区
30
+ * @param parentMaskRect
31
+ * @param currMaskRect
32
+ * @param currPos
33
+ * @private
34
+ */
35
+ private combineParaLineSelection;
28
36
  }
29
- interface SelectionMaskRect extends Rect {
30
- color?: string;
31
- }
32
- export {};
@@ -1,7 +1,7 @@
1
1
  import { ElementEvent, EventTypes } from "./element-event-define";
2
2
  import { RenderContextType } from "./render-context";
3
3
  import { CursorType, LeafRenderObject, RenderObject } from "./render-define";
4
- import { Subject, Subscription } from "./event-subject";
4
+ import { Subject, Subscription } from "./infrastructure/event-subject";
5
5
  export declare class Rect {
6
6
  x: number;
7
7
  y: number;
@@ -135,8 +135,8 @@ export declare abstract class BranchElement<P extends object = any> extends Elem
135
135
  getChildIndex(child: Element): number;
136
136
  getChildLength(): number;
137
137
  getSelfLength(pure: boolean): number;
138
- treeFilter(predicate: (item: Element, index: number) => boolean): Array<Element>;
139
- treeFind(predicate: (item: Element, index: number) => boolean): Element | null;
138
+ treeFilter(predicate: (item: Element) => boolean): Array<Element>;
139
+ treeFind(predicate: (item: Element) => boolean): Element | null;
140
140
  pubOnChange(selfChange: pubChangeType): void;
141
141
  }
142
142
  export declare function clearChildrenRenderCache(ele: BranchElement): void;
@@ -300,13 +300,7 @@ export declare class ViewOptions {
300
300
  pageLayoutMode: PageLayoutMode;
301
301
  defaultIndent: number;
302
302
  get contentWidth(): number;
303
- /**
304
- * 内容区域的高度
305
- * 同时限定canvas的最小宽度
306
- */
307
- get ContentWidth(): number;
308
303
  docSpace: number;
309
- showReviewWindow: boolean;
310
304
  reviewWindowWidth: number;
311
305
  private _scale;
312
306
  get scale(): number;
@@ -1,7 +1,7 @@
1
1
  import { Element, LeafElement, Rect } from "./element-define";
2
2
  import { LeafRenderObject, RenderObject } from "./render-define";
3
3
  import { EditorContext } from "./document-context";
4
- import { TrackRunTypeEnum } from "./impl/text/track-run-impl";
4
+ import { type TrackRunTypeEnum } from "./impl";
5
5
  export declare type EventStage = 'All' | 'Capture' | 'Bubbling';
6
6
  export declare type EventTypes = 'ElementMousedown' | 'ElementMousemove' | 'ElementClick' | 'ElementDblClick' | 'ElementMouseEnter' | 'ElementMouseLeave' | 'BackspaceKey' | 'DeleteKey' | 'ElementShown' | 'ElementContextMenu' | 'GotCursor' | 'LostCursor' | 'ElementKeyDown' | 'ElementDrop' | 'ElementTabKey' | 'GetTrackTips' | 'ElementInput' | 'ElementCopy' | 'ElementPaste';
7
7
  export declare type HitRegion = 'header' | 'body' | 'footer' | 'review';
@@ -41,7 +41,7 @@ export declare class ElementEvent {
41
41
  shift: boolean;
42
42
  ctrl: boolean;
43
43
  buttons: number;
44
- get selectionState(): import("./document-selection").SelectionState;
44
+ get selectionState(): import("./selection/document-selection").SelectionState;
45
45
  }
46
46
  export interface MenuListener {
47
47
  [listener: string]: <T extends Event>(evt: T) => void;
@@ -1,5 +1,5 @@
1
1
  import { Element, NullableType, OrientType, PaddingProps, SelectionContentRange, TextAlign, ViewOptions } from "./element-define";
2
- import { TrackRunTypeEnum } from "./impl/text/track-run-impl";
2
+ import { type TrackRunTypeEnum } from "./impl";
3
3
  export declare type TextVertAlign = 'superscript' | 'subscript';
4
4
  export declare abstract class INotifyPropertyChanged {
5
5
  abstract getSerializeProps(viewOptions: ViewOptions): any;
@@ -169,7 +169,6 @@ export declare class DataEleBaseProps extends INotifyPropertyChanged {
169
169
  printable: boolean;
170
170
  secretBrowse: boolean;
171
171
  editable: boolean;
172
- deleteable: boolean;
173
172
  minLength: number;
174
173
  underline: boolean;
175
174
  expression: string;
@@ -1,4 +1,4 @@
1
- import { SelectionState } from "./document-selection";
1
+ import { SelectionState } from "./selection/document-selection";
2
2
  import { BranchElement, Element, SerializeProps, ViewOptions } from "./element-define";
3
3
  export declare class ElementSerialize {
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { EditorContext } from './document-context';
2
- import { Element } from './element-define';
1
+ import { EditorContext } from '../document-context';
2
+ import { Element } from '../element-define';
3
3
  import { DeleteEleOpsDelta, DeleteTextOpsDelta, FormatOpsDelta, InsertOpsDelta, InsertTextOpsDelta, opsTrackModel } from './element-trace-tracking';
4
4
  declare type HistoryCommand = 'undo' | 'redo';
5
5
  declare type HistoryChanges = {
@@ -95,6 +95,7 @@ export declare class ElementTrackManage {
95
95
  */
96
96
  updateProps(currProps: object, newProps: object): void;
97
97
  getControl<T extends Element>(index: number, pure?: boolean): T;
98
+ getControlIndex(control: Element): number;
98
99
  }
99
100
  interface SelectionLog {
100
101
  startIndex: number;
@@ -1,4 +1,4 @@
1
- import { Element } from "./element-define";
1
+ import { Element } from "../element-define";
2
2
  /**
3
3
  * 插入元素
4
4
  */
@@ -81,7 +81,7 @@ export declare function formatEle(ele: Element, props: object): void;
81
81
  * @param newValue
82
82
  */
83
83
  export declare function logUpdateEleProps(ele: Element, p: string | symbol | number, oldValue: any, newValue: any): void;
84
- export declare function generatePatch(doc: Element): Array<opsTrackModel>;
84
+ export declare function generatePatch(doc: Element, clear?: boolean): Array<opsTrackModel>;
85
85
  /**
86
86
  * 清除变更的数据
87
87
  */
@@ -80,4 +80,17 @@ export declare function IsInSideInlineGroupInputElement(control: LeafElement, of
80
80
  export declare abstract class DataElementBaseFactory<T = null> extends ElementFactory<T> {
81
81
  readCompleted(ele: Element, children: Array<Element>): void;
82
82
  }
83
+ /**
84
+ * 渲染数据元背景修饰
85
+ * @param event
86
+ * @param r
87
+ */
83
88
  export declare function exportDecoratorHTML(event: IEditorVNodeOptions, r: InlineGroupRenderObject): any;
89
+ /**
90
+ * 渲染数据源验证错误提示框
91
+ */
92
+ export declare function renderErrorTip(event: IEditorVNodeOptions, r: InlineGroupRenderObject): void;
93
+ /**
94
+ * 渲染底部波浪线
95
+ */
96
+ export declare function renderUnderWavyLine(event: IEditorVNodeOptions, r: InlineGroupRenderObject, color: string): void;
@@ -4,7 +4,7 @@ import { DocumentBodyElement } from "./doc-body-impl";
4
4
  import { DocumentHeaderElement } from "./doc-header-impl";
5
5
  import { BlockContainerRenderObject, IEditorVNodeOptions, RenderObject } from "../../render-define";
6
6
  import { DocumentFooterElement } from "./doc-footer-impl";
7
- import { SelectionState } from "../../document-selection";
7
+ import { SelectionState } from "../../selection/document-selection";
8
8
  import { CommentElement } from "../comments/comment-element-impl";
9
9
  export declare class DocumentElement extends BlockContainerElement<DocumentProps> {
10
10
  viewOptions: ViewOptions;
@@ -59,16 +59,6 @@ export declare class DocumentRenderObject extends BlockContainerRenderObject {
59
59
  * 绘制版权信息
60
60
  */
61
61
  private drawCopyRight;
62
- /**
63
- * 绘制文档边距线
64
- */
65
- private drawMarginLine;
66
- /**
67
- * 绘制水印
68
- * @param ctx
69
- * @param position
70
- */
71
- private drawWatermark;
72
62
  clone(): RenderObject;
73
63
  private exportPageNumHTML;
74
64
  exportSVG(event: IEditorVNodeOptions): any;
@@ -1,6 +1,5 @@
1
1
  export * from './checkbox/checkbox-impl';
2
2
  export * from './comments/comment-content-impl';
3
- export * from './comments/comments-util';
4
3
  export * from './comments/comment-element-impl';
5
4
  export * from './comments/comments-container-impl';
6
5
  export * from './comments/validate-msg-impl';
@@ -1,4 +1,4 @@
1
- import { SelectionState } from "../../document-selection";
1
+ import { SelectionState } from "../../selection/document-selection";
2
2
  /**
3
3
  * 拆分单元格
4
4
  * 蜀道难,难于上青天;拆分单元格,头发秃,精神衰,眼睛昏,身体废。
@@ -1,4 +1,4 @@
1
- import { SelectionState } from "../../document-selection";
1
+ import { SelectionState } from "../../selection/document-selection";
2
2
  import { Element } from "../../element-define";
3
3
  import { TableCellElement } from "./table-cell-impl";
4
4
  import { TableElement } from "./table-impl";
@@ -1,4 +1,4 @@
1
- import { InlineGroupElement, SerializeProps, ViewOptions, Element, ElementFactory, readElementProps, ICreateRenderData } from "../../element-define";
1
+ import { Element, ElementFactory, ICreateRenderData, InlineGroupElement, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
2
2
  import { IEditorVNodeOptions, InlineGroupRenderObject, RenderObject } from "../../render-define";
3
3
  import { TrackRunProps } from "../../element-props";
4
4
  export declare enum TrackRunTypeEnum {
@@ -17,7 +17,7 @@ export declare class TrackRunElement extends InlineGroupElement<TrackRunProps> {
17
17
  export declare class TrackRunRenderObject extends InlineGroupRenderObject<TrackRunElement> {
18
18
  constructor(ele: TrackRunElement);
19
19
  exportSVG(event: IEditorVNodeOptions): any;
20
- private createChangeTips;
20
+ private createModifyTips;
21
21
  clone(): RenderObject;
22
22
  }
23
23
  export declare class RunElementFactory extends ElementFactory<TrackRunProps> {
@@ -1,11 +1,11 @@
1
- import { EditorContext } from "./document-context";
2
- import { DocumentPaginator } from "./document-paginator";
3
- import { ViewOptions } from "./element-define";
4
- import { ElementReader } from "./element-reader";
5
- import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
6
- import { IRenderContextContract, RenderContext } from "./render-context";
7
- import { Subject } from "./event-subject";
8
- import { EditorVNodeObject } from "./render-define";
1
+ import { EditorContext } from "../document-context";
2
+ import { DocumentPaginator } from "../document-paginator";
3
+ import { ViewOptions } from "../element-define";
4
+ import { ElementReader } from "../element-reader";
5
+ import { DocumentElement, DocumentRenderObject } from "../impl/document/doc-impl";
6
+ import { IRenderContextContract, RenderContext } from "../render-context";
7
+ import { Subject } from "../infrastructure/event-subject";
8
+ import { EditorVNodeObject } from "../render-define";
9
9
  interface IAfterRenderEvent {
10
10
  index: number;
11
11
  renderCtx: IRenderContextContract;
@@ -1,4 +1,4 @@
1
- import { OrientType } from "./element-define";
1
+ import { OrientType } from "../element-define";
2
2
  export declare function createPrintTemplate({ width, height, orient }: PrintPaperOptions): string;
3
3
  declare type PrintPaperOptions = {
4
4
  width: number;
@@ -1,8 +1,8 @@
1
- import { BranchElement, Element, LeafElement, Rect, SelectionContentRange } from "./element-define";
2
- import { HitEventInfo, HitRegion } from "./element-event-define";
3
- import { DocumentContainerRender } from "./impl/document/doc-container-impl";
4
- import { RenderObject } from "./render-define";
5
- import { Subject } from "./event-subject";
1
+ import { BranchElement, Element, LeafElement, Rect, SelectionContentRange } from "../element-define";
2
+ import { HitEventInfo, HitRegion } from "../element-event-define";
3
+ import { DocumentContainerRender } from "../impl/document/doc-container-impl";
4
+ import { RenderObject } from "../render-define";
5
+ import { Subject } from "../infrastructure/event-subject";
6
6
  export declare class DocumentSelection {
7
7
  constructor();
8
8
  selectionState: SelectionState;
@@ -1,5 +1,5 @@
1
- import { BranchElement, Element, LeafElement, SelectionContentRange } from "./element-define";
2
- import { TableElement } from "./impl/table/table-impl";
1
+ import { BranchElement, Element, LeafElement, SelectionContentRange } from "../element-define";
2
+ import { TableElement } from "../impl/table/table-impl";
3
3
  export declare class RangeUtil {
4
4
  static getSectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
5
5
  static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
@@ -1,5 +1,5 @@
1
1
  import { SelectionState } from "./document-selection";
2
- import { Element, SelectionContentRange } from "./element-define";
2
+ import { Element, SelectionContentRange } from "../element-define";
3
3
  /**
4
4
  * 用于处理选区拖蓝
5
5
  */
@@ -0,0 +1,12 @@
1
+ interface Viewport {
2
+ x: number;
3
+ y: number;
4
+ width: number;
5
+ height: number;
6
+ scale: number;
7
+ }
8
+ /**
9
+ * 调整页面提示框位置,使其在视窗内的位置合理
10
+ */
11
+ export declare function adjustViewportElements(tipContainer: any, viewPort: Viewport): void;
12
+ export {};
@@ -1,5 +1,5 @@
1
- import { Rect } from "./element-define";
2
- import { BorderType } from "./render-define";
1
+ import { Rect } from "../element-define";
2
+ import { BorderType } from "../render-define";
3
3
  interface Position {
4
4
  x: number;
5
5
  y: number;
@@ -1,2 +1,2 @@
1
- import { SelectionState } from "./document-selection";
1
+ import { SelectionState } from "../selection/document-selection";
2
2
  export declare function getFocusTextSegment(selection: SelectionState): boolean;
@@ -1,15 +1,15 @@
1
- import { EditorContext } from "./document-context";
2
- import { BranchElement, Element, LeafElement, Position, Rect, SelectionContentRange, ViewOptions } from "./element-define";
3
- import { HitRegion } from "./element-event-define";
4
- import { DataEleBaseProps, TextProps } from "./element-props";
5
- import { DataElementInlineGroup } from "./impl/data-element/data-element-base-impl";
6
- import { ParagraphElement, ParagraphLineRectRenderObject } from "./impl/paragraph/p-impl";
7
- import { TableCellRenderObject } from "./impl/table/table-cell-impl";
8
- import { TableElement, TableRenderObject } from "./impl/table/table-impl";
9
- import { TableRowRenderObject } from "./impl/table/table-row-impl";
10
- import { TextGroupElement, TextGroupRenderObject } from "./impl/text/text-impl";
11
- import { TrackRunElement, TrackRunTypeEnum } from "./impl/text/track-run-impl";
12
- import { BlockContainerRenderObject, BlockContentRenderObject, BorderType, BranchRenderObject, CursorType, InlineGroupRenderObject, LeafRenderObject, RenderObject } from "./render-define";
1
+ import { EditorContext } from "../document-context";
2
+ import { BranchElement, Element, LeafElement, Position, Rect, SelectionContentRange, ViewOptions } from "../element-define";
3
+ import { HitRegion } from "../element-event-define";
4
+ import { DataEleBaseProps, TextProps } from "../element-props";
5
+ import { DataElementInlineGroup } from "../impl/data-element/data-element-base-impl";
6
+ import { ParagraphElement, ParagraphLineRectRenderObject } from "../impl/paragraph/p-impl";
7
+ import { TableCellRenderObject } from "../impl/table/table-cell-impl";
8
+ import { TableElement, TableRenderObject } from "../impl/table/table-impl";
9
+ import { TableRowRenderObject } from "../impl/table/table-row-impl";
10
+ import { TextGroupElement, TextGroupRenderObject } from "../impl/text/text-impl";
11
+ import { TrackRunElement, TrackRunTypeEnum } from "../impl/text/track-run-impl";
12
+ import { BlockContainerRenderObject, BlockContentRenderObject, BorderType, BranchRenderObject, CursorType, InlineGroupRenderObject, LeafRenderObject, RenderObject } from "../render-define";
13
13
  declare type PAIR = {
14
14
  x: number;
15
15
  y: number;
@@ -405,5 +405,6 @@ export declare class ElementUtil {
405
405
  static setEleAttribute(ele: Element, attr: string, value: any): void;
406
406
  static getEleAttribute(ele: Element, attr: string): any;
407
407
  static removeEleAttribute(ele: Element, attr: string): void;
408
+ static getMatchItems(item: Element, predicate: (item: Element) => boolean): Element<any>[];
408
409
  }
409
410
  export {};
@@ -1,7 +1,7 @@
1
- import { EditorVNodeObject } from "./render-define";
2
- import { Subject } from "./event-subject";
3
- import { ISignal } from "../editor-core";
4
- import { Rect, ViewOptions } from "./element-define";
1
+ import { EditorVNodeObject } from "../render-define";
2
+ import { Subject } from "../infrastructure/event-subject";
3
+ import { ISignal } from "../../editor-core";
4
+ import { Rect, ViewOptions } from "../element-define";
5
5
  /**
6
6
  * 渲染日历虚拟节点处理类
7
7
  */