@hailin-zheng/editor-core 2.1.28 → 2.2.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 (74) hide show
  1. package/editor.css +17 -3
  2. package/index-cjs.d.ts +12 -12
  3. package/index-cjs.js +574 -1074
  4. package/index-cjs.js.map +1 -1
  5. package/index.d.ts +12 -12
  6. package/index.js +594 -1093
  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 -1
  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/document/doc-impl.d.ts +1 -11
  28. package/med_editor/framework/impl/index.d.ts +0 -1
  29. package/med_editor/framework/impl/table/table-split-cell.d.ts +1 -1
  30. package/med_editor/framework/impl/table/table-util.d.ts +1 -1
  31. package/med_editor/framework/impl/text/track-run-impl.d.ts +2 -2
  32. package/med_editor/framework/{document-print-offscreen.d.ts → print/document-print-offscreen.d.ts} +8 -8
  33. package/med_editor/framework/{document-print.d.ts → print/document-print.d.ts} +1 -1
  34. package/med_editor/framework/{document-selection.d.ts → selection/document-selection.d.ts} +5 -5
  35. package/med_editor/framework/{range-util.d.ts → selection/range-util.d.ts} +2 -2
  36. package/med_editor/framework/{selection-overlays.d.ts → selection/selection-overlays.d.ts} +1 -1
  37. package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -0
  38. package/med_editor/framework/{common-util.d.ts → util/common-util.d.ts} +2 -2
  39. package/med_editor/framework/{document-segmenter.d.ts → util/document-segmenter.d.ts} +1 -1
  40. package/med_editor/framework/{element-util.d.ts → util/element-util.d.ts} +13 -12
  41. package/med_editor/framework/{editor-calendar-vnode.d.ts → vnode/editor-calendar-vnode.d.ts} +4 -4
  42. package/package.json +2 -2
  43. package/controls/ButtonBase.d.ts +0 -10
  44. package/controls/Canvas.d.ts +0 -7
  45. package/controls/Config.d.ts +0 -12
  46. package/controls/FlexBox.d.ts +0 -81
  47. package/controls/Input.d.ts +0 -33
  48. package/controls/MedTimeLine/TimeAxis.d.ts +0 -21
  49. package/controls/MedTimeLine/TimeSlider.d.ts +0 -19
  50. package/controls/Menu.d.ts +0 -31
  51. package/controls/Node.d.ts +0 -232
  52. package/controls/NodeEvent.d.ts +0 -138
  53. package/controls/Rect.d.ts +0 -4
  54. package/controls/ScrollView.d.ts +0 -57
  55. package/controls/StackPanel.d.ts +0 -27
  56. package/controls/SurfaceView.d.ts +0 -44
  57. package/controls/Text.d.ts +0 -46
  58. package/controls/TextBase.d.ts +0 -19
  59. package/controls/ViewPaint.d.ts +0 -64
  60. package/controls/Window.d.ts +0 -27
  61. package/controls/WrapPanel.d.ts +0 -10
  62. package/controls/event-subject.d.ts +0 -42
  63. package/med_editor/framework/impl/comments/comments-util.d.ts +0 -5
  64. package/med_editor/rule-control.d.ts +0 -66
  65. package/timeline/TimeLineControl.d.ts +0 -47
  66. package/timeline/TimeValueGridControl.d.ts +0 -106
  67. package/timeline/TimelineConfig.d.ts +0 -68
  68. package/timeline/TimelineScrollbar.d.ts +0 -25
  69. package/timeline/TimelineStatus.d.ts +0 -61
  70. package/timeline/TimelineTick.d.ts +0 -63
  71. package/timeline/example.d.ts +0 -2
  72. /package/med_editor/framework/{ast-parser.d.ts → code-interpreter/ast-parser.d.ts} +0 -0
  73. /package/med_editor/framework/{event-subject.d.ts → infrastructure/event-subject.d.ts} +0 -0
  74. /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
+ nextViewFn: (() => void) | null;
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;
@@ -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
  */
@@ -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
  */
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": "hailin-zheng",
5
5
  "private": false,
6
6
  "license": "ISC",
7
- "version": "2.1.28",
7
+ "version": "2.2.0",
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "moment": "^2.29.3",
@@ -16,4 +16,4 @@
16
16
  "snabbdom-to-html": "^7.1.0",
17
17
  "jsbarcode": "^3.11.5"
18
18
  }
19
- }
19
+ }
@@ -1,10 +0,0 @@
1
- import { IMeasureEvent, IRenderData, Size } from "./Node";
2
- import { TextBase } from "./TextBase";
3
- export declare class ButtonBase extends TextBase {
4
- constructor();
5
- render(e: IRenderData): void;
6
- }
7
- export declare class Button extends ButtonBase {
8
- measureOverride(e: IMeasureEvent, availableSize: Size): Size;
9
- render(e: IRenderData): void;
10
- }
@@ -1,7 +0,0 @@
1
- import { AbsolutePanel, IRenderData } from "./Node";
2
- /**
3
- * 采用绝对布局系统的容器
4
- */
5
- export declare class Canvas extends AbsolutePanel {
6
- render(e: IRenderData): void;
7
- }