@hailin-zheng/editor-core 2.2.41 → 2.2.43

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 (95) hide show
  1. package/editor.css +679 -638
  2. package/index-cjs.d.ts +32 -32
  3. package/index-cjs.js +24462 -24340
  4. package/index-cjs.js.map +1 -1
  5. package/index.d.ts +32 -32
  6. package/index.js +24462 -24340
  7. package/index.js.map +1 -1
  8. package/med_editor/doc-editor.d.ts +547 -546
  9. package/med_editor/doc-rule.d.ts +174 -174
  10. package/med_editor/editor-core.d.ts +18 -18
  11. package/med_editor/framework/code-interpreter/ast-parser.d.ts +4 -4
  12. package/med_editor/framework/code-interpreter/document-eval-func.d.ts +18 -18
  13. package/med_editor/framework/code-interpreter/dynamic-execute.d.ts +42 -42
  14. package/med_editor/framework/doc-layout/document-arrange.d.ts +95 -95
  15. package/med_editor/framework/doc-layout/paragraph-arrange.d.ts +110 -110
  16. package/med_editor/framework/document-change.d.ts +346 -346
  17. package/med_editor/framework/document-combine.d.ts +24 -24
  18. package/med_editor/framework/document-comment.d.ts +38 -38
  19. package/med_editor/framework/document-context.d.ts +162 -162
  20. package/med_editor/framework/document-event.d.ts +261 -261
  21. package/med_editor/framework/document-input-cursor.d.ts +32 -32
  22. package/med_editor/framework/document-paginator.d.ts +46 -46
  23. package/med_editor/framework/document-svg.d.ts +36 -36
  24. package/med_editor/framework/document-template.d.ts +13 -13
  25. package/med_editor/framework/document-textline-mode.d.ts +6 -6
  26. package/med_editor/framework/element-define.d.ts +440 -440
  27. package/med_editor/framework/element-event-define.d.ts +102 -102
  28. package/med_editor/framework/element-props.d.ts +344 -344
  29. package/med_editor/framework/element-reader.d.ts +20 -20
  30. package/med_editor/framework/element-serialize.d.ts +39 -39
  31. package/med_editor/framework/element-type-handler.d.ts +8 -8
  32. package/med_editor/framework/history/element-trace-manage.d.ts +107 -107
  33. package/med_editor/framework/history/element-trace-tracking.d.ts +89 -89
  34. package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +19 -19
  35. package/med_editor/framework/impl/comments/comment-content-impl.d.ts +39 -39
  36. package/med_editor/framework/impl/comments/comment-element-impl.d.ts +24 -24
  37. package/med_editor/framework/impl/comments/comments-container-impl.d.ts +19 -19
  38. package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +19 -19
  39. package/med_editor/framework/impl/data-element/data-container-impl.d.ts +25 -25
  40. package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +16 -16
  41. package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +32 -32
  42. package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +122 -122
  43. package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +26 -26
  44. package/med_editor/framework/impl/data-element/data-element-date-impl.d.ts +23 -23
  45. package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +28 -28
  46. package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +23 -23
  47. package/med_editor/framework/impl/data-element/data-element-list-impl.d.ts +21 -21
  48. package/med_editor/framework/impl/data-element/data-element-text-impl.d.ts +22 -22
  49. package/med_editor/framework/impl/data-element/qrcode.d.ts +93 -93
  50. package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +16 -16
  51. package/med_editor/framework/impl/document/doc-body-impl.d.ts +19 -19
  52. package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +22 -22
  53. package/med_editor/framework/impl/document/doc-container-impl.d.ts +7 -7
  54. package/med_editor/framework/impl/document/doc-footer-impl.d.ts +19 -19
  55. package/med_editor/framework/impl/document/doc-header-impl.d.ts +19 -19
  56. package/med_editor/framework/impl/document/doc-impl.d.ts +85 -85
  57. package/med_editor/framework/impl/index.d.ts +41 -41
  58. package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +31 -31
  59. package/med_editor/framework/impl/media-formula/permanent-teeth.d.ts +34 -34
  60. package/med_editor/framework/impl/paragraph/p-impl.d.ts +38 -38
  61. package/med_editor/framework/impl/picture/RectEle.d.ts +44 -44
  62. package/med_editor/framework/impl/picture/image-impl.d.ts +24 -24
  63. package/med_editor/framework/impl/radio/radio-impl.d.ts +17 -17
  64. package/med_editor/framework/impl/shape/line-impl.d.ts +31 -31
  65. package/med_editor/framework/impl/svg/svg-impl.d.ts +20 -20
  66. package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +18 -18
  67. package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +16 -16
  68. package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +20 -20
  69. package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +15 -15
  70. package/med_editor/framework/impl/table/table-cell-impl.d.ts +34 -34
  71. package/med_editor/framework/impl/table/table-impl.d.ts +49 -49
  72. package/med_editor/framework/impl/table/table-row-impl.d.ts +27 -27
  73. package/med_editor/framework/impl/table/table-split-cell-patch.d.ts +20 -20
  74. package/med_editor/framework/impl/table/table-split-cell.d.ts +93 -93
  75. package/med_editor/framework/impl/table/table-util.d.ts +180 -180
  76. package/med_editor/framework/impl/text/text-impl.d.ts +34 -34
  77. package/med_editor/framework/impl/text/track-run-impl.d.ts +27 -27
  78. package/med_editor/framework/infrastructure/event-subject.d.ts +57 -57
  79. package/med_editor/framework/infrastructure/notify.d.ts +13 -13
  80. package/med_editor/framework/print/document-print-offscreen.d.ts +59 -59
  81. package/med_editor/framework/print/document-print.d.ts +19 -19
  82. package/med_editor/framework/render-context.d.ts +111 -111
  83. package/med_editor/framework/render-define.d.ts +169 -169
  84. package/med_editor/framework/search/search-panel.d.ts +31 -31
  85. package/med_editor/framework/selection/document-selection.d.ts +92 -92
  86. package/med_editor/framework/selection/range-util.d.ts +36 -36
  87. package/med_editor/framework/selection/selection-overlays.d.ts +36 -36
  88. package/med_editor/framework/suggestions/input-suggestions.d.ts +29 -29
  89. package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -12
  90. package/med_editor/framework/util/common-util.d.ts +78 -77
  91. package/med_editor/framework/util/document-segmenter.d.ts +2 -2
  92. package/med_editor/framework/util/element-util.d.ts +417 -417
  93. package/med_editor/framework/vnode/editor-calendar-vnode.d.ts +44 -44
  94. package/med_editor/framework/vnode/editor-list-vnode.d.ts +18 -0
  95. package/package.json +18 -18
@@ -1,169 +1,169 @@
1
- import { Rect, Element, MarginProps, PaddingProps, Position, ViewOptions, BranchElement } from './element-define';
2
- import { RenderContext, RenderContextType } from './render-context';
3
- import { EditorContext } from "./document-context";
4
- /**
5
- * 定义组件的UI形式的渲染
6
- */
7
- export declare abstract class RenderObject<T extends Element = Element> {
8
- element: T;
9
- rect: Rect;
10
- parent: BranchRenderObject;
11
- /**
12
- * 可点击性,例如:null-text 占位符元素不具备可点击能力
13
- */
14
- disableClick: boolean;
15
- constructor(element: T);
16
- abstract clone(): RenderObject;
17
- destroy(): void;
18
- getIndex(): number;
19
- exportSVG(event: IEditorVNodeOptions): any;
20
- }
21
- export declare type IHLNode = {
22
- sel: string;
23
- data?: {
24
- ns?: string;
25
- attrs?: {
26
- [key: string]: any;
27
- };
28
- };
29
- text?: string;
30
- children?: Array<IHLNode>;
31
- };
32
- export declare const NS = "http://www.w3.org/2000/svg";
33
- export declare function HLNode(sel: string, attrs: object | undefined, child?: Array<IHLNode> | string): IHLNode;
34
- export declare type ElementExportTypes = 'svg';
35
- /**
36
- * 叶子节点渲染元素
37
- */
38
- export declare abstract class LeafRenderObject<T extends Element = Element> extends RenderObject<T> {
39
- constructor(element: T | null);
40
- }
41
- /**
42
- * 枝干节点渲染元素
43
- */
44
- export declare abstract class BranchRenderObject<T extends Element = Element> extends RenderObject<T> {
45
- t: number;
46
- constructor(element: T | null);
47
- private children;
48
- getItems<T extends RenderObject = RenderObject>(): Array<T>;
49
- addChild(...items: Array<RenderObject>): void;
50
- insertChild(item: RenderObject, index: number): void;
51
- removeChild(child: RenderObject): void;
52
- removeChildByIndex(index: number): void;
53
- clear(): void;
54
- get length(): number;
55
- getChild<T extends RenderObject = RenderObject>(index: number): T;
56
- getChildIndex(child: RenderObject): number;
57
- destroy(): void;
58
- }
59
- export interface IRenderData {
60
- render: RenderContextType;
61
- position: Position;
62
- docCtx: EditorContext;
63
- nextRender: () => void;
64
- }
65
- /**
66
- * 块级渲染元素
67
- */
68
- export declare abstract class BlockContentRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
69
- margin: MarginProps;
70
- padding: PaddingProps;
71
- constructor(element: T | null);
72
- setRenderWidth(maxWidth: number): void;
73
- /**
74
- * 获取内容区域框体
75
- * @param render
76
- * @returns
77
- */
78
- getInnerRect(): Rect;
79
- getInnerMaxWidth(): number;
80
- /**
81
- * 根据内框内容高度,更新外框框体高度
82
- * @param innerRect
83
- */
84
- updateRenderHeight(innerRect: Rect | number): void;
85
- }
86
- export declare abstract class InlineGroupRenderObject<T extends BranchElement = BranchElement> extends BranchRenderObject<T> {
87
- }
88
- /**
89
- * 包含块级渲染元素的容器元素,例如body、table-cell等
90
- */
91
- export declare abstract class BlockContainerRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
92
- margin: MarginProps;
93
- padding: PaddingProps;
94
- constructor(element: T | null);
95
- setRenderWidth(maxWidth: number): void;
96
- /**
97
- * 获取内容区域框体
98
- * @param render
99
- * @returns
100
- */
101
- getInnerRect(): Rect;
102
- getInnerMaxWidth(): number;
103
- /**
104
- * 根据内框内容高度,更新外框框体高度
105
- * @param innerRect
106
- */
107
- updateRenderHeight(innerRect: Rect | number): void;
108
- }
109
- /**
110
- * 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table
111
- */
112
- export declare abstract class MultiBlockLineRenderObject<T extends Element = Element> extends BlockContentRenderObject<T> {
113
- }
114
- /**
115
- * 容器-子内容为多个行内块级元素,例如table-row
116
- */
117
- export declare abstract class InlineBlockContainer extends MultiBlockLineRenderObject {
118
- }
119
- /**
120
- * 服务于table-cell
121
- * 可被多级拆分的元素
122
- */
123
- export declare abstract class InlineMuiltBlockLineRenderObject<T extends Element = Element> extends MultiBlockLineRenderObject<T> {
124
- }
125
- /**
126
- * 最小不可分割单位的块级行框,例如 p-line
127
- * 一行不可存在于两个页面中,块级行框不能分布在两个页面中
128
- */
129
- export declare abstract class BlockLineRectRenderObject extends BlockContentRenderObject {
130
- }
131
- export declare type BorderType = 'left' | 'right' | 'top' | 'bottom' | 'left-middle' | 'right-middle' | 'top-middle' | 'bottom-middle' | 'none' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';
132
- export declare type CursorType = 'text' | 'row-resize' | 'col-resize' | 'none' | 'default' | 'move' | 'pointer' | 'w-resize' | 's-resize' | 'se-resize' | 'ne-resize';
133
- export declare enum RenderObjectType {
134
- Branch = 0,
135
- Leaf = 1
136
- }
137
- export interface IMeasureRenderStruct<T> {
138
- rect: Rect;
139
- render: T;
140
- }
141
- export declare type EditorVNodeObject = {
142
- sel: string;
143
- data?: {
144
- attrs?: {
145
- [key: string]: any;
146
- };
147
- props?: {
148
- [key: string]: any;
149
- };
150
- on?: {
151
- [key: string]: Function;
152
- };
153
- [key: string]: any;
154
- };
155
- key?: string;
156
- text?: string;
157
- children?: Array<EditorVNodeObject | string>;
158
- };
159
- export declare type IEditorVNodeOptions = {
160
- getChildNodes: (node: RenderObject) => EditorVNodeObject[] | EditorVNodeObject | null | undefined;
161
- options: ViewOptions;
162
- highlights: Array<EditorVNodeObject>;
163
- relativePagePos: Position;
164
- globalPos: Position;
165
- renderCtx: RenderContext;
166
- getCounter: (key: string) => number;
167
- mode: 'print' | 'view';
168
- addChangeTips: (tipVNode: EditorVNodeObject) => void;
169
- };
1
+ import { Rect, Element, MarginProps, PaddingProps, Position, ViewOptions, BranchElement } from './element-define';
2
+ import { RenderContext, RenderContextType } from './render-context';
3
+ import { EditorContext } from "./document-context";
4
+ /**
5
+ * 定义组件的UI形式的渲染
6
+ */
7
+ export declare abstract class RenderObject<T extends Element = Element> {
8
+ element: T;
9
+ rect: Rect;
10
+ parent: BranchRenderObject;
11
+ /**
12
+ * 可点击性,例如:null-text 占位符元素不具备可点击能力
13
+ */
14
+ disableClick: boolean;
15
+ constructor(element: T);
16
+ abstract clone(): RenderObject;
17
+ destroy(): void;
18
+ getIndex(): number;
19
+ exportSVG(event: IEditorVNodeOptions): any;
20
+ }
21
+ export declare type IHLNode = {
22
+ sel: string;
23
+ data?: {
24
+ ns?: string;
25
+ attrs?: {
26
+ [key: string]: any;
27
+ };
28
+ };
29
+ text?: string;
30
+ children?: Array<IHLNode>;
31
+ };
32
+ export declare const NS = "http://www.w3.org/2000/svg";
33
+ export declare function HLNode(sel: string, attrs: object | undefined, child?: Array<IHLNode> | string): IHLNode;
34
+ export declare type ElementExportTypes = 'svg';
35
+ /**
36
+ * 叶子节点渲染元素
37
+ */
38
+ export declare abstract class LeafRenderObject<T extends Element = Element> extends RenderObject<T> {
39
+ constructor(element: T | null);
40
+ }
41
+ /**
42
+ * 枝干节点渲染元素
43
+ */
44
+ export declare abstract class BranchRenderObject<T extends Element = Element> extends RenderObject<T> {
45
+ t: number;
46
+ constructor(element: T | null);
47
+ private children;
48
+ getItems<T extends RenderObject = RenderObject>(): Array<T>;
49
+ addChild(...items: Array<RenderObject>): void;
50
+ insertChild(item: RenderObject, index: number): void;
51
+ removeChild(child: RenderObject): void;
52
+ removeChildByIndex(index: number): void;
53
+ clear(): void;
54
+ get length(): number;
55
+ getChild<T extends RenderObject = RenderObject>(index: number): T;
56
+ getChildIndex(child: RenderObject): number;
57
+ destroy(): void;
58
+ }
59
+ export interface IRenderData {
60
+ render: RenderContextType;
61
+ position: Position;
62
+ docCtx: EditorContext;
63
+ nextRender: () => void;
64
+ }
65
+ /**
66
+ * 块级渲染元素
67
+ */
68
+ export declare abstract class BlockContentRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
69
+ margin: MarginProps;
70
+ padding: PaddingProps;
71
+ constructor(element: T | null);
72
+ setRenderWidth(maxWidth: number): void;
73
+ /**
74
+ * 获取内容区域框体
75
+ * @param render
76
+ * @returns
77
+ */
78
+ getInnerRect(): Rect;
79
+ getInnerMaxWidth(): number;
80
+ /**
81
+ * 根据内框内容高度,更新外框框体高度
82
+ * @param innerRect
83
+ */
84
+ updateRenderHeight(innerRect: Rect | number): void;
85
+ }
86
+ export declare abstract class InlineGroupRenderObject<T extends BranchElement = BranchElement> extends BranchRenderObject<T> {
87
+ }
88
+ /**
89
+ * 包含块级渲染元素的容器元素,例如body、table-cell等
90
+ */
91
+ export declare abstract class BlockContainerRenderObject<T extends Element = Element> extends BranchRenderObject<T> {
92
+ margin: MarginProps;
93
+ padding: PaddingProps;
94
+ constructor(element: T | null);
95
+ setRenderWidth(maxWidth: number): void;
96
+ /**
97
+ * 获取内容区域框体
98
+ * @param render
99
+ * @returns
100
+ */
101
+ getInnerRect(): Rect;
102
+ getInnerMaxWidth(): number;
103
+ /**
104
+ * 根据内框内容高度,更新外框框体高度
105
+ * @param innerRect
106
+ */
107
+ updateRenderHeight(innerRect: Rect | number): void;
108
+ }
109
+ /**
110
+ * 多级 ‘BlockLineRectRenderObject’ 包裹元素,例如 p、table
111
+ */
112
+ export declare abstract class MultiBlockLineRenderObject<T extends Element = Element> extends BlockContentRenderObject<T> {
113
+ }
114
+ /**
115
+ * 容器-子内容为多个行内块级元素,例如table-row
116
+ */
117
+ export declare abstract class InlineBlockContainer extends MultiBlockLineRenderObject {
118
+ }
119
+ /**
120
+ * 服务于table-cell
121
+ * 可被多级拆分的元素
122
+ */
123
+ export declare abstract class InlineMuiltBlockLineRenderObject<T extends Element = Element> extends MultiBlockLineRenderObject<T> {
124
+ }
125
+ /**
126
+ * 最小不可分割单位的块级行框,例如 p-line
127
+ * 一行不可存在于两个页面中,块级行框不能分布在两个页面中
128
+ */
129
+ export declare abstract class BlockLineRectRenderObject extends BlockContentRenderObject {
130
+ }
131
+ export declare type BorderType = 'left' | 'right' | 'top' | 'bottom' | 'left-middle' | 'right-middle' | 'top-middle' | 'bottom-middle' | 'none' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';
132
+ export declare type CursorType = 'text' | 'row-resize' | 'col-resize' | 'none' | 'default' | 'move' | 'pointer' | 'w-resize' | 's-resize' | 'se-resize' | 'ne-resize';
133
+ export declare enum RenderObjectType {
134
+ Branch = 0,
135
+ Leaf = 1
136
+ }
137
+ export interface IMeasureRenderStruct<T> {
138
+ rect: Rect;
139
+ render: T;
140
+ }
141
+ export declare type EditorVNodeObject = {
142
+ sel: string;
143
+ data?: {
144
+ attrs?: {
145
+ [key: string]: any;
146
+ };
147
+ props?: {
148
+ [key: string]: any;
149
+ };
150
+ on?: {
151
+ [key: string]: Function;
152
+ };
153
+ [key: string]: any;
154
+ };
155
+ key?: string;
156
+ text?: string;
157
+ children?: Array<EditorVNodeObject | string>;
158
+ };
159
+ export declare type IEditorVNodeOptions = {
160
+ getChildNodes: (node: RenderObject) => EditorVNodeObject[] | EditorVNodeObject | null | undefined;
161
+ options: ViewOptions;
162
+ highlights: Array<EditorVNodeObject>;
163
+ relativePagePos: Position;
164
+ globalPos: Position;
165
+ renderCtx: RenderContext;
166
+ getCounter: (key: string) => number;
167
+ mode: 'print' | 'view';
168
+ addChangeTips: (tipVNode: EditorVNodeObject) => void;
169
+ };
@@ -1,31 +1,31 @@
1
- import { DocEditor } from 'src/med_editor/doc-editor';
2
- import { TextGroupElement } from '../impl';
3
- import { SelectionContentRange } from '../element-define';
4
- export declare class SearchPanel {
5
- private editor;
6
- searchQuery: string;
7
- currentIndex: number;
8
- totalMatches: number;
9
- searchResults: searchResult[];
10
- searchRangeColor: string;
11
- currentRangeColor: string;
12
- inputRef: HTMLInputElement;
13
- state: 'close' | 'open';
14
- constructor(editor: DocEditor);
15
- render(): import("snabbdom").VNode;
16
- searchNext(): void;
17
- searchPrevious(): void;
18
- nagivateToShow(): void;
19
- onKeydown(e: KeyboardEvent): void;
20
- searchInDocument(e: KeyboardEvent): any[];
21
- clear(): void;
22
- destroy(): void;
23
- findMatches(inputString: string, pattern: string): number[];
24
- switchVisible(): void;
25
- }
26
- interface searchResult {
27
- index: number;
28
- ele: TextGroupElement;
29
- range?: SelectionContentRange;
30
- }
31
- export {};
1
+ import { DocEditor } from 'src/med_editor/doc-editor';
2
+ import { TextGroupElement } from '../impl';
3
+ import { SelectionContentRange } from '../element-define';
4
+ export declare class SearchPanel {
5
+ private editor;
6
+ searchQuery: string;
7
+ currentIndex: number;
8
+ totalMatches: number;
9
+ searchResults: searchResult[];
10
+ searchRangeColor: string;
11
+ currentRangeColor: string;
12
+ inputRef: HTMLInputElement;
13
+ state: 'close' | 'open';
14
+ constructor(editor: DocEditor);
15
+ render(): import("snabbdom").VNode;
16
+ searchNext(): void;
17
+ searchPrevious(): void;
18
+ nagivateToShow(): void;
19
+ onKeydown(e: KeyboardEvent): void;
20
+ searchInDocument(e: KeyboardEvent): any[];
21
+ clear(): void;
22
+ destroy(): void;
23
+ findMatches(inputString: string, pattern: string): number[];
24
+ switchVisible(): void;
25
+ }
26
+ interface searchResult {
27
+ index: number;
28
+ ele: TextGroupElement;
29
+ range?: SelectionContentRange;
30
+ }
31
+ export {};
@@ -1,92 +1,92 @@
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
- export declare class DocumentSelection {
7
- constructor();
8
- selectionState: SelectionState;
9
- snapshotSelectionState: SelectionState | null;
10
- setSelectionState(hitInfo: {
11
- startHitInfo: HitEventInfo;
12
- endHitInfo: HitEventInfo;
13
- }): void;
14
- /**
15
- * 获取选区共同的祖先控件
16
- */
17
- static getAncestorCommonControl(startControl: LeafElement, endControl: LeafElement): BranchElement;
18
- /**
19
- * 获取向上的嵌套父级节点集合
20
- * @param control
21
- * @param array
22
- */
23
- static getNestParents(control: BranchElement | null): Array<BranchElement>;
24
- static getCommonParenet(control: BranchElement | null | undefined, array: Array<BranchElement>): BranchElement | null;
25
- /**
26
- * 更新选区对象
27
- * return:当前选区是否改变
28
- * @private
29
- */
30
- updateSelectionState(): boolean;
31
- isSelectionChanged(): boolean;
32
- /**
33
- * 转换选区内容
34
- * 处理结束选区在开始选区之前
35
- */
36
- private transformRange;
37
- takeSnapshot(): void;
38
- clearSnapshot(): void;
39
- }
40
- export declare class SelectionState {
41
- get startControl(): LeafElement;
42
- set startControl(value: LeafElement | null);
43
- get endControl(): LeafElement;
44
- set endControl(value: LeafElement | null);
45
- onChangedEvent: Subject<void>;
46
- startControlIndex: number;
47
- startOffset: number;
48
- endControlIndex: number;
49
- endOffset: number;
50
- get collapsed(): boolean;
51
- private _startControl;
52
- private _endControl;
53
- ancestorCommonControl: BranchElement | null;
54
- range: SelectionRange | null;
55
- startHitInfo: HitEventInfo | null;
56
- selectedRange: SelectionContentRange | null;
57
- editable: boolean;
58
- renderContainer: DocumentContainerRender;
59
- cursorPos: Rect | null;
60
- constructor();
61
- destroy(): void;
62
- clear(): void;
63
- /**
64
- * 当前选区是否发生改变
65
- */
66
- rangeDirty: boolean;
67
- addRange(range: SelectionRange): void;
68
- resetRange(startControl: Element, startOffset: number): SelectionRange;
69
- surround(ele: Element): void;
70
- clone(): SelectionState;
71
- }
72
- export declare class SelectionRange {
73
- startControl: Element;
74
- startOffset: number;
75
- endControl: Element;
76
- endOffset: number;
77
- editable: boolean;
78
- setStart(control: Element, offset: number): void;
79
- setEnd(control: Element, offset: number): void;
80
- private calcStart;
81
- private calcEnd;
82
- calcRange(): void;
83
- private setInfo;
84
- clone(): SelectionRange;
85
- }
86
- export declare class DocumentCursor {
87
- static getElementCursorPos(ele: LeafElement, offset: number, hitRegion: HitRegion | undefined, docNum: number): {
88
- render: RenderObject;
89
- rect: Rect;
90
- };
91
- private static getElementRenderPos;
92
- }
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
+ export declare class DocumentSelection {
7
+ constructor();
8
+ selectionState: SelectionState;
9
+ snapshotSelectionState: SelectionState | null;
10
+ setSelectionState(hitInfo: {
11
+ startHitInfo: HitEventInfo;
12
+ endHitInfo: HitEventInfo;
13
+ }): void;
14
+ /**
15
+ * 获取选区共同的祖先控件
16
+ */
17
+ static getAncestorCommonControl(startControl: LeafElement, endControl: LeafElement): BranchElement;
18
+ /**
19
+ * 获取向上的嵌套父级节点集合
20
+ * @param control
21
+ * @param array
22
+ */
23
+ static getNestParents(control: BranchElement | null): Array<BranchElement>;
24
+ static getCommonParenet(control: BranchElement | null | undefined, array: Array<BranchElement>): BranchElement | null;
25
+ /**
26
+ * 更新选区对象
27
+ * return:当前选区是否改变
28
+ * @private
29
+ */
30
+ updateSelectionState(): boolean;
31
+ isSelectionChanged(): boolean;
32
+ /**
33
+ * 转换选区内容
34
+ * 处理结束选区在开始选区之前
35
+ */
36
+ private transformRange;
37
+ takeSnapshot(): void;
38
+ clearSnapshot(): void;
39
+ }
40
+ export declare class SelectionState {
41
+ get startControl(): LeafElement;
42
+ set startControl(value: LeafElement | null);
43
+ get endControl(): LeafElement;
44
+ set endControl(value: LeafElement | null);
45
+ onChangedEvent: Subject<void>;
46
+ startControlIndex: number;
47
+ startOffset: number;
48
+ endControlIndex: number;
49
+ endOffset: number;
50
+ get collapsed(): boolean;
51
+ private _startControl;
52
+ private _endControl;
53
+ ancestorCommonControl: BranchElement | null;
54
+ range: SelectionRange | null;
55
+ startHitInfo: HitEventInfo | null;
56
+ selectedRange: SelectionContentRange | null;
57
+ editable: boolean;
58
+ renderContainer: DocumentContainerRender;
59
+ cursorPos: Rect | null;
60
+ constructor();
61
+ destroy(): void;
62
+ clear(): void;
63
+ /**
64
+ * 当前选区是否发生改变
65
+ */
66
+ rangeDirty: boolean;
67
+ addRange(range: SelectionRange): void;
68
+ resetRange(startControl: Element, startOffset: number): SelectionRange;
69
+ surround(ele: Element): void;
70
+ clone(): SelectionState;
71
+ }
72
+ export declare class SelectionRange {
73
+ startControl: Element;
74
+ startOffset: number;
75
+ endControl: Element;
76
+ endOffset: number;
77
+ editable: boolean;
78
+ setStart(control: Element, offset: number): void;
79
+ setEnd(control: Element, offset: number): void;
80
+ private calcStart;
81
+ private calcEnd;
82
+ calcRange(): void;
83
+ private setInfo;
84
+ clone(): SelectionRange;
85
+ }
86
+ export declare class DocumentCursor {
87
+ static getElementCursorPos(ele: LeafElement, offset: number, hitRegion: HitRegion | undefined, docNum: number): {
88
+ render: RenderObject;
89
+ rect: Rect;
90
+ };
91
+ private static getElementRenderPos;
92
+ }
@@ -1,36 +1,36 @@
1
- import { BranchElement, Element, LeafElement, SelectionContentRange } from "../element-define";
2
- import { TableElement } from "../impl/table/table-impl";
3
- export declare class RangeUtil {
4
- static getSectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
5
- static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
6
- /**
7
- * 获取表格选区的内容
8
- * @param startControl
9
- * @param startOffset
10
- * @param endControl
11
- * @param endOffset
12
- * @param tb
13
- */
14
- static getTableSelectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, tb: TableElement): SelectionContentRange;
15
- private static getStartForbackTreeData;
16
- private static getEndForwardTreeData;
17
- private static getChildTreeData;
18
- private static setRangeFullSelected;
19
- static rangeEquals(selRange1: SelectionContentRange, selRange2: SelectionContentRange): boolean;
20
- static getStartRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
21
- static getEndRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
22
- /**
23
- * 循环递归执行选区对象方法
24
- * @param range
25
- * @param handler
26
- */
27
- static recursionTraversalRangeHandler(range: SelectionContentRange, handler: (range: SelectionContentRange) => void): void;
28
- /**
29
- * 判断元素是否被完全选中
30
- * @param range
31
- * @param ele
32
- */
33
- static checkElementFullInRange(range: SelectionContentRange, ele: Element): boolean;
34
- private static pushToArray;
35
- private static unshiftToArray;
36
- }
1
+ import { BranchElement, Element, LeafElement, SelectionContentRange } from "../element-define";
2
+ import { TableElement } from "../impl/table/table-impl";
3
+ export declare class RangeUtil {
4
+ static getSectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
5
+ static getCollapsedRange(startControl: LeafElement, startOffset: number, endOffset: number, ancestorCommonControl: BranchElement): SelectionContentRange;
6
+ /**
7
+ * 获取表格选区的内容
8
+ * @param startControl
9
+ * @param startOffset
10
+ * @param endControl
11
+ * @param endOffset
12
+ * @param tb
13
+ */
14
+ static getTableSelectionRange(startControl: LeafElement, startOffset: number, endControl: LeafElement, endOffset: number, tb: TableElement): SelectionContentRange;
15
+ private static getStartForbackTreeData;
16
+ private static getEndForwardTreeData;
17
+ private static getChildTreeData;
18
+ private static setRangeFullSelected;
19
+ static rangeEquals(selRange1: SelectionContentRange, selRange2: SelectionContentRange): boolean;
20
+ static getStartRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
21
+ static getEndRangeTarget(parentRange: SelectionContentRange): SelectionContentRange | null;
22
+ /**
23
+ * 循环递归执行选区对象方法
24
+ * @param range
25
+ * @param handler
26
+ */
27
+ static recursionTraversalRangeHandler(range: SelectionContentRange, handler: (range: SelectionContentRange) => void): void;
28
+ /**
29
+ * 判断元素是否被完全选中
30
+ * @param range
31
+ * @param ele
32
+ */
33
+ static checkElementFullInRange(range: SelectionContentRange, ele: Element): boolean;
34
+ private static pushToArray;
35
+ private static unshiftToArray;
36
+ }