@hailin-zheng/editor-core 2.2.3 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. package/editor.css +694 -610
  2. package/index-cjs.d.ts +32 -31
  3. package/index-cjs.js +22648 -22205
  4. package/index-cjs.js.map +1 -1
  5. package/index.d.ts +32 -31
  6. package/index.js +22646 -22207
  7. package/index.js.map +1 -1
  8. package/med_editor/doc-editor.d.ts +493 -464
  9. package/med_editor/doc-rule.d.ts +46 -46
  10. package/med_editor/editor-core.d.ts +21 -21
  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 +23 -23
  14. package/med_editor/framework/doc-layout/document-arrange.d.ts +86 -86
  15. package/med_editor/framework/doc-layout/paragraph-arrange.d.ts +107 -107
  16. package/med_editor/framework/document-change.d.ts +314 -295
  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 +138 -133
  20. package/med_editor/framework/document-event.d.ts +251 -251
  21. package/med_editor/framework/document-input-cursor.d.ts +32 -43
  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 +413 -409
  27. package/med_editor/framework/element-event-define.d.ts +104 -107
  28. package/med_editor/framework/element-props.d.ts +343 -343
  29. package/med_editor/framework/element-reader.d.ts +20 -20
  30. package/med_editor/framework/element-serialize.d.ts +36 -36
  31. package/med_editor/framework/element-type-handler.d.ts +8 -9
  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 -0
  40. package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +15 -15
  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 +96 -96
  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 +17 -17
  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 +72 -72
  57. package/med_editor/framework/impl/index.d.ts +40 -39
  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/svg/svg-impl.d.ts +20 -20
  65. package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +18 -18
  66. package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +16 -16
  67. package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +20 -20
  68. package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +15 -15
  69. package/med_editor/framework/impl/table/table-cell-impl.d.ts +34 -34
  70. package/med_editor/framework/impl/table/table-impl.d.ts +49 -49
  71. package/med_editor/framework/impl/table/table-row-impl.d.ts +27 -27
  72. package/med_editor/framework/impl/table/table-split-cell-patch.d.ts +20 -20
  73. package/med_editor/framework/impl/table/table-split-cell.d.ts +93 -92
  74. package/med_editor/framework/impl/table/table-util.d.ts +180 -180
  75. package/med_editor/framework/impl/text/text-impl.d.ts +34 -34
  76. package/med_editor/framework/impl/text/track-run-impl.d.ts +27 -27
  77. package/med_editor/framework/infrastructure/event-subject.d.ts +57 -56
  78. package/med_editor/framework/infrastructure/notify.d.ts +13 -13
  79. package/med_editor/framework/print/document-print-offscreen.d.ts +58 -58
  80. package/med_editor/framework/print/document-print.d.ts +18 -18
  81. package/med_editor/framework/render-context.d.ts +111 -111
  82. package/med_editor/framework/render-define.d.ts +141 -141
  83. package/med_editor/framework/selection/document-selection.d.ts +92 -91
  84. package/med_editor/framework/selection/range-util.d.ts +36 -36
  85. package/med_editor/framework/selection/selection-overlays.d.ts +32 -32
  86. package/med_editor/framework/suggestions/input-suggestions.d.ts +29 -0
  87. package/med_editor/framework/util/adjust-viewport-elements.d.ts +12 -12
  88. package/med_editor/framework/util/common-util.d.ts +76 -76
  89. package/med_editor/framework/util/document-segmenter.d.ts +2 -2
  90. package/med_editor/framework/util/element-util.d.ts +410 -410
  91. package/med_editor/framework/vnode/editor-calendar-vnode.d.ts +42 -42
  92. package/package.json +19 -19
@@ -1,46 +1,46 @@
1
- import { SelectionState } from "./framework/selection/document-selection";
2
- import { ViewOptions } from "./framework/element-define";
3
- import { EditorContext } from "./framework/document-context";
4
- import { IVNodeRenderFunc } from "./editor-core";
5
- interface RuleOptions {
6
- width: number;
7
- pagePL: number;
8
- pagePR: number;
9
- docLeft: number;
10
- }
11
- export declare class DocRule {
12
- private docCtx;
13
- private options;
14
- private ruleHeight;
15
- private thumbX;
16
- private mouseDownPos;
17
- private indentThumbPoints;
18
- private hangThumbPoints;
19
- private mouseDownThumbType;
20
- viewOptions: ViewOptions;
21
- ss: SelectionState;
22
- private nodes;
23
- constructor(docCtx: EditorContext);
24
- destroy(): void;
25
- setRuleOptions(options: RuleOptions): void;
26
- private fillRectSvg;
27
- private drawIndentThumbSvg;
28
- private drawHangThumbSvg;
29
- private drawLineSvg;
30
- private drawTextSvg;
31
- refreshRuleSvg(): IVNodeRenderFunc;
32
- private canvasMousedown;
33
- private getMousePos;
34
- private canvasMousemove;
35
- private canvasMouseup;
36
- private pointInPoly;
37
- /**
38
- * 绘制
39
- */
40
- private drawRuleSvg;
41
- private getRuleMarksPos;
42
- private getCurrPara;
43
- private setParentMarksPosSvg;
44
- private drawCellMarkSvg;
45
- }
46
- export {};
1
+ import { SelectionState } from "./framework/selection/document-selection";
2
+ import { ViewOptions } from "./framework/element-define";
3
+ import { EditorContext } from "./framework/document-context";
4
+ import { IVNodeRenderFunc } from "./editor-core";
5
+ interface RuleOptions {
6
+ width: number;
7
+ pagePL: number;
8
+ pagePR: number;
9
+ docLeft: number;
10
+ }
11
+ export declare class DocRule {
12
+ private docCtx;
13
+ private options;
14
+ private ruleHeight;
15
+ private thumbX;
16
+ private mouseDownPos;
17
+ private indentThumbPoints;
18
+ private hangThumbPoints;
19
+ private mouseDownThumbType;
20
+ viewOptions: ViewOptions;
21
+ ss: SelectionState;
22
+ private nodes;
23
+ constructor(docCtx: EditorContext);
24
+ destroy(): void;
25
+ setRuleOptions(options: RuleOptions): void;
26
+ private fillRectSvg;
27
+ private drawIndentThumbSvg;
28
+ private drawHangThumbSvg;
29
+ private drawLineSvg;
30
+ private drawTextSvg;
31
+ refreshRuleSvg(): IVNodeRenderFunc;
32
+ private canvasMousedown;
33
+ private getMousePos;
34
+ private canvasMousemove;
35
+ private canvasMouseup;
36
+ private pointInPoly;
37
+ /**
38
+ * 绘制
39
+ */
40
+ private drawRuleSvg;
41
+ private getRuleMarksPos;
42
+ private getCurrPara;
43
+ private setParentMarksPosSvg;
44
+ private drawCellMarkSvg;
45
+ }
46
+ export {};
@@ -1,21 +1,21 @@
1
- import { EditorVNodeObject } from "./framework/render-define";
2
- import { SelectionState } from "./framework/selection/document-selection";
3
- export declare type EditorContext = {
4
- onChange: () => void;
5
- emit: (event: string, ...args: any[]) => void;
6
- selectionState: SelectionState;
7
- };
8
- export declare let activeEditorContext: EditorContext | null;
9
- export declare function setActiveEditorContext(ctx: EditorContext | null): void;
10
- export declare function getActiveEditorContext(): EditorContext | null;
11
- export declare type IVNodeRenderFunc = {
12
- render: () => EditorVNodeObject | null;
13
- };
14
- export interface EditorFuncComp {
15
- (...args: any): IVNodeRenderFunc;
16
- }
17
- export interface ISignal<T> {
18
- value: T;
19
- onChange: () => void;
20
- }
21
- export declare function createSignal<T>(state: T): ISignal<T>;
1
+ import { EditorVNodeObject } from "./framework/render-define";
2
+ import { SelectionState } from "./framework/selection/document-selection";
3
+ export declare type EditorContext = {
4
+ onChange: () => void;
5
+ emit: (event: string, ...args: any[]) => void;
6
+ selectionState: SelectionState;
7
+ };
8
+ export declare let activeEditorContext: EditorContext | null;
9
+ export declare function setActiveEditorContext(ctx: EditorContext | null): void;
10
+ export declare function getActiveEditorContext(): EditorContext | null;
11
+ export declare type IVNodeRenderFunc = {
12
+ render: () => EditorVNodeObject | null;
13
+ };
14
+ export interface EditorFuncComp {
15
+ (...args: any): IVNodeRenderFunc;
16
+ }
17
+ export interface ISignal<T> {
18
+ value: T;
19
+ onChange: () => void;
20
+ }
21
+ export declare function createSignal<T>(state: T): ISignal<T>;
@@ -1,4 +1,4 @@
1
- import { Node } from "acorn";
2
- export declare function parser(code: string, objects?: Array<string>): string;
3
- export declare function addReturn(code: string): string;
4
- export declare function getCalleeName(node: Node): string;
1
+ import { Node } from "acorn";
2
+ export declare function parser(code: string, objects?: Array<string>): string;
3
+ export declare function addReturn(code: string): string;
4
+ export declare function getCalleeName(node: Node): string;
@@ -1,18 +1,18 @@
1
- import { EditorContext } from "../document-context";
2
- export declare class DocumentEvalFunc {
3
- docCtx: EditorContext;
4
- constructor(docCtx: EditorContext);
5
- scriptsFunc: (() => void) | null;
6
- /**
7
- * 实例化动态脚本
8
- */
9
- initScripts(scripts: string): void;
10
- /**
11
- * 销毁动态脚本实例
12
- */
13
- destroyScripts(): void;
14
- /**
15
- * 触发动态脚本
16
- */
17
- invokedScripts(): void;
18
- }
1
+ import { EditorContext } from "../document-context";
2
+ export declare class DocumentEvalFunc {
3
+ docCtx: EditorContext;
4
+ constructor(docCtx: EditorContext);
5
+ scriptsFunc: (() => void) | null;
6
+ /**
7
+ * 实例化动态脚本
8
+ */
9
+ initScripts(scripts: string): void;
10
+ /**
11
+ * 销毁动态脚本实例
12
+ */
13
+ destroyScripts(): void;
14
+ /**
15
+ * 触发动态脚本
16
+ */
17
+ invokedScripts(): void;
18
+ }
@@ -1,23 +1,23 @@
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
- export declare class DynamicExecute {
5
- doc: BranchElement;
6
- ss: SelectionState;
7
- current?: Element;
8
- depItems?: Map<string, RefCtxValue>;
9
- constructor(doc: BranchElement, ss: SelectionState);
10
- setCurrentCtx(ele: Element, depItems: Map<string, RefCtxValue>): void;
11
- clearCurrentCtx(): void;
12
- cacheList: ReturnType<DocumentContext['getDataElementModelList']>;
13
- getControlById(id: string): DataCheckEleModel | DataInputEleModel | DataLeafEleModel | undefined;
14
- getObject(id: string): RefCtxValue;
15
- AVG(fn: () => Array<number | string>): number;
16
- SUM(fn: () => Array<number | string | Array<string>>): number;
17
- MAX(fn: () => Array<number | string>): number;
18
- MIN(fn: () => Array<number | string>): number;
19
- Float(val: any): number;
20
- IF(condition: () => boolean, truePart: VoidFunction, falsePart: VoidFunction): any;
21
- Number(val: any): number;
22
- TableData(tableId: string, startRow: number, startCol: number, endRow: number, endCol: number): Array<string>;
23
- }
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
+ export declare class DynamicExecute {
5
+ doc: BranchElement;
6
+ ss: SelectionState;
7
+ current?: Element;
8
+ depItems?: Map<string, RefCtxValue>;
9
+ constructor(doc: BranchElement, ss: SelectionState);
10
+ setCurrentCtx(ele: Element, depItems: Map<string, RefCtxValue>): void;
11
+ clearCurrentCtx(): void;
12
+ cacheList: ReturnType<DocumentContext['getDataElementModelList']>;
13
+ getControlById(id: string): DataCheckEleModel | DataInputEleModel | DataLeafEleModel | undefined;
14
+ getObject(id: string): RefCtxValue;
15
+ AVG(fn: () => Array<number | string>): number;
16
+ SUM(fn: () => Array<number | string | Array<string>>): number;
17
+ MAX(fn: () => Array<number | string>): number;
18
+ MIN(fn: () => Array<number | string>): number;
19
+ Float(val: any): number;
20
+ IF(condition: () => boolean, truePart: VoidFunction, falsePart: VoidFunction): any;
21
+ Number(val: any): number;
22
+ TableData(tableId: string, startRow: number, startCol: number, endRow: number, endCol: number): Array<string>;
23
+ }
@@ -1,86 +1,86 @@
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
- import { ParagraphMeasure } from "./paragraph-arrange";
8
- import { SelectionEffectObject } from "../element-props";
9
- export declare class DocumentArrange {
10
- docCtx: EditorContext;
11
- renderCtx: RenderContextType;
12
- seo: SelectionEffectObject;
13
- options: ViewOptions;
14
- execute: DynamicExecute;
15
- pMeasure: ParagraphMeasure;
16
- constructor(docCtx: EditorContext, renderCtx: RenderContextType, seo: SelectionEffectObject);
17
- /**
18
- * 测量排版过程
19
- * 1.先测量排版页眉、页脚
20
- * 2.根据页边距以及页眉、页脚测量的高度,获取"页体高度"
21
- * 3.根据页体高度测量页体内容,并实时分页
22
- * 3.1测量页体直接子内容
23
- * 3.1.1页体直接子内容递归测量孙子元素
24
- * 3.2完成页体子内容测量,并分页切分
25
- */
26
- measureDoc(): Array<DocumentRenderObject>;
27
- /**
28
- * 重置文档测量的相关信息
29
- * @param data
30
- * @private
31
- */
32
- private reset;
33
- private arrangeDoc;
34
- private createEmptyBodyRender;
35
- private measureControl;
36
- private processTableTextLineMode;
37
- private getDocInnerRect;
38
- /**
39
- * 切割渲染元素
40
- * @param render 被切割的对象
41
- * @param limitHeight
42
- * @returns
43
- */
44
- cutRenderItem(render: BlockContentRenderObject, limitHeight: number): BlockContentRenderObject | null;
45
- /**
46
- * 切割渲染元素
47
- * @param tbRender 被切割的对象
48
- * @param limitHeight
49
- * @returns
50
- */
51
- cutTable(tbRender: TableRenderObject, limitHeight: number): BlockContentRenderObject | null;
52
- cutRowRenderItem(render: TableRowRenderObject, limitHeight: number): TableRowRenderObject | null;
53
- /**
54
- * 修复->已经截断的合并单元格要向下移动到合适的位置
55
- * @param tbRender
56
- * @param cutRows
57
- * @returns
58
- */
59
- private fixCutTable;
60
- /**
61
- * 校验当前是否是一个完整的行,没有Null单元格,检查当前是否还需要向下合并
62
- * @param row
63
- */
64
- private checkFullRow;
65
- private existsCellRender;
66
- private getBlockLineHeight;
67
- getRowInsertCellIndex(sourceCell: TableCellRenderObject, destRow: TableRowRenderObject): number;
68
- private getHeaderRows;
69
- /**
70
- * 修改测量完毕后的元素状态
71
- * @param ele
72
- */
73
- setMeasureCompletedModifyFlag(ele: Element): void;
74
- clearPaintCache(ele: Element, data: IBeginMeasureData): void;
75
- identifyComment(ele: Element): void;
76
- private cacheDoc;
77
- cacheDocRenders(docs: Array<DocumentRenderObject>): void;
78
- /**
79
- * 生成批注区间信息
80
- * @param renderTree
81
- */
82
- generateCommRange(): void;
83
- cacheRenders(renderTree: BranchRenderObject): void;
84
- endMeasures(ele: Element): void;
85
- createDefaultPara(): ParagraphElement;
86
- }
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
+ import { ParagraphMeasure } from "./paragraph-arrange";
8
+ import { SelectionEffectObject } from "../element-props";
9
+ export declare class DocumentArrange {
10
+ docCtx: EditorContext;
11
+ renderCtx: RenderContextType;
12
+ seo: SelectionEffectObject;
13
+ options: ViewOptions;
14
+ execute: DynamicExecute;
15
+ pMeasure: ParagraphMeasure;
16
+ constructor(docCtx: EditorContext, renderCtx: RenderContextType, seo: SelectionEffectObject);
17
+ /**
18
+ * 测量排版过程
19
+ * 1.先测量排版页眉、页脚
20
+ * 2.根据页边距以及页眉、页脚测量的高度,获取"页体高度"
21
+ * 3.根据页体高度测量页体内容,并实时分页
22
+ * 3.1测量页体直接子内容
23
+ * 3.1.1页体直接子内容递归测量孙子元素
24
+ * 3.2完成页体子内容测量,并分页切分
25
+ */
26
+ measureDoc(): Array<DocumentRenderObject>;
27
+ /**
28
+ * 重置文档测量的相关信息
29
+ * @param data
30
+ * @private
31
+ */
32
+ private reset;
33
+ private arrangeDoc;
34
+ private createEmptyBodyRender;
35
+ private measureControl;
36
+ private processTableTextLineMode;
37
+ private getDocInnerRect;
38
+ /**
39
+ * 切割渲染元素
40
+ * @param render 被切割的对象
41
+ * @param limitHeight
42
+ * @returns
43
+ */
44
+ cutRenderItem(render: BlockContentRenderObject, limitHeight: number): BlockContentRenderObject | null;
45
+ /**
46
+ * 切割渲染元素
47
+ * @param tbRender 被切割的对象
48
+ * @param limitHeight
49
+ * @returns
50
+ */
51
+ cutTable(tbRender: TableRenderObject, limitHeight: number): BlockContentRenderObject | null;
52
+ cutRowRenderItem(render: TableRowRenderObject, limitHeight: number): TableRowRenderObject | null;
53
+ /**
54
+ * 修复->已经截断的合并单元格要向下移动到合适的位置
55
+ * @param tbRender
56
+ * @param cutRows
57
+ * @returns
58
+ */
59
+ private fixCutTable;
60
+ /**
61
+ * 校验当前是否是一个完整的行,没有Null单元格,检查当前是否还需要向下合并
62
+ * @param row
63
+ */
64
+ private checkFullRow;
65
+ private existsCellRender;
66
+ private getBlockLineHeight;
67
+ getRowInsertCellIndex(sourceCell: TableCellRenderObject, destRow: TableRowRenderObject): number;
68
+ private getHeaderRows;
69
+ /**
70
+ * 修改测量完毕后的元素状态
71
+ * @param ele
72
+ */
73
+ setMeasureCompletedModifyFlag(ele: Element): void;
74
+ clearPaintCache(ele: Element, data: IBeginMeasureData): void;
75
+ identifyComment(ele: Element): void;
76
+ private cacheDoc;
77
+ cacheDocRenders(docs: Array<DocumentRenderObject>): void;
78
+ /**
79
+ * 生成批注区间信息
80
+ * @param renderTree
81
+ */
82
+ generateCommRange(): void;
83
+ cacheRenders(renderTree: BranchRenderObject): void;
84
+ endMeasures(ele: Element): void;
85
+ createDefaultPara(): ParagraphElement;
86
+ }
@@ -1,107 +1,107 @@
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
- export declare class ParagraphMeasure {
7
- options: ViewOptions;
8
- renderCtx: RenderContextType;
9
- execute: DynamicExecute;
10
- constructor(options: ViewOptions, renderCtx: RenderContextType, execute: DynamicExecute);
11
- /**
12
- * 段落排版:
13
- * 1.当前段落不存在项目符号,按照缩进和悬挂处理
14
- * 2.存在项目符号
15
- * 2.1首行要缩进 30:"一个项目符号的长度位置"
16
- * @param p
17
- * @param limitWidth
18
- */
19
- measureParagraph(p: ParagraphElement, limitWidth: Readonly<number>): Array<ParagraphRenderObject>;
20
- /**
21
- * 校验当前段落属性
22
- */
23
- private verifyPara;
24
- /**
25
- * 获取段落行布局横向坐标起始位置,被段落text-align影响
26
- */
27
- private setParaTextAlign;
28
- /**
29
- * 设置两端对齐
30
- * @param render
31
- * @param count
32
- * @param spaceWidth
33
- */
34
- private setAlignJustify;
35
- arrange(parentLine: MeasureLine, ele: Element): void;
36
- arrangeInlineGroupElement(parentLine: MeasureLine, ele: InlineGroupElement): void;
37
- private arrangeInlineItems;
38
- arrangeLeafElement(parentLine: MeasureLine, ele: LeafElement): void;
39
- arrangeLeafRender(parentLine: MeasureLine, render: LeafRenderObject): void;
40
- cutTextRender(render: TextGroupRenderObject, limitWidth: number, lineEmpty: boolean, isCloseToBody: any): ICutLineData;
41
- /**
42
- * 处理前置标点,前置标点不能出现在末尾
43
- * @param render
44
- * @param i
45
- * @param lineEmpty
46
- */
47
- private patchHandleLeadingPunctuation;
48
- /**
49
- * 处理后置标点,后置标点不能出现在行首
50
- * @param render
51
- * @param i
52
- * @param inCloseBody
53
- * @param lineEmpty
54
- */
55
- private patchHandlePostPunctuation;
56
- /**
57
- * 是否包含后置标点
58
- * @param str
59
- * @returns
60
- */
61
- private containPostPunctuation;
62
- private containLeadingPunctuation;
63
- /**
64
- * 文本开头是否包含后置标点
65
- * @param render
66
- * @returns
67
- */
68
- private containerStartSymbolInTextStart;
69
- cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData;
70
- /**
71
- * 获取段落行渲染单位个数,字符需要计算为字符长度
72
- */
73
- private getRenderUnitLength;
74
- /**
75
- * 解析可见性表达式
76
- * @param ele
77
- * @param execute
78
- * @private
79
- */
80
- parseVisibleExpression(ele: Element, execute: DynamicExecute): void;
81
- /**
82
- * 元素可见行求值
83
- * @param ele
84
- * @param executeCtx
85
- * @private
86
- */
87
- evalVisibleExpr(ele: Element, executeCtx: DynamicExecute): boolean;
88
- createRenderObject<T extends Element>(element: T): ReturnType<T['createRenderObject']>;
89
- }
90
- interface MeasureLine {
91
- add(child: RenderObject): void;
92
- lineWidth(): number;
93
- updateHeight(child: RenderObject): void;
94
- limitWidth: number;
95
- lineLength(): number;
96
- applyNewLine(): void;
97
- applyNewPara(): void;
98
- parent: MeasureLine | null;
99
- isCloseToBody: boolean;
100
- arrange(): void;
101
- }
102
- interface ICutLineData {
103
- firstItem: RenderObject | null;
104
- lastItem: RenderObject | null;
105
- br?: boolean;
106
- }
107
- export {};
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
+ export declare class ParagraphMeasure {
7
+ options: ViewOptions;
8
+ renderCtx: RenderContextType;
9
+ execute: DynamicExecute;
10
+ constructor(options: ViewOptions, renderCtx: RenderContextType, execute: DynamicExecute);
11
+ /**
12
+ * 段落排版:
13
+ * 1.当前段落不存在项目符号,按照缩进和悬挂处理
14
+ * 2.存在项目符号
15
+ * 2.1首行要缩进 30:"一个项目符号的长度位置"
16
+ * @param p
17
+ * @param limitWidth
18
+ */
19
+ measureParagraph(p: ParagraphElement, limitWidth: Readonly<number>): Array<ParagraphRenderObject>;
20
+ /**
21
+ * 校验当前段落属性
22
+ */
23
+ private verifyPara;
24
+ /**
25
+ * 获取段落行布局横向坐标起始位置,被段落text-align影响
26
+ */
27
+ private setParaTextAlign;
28
+ /**
29
+ * 设置两端对齐
30
+ * @param render
31
+ * @param count
32
+ * @param spaceWidth
33
+ */
34
+ private setAlignJustify;
35
+ arrange(parentLine: MeasureLine, ele: Element): void;
36
+ arrangeInlineGroupElement(parentLine: MeasureLine, ele: InlineGroupElement): void;
37
+ private arrangeInlineItems;
38
+ arrangeLeafElement(parentLine: MeasureLine, ele: LeafElement): void;
39
+ arrangeLeafRender(parentLine: MeasureLine, render: LeafRenderObject): void;
40
+ cutTextRender(render: TextGroupRenderObject, limitWidth: number, lineEmpty: boolean, isCloseToBody: any): ICutLineData;
41
+ /**
42
+ * 处理前置标点,前置标点不能出现在末尾
43
+ * @param render
44
+ * @param i
45
+ * @param lineEmpty
46
+ */
47
+ private patchHandleLeadingPunctuation;
48
+ /**
49
+ * 处理后置标点,后置标点不能出现在行首
50
+ * @param render
51
+ * @param i
52
+ * @param inCloseBody
53
+ * @param lineEmpty
54
+ */
55
+ private patchHandlePostPunctuation;
56
+ /**
57
+ * 是否包含后置标点
58
+ * @param str
59
+ * @returns
60
+ */
61
+ private containPostPunctuation;
62
+ private containLeadingPunctuation;
63
+ /**
64
+ * 文本开头是否包含后置标点
65
+ * @param render
66
+ * @returns
67
+ */
68
+ private containerStartSymbolInTextStart;
69
+ cutFillNullRender(render: FillNullSpaceRenderObject, limitWidth: number): ICutLineData;
70
+ /**
71
+ * 获取段落行渲染单位个数,字符需要计算为字符长度
72
+ */
73
+ private getRenderUnitLength;
74
+ /**
75
+ * 解析可见性表达式
76
+ * @param ele
77
+ * @param execute
78
+ * @private
79
+ */
80
+ parseVisibleExpression(ele: Element, execute: DynamicExecute): void;
81
+ /**
82
+ * 元素可见行求值
83
+ * @param ele
84
+ * @param executeCtx
85
+ * @private
86
+ */
87
+ evalVisibleExpr(ele: Element, executeCtx: DynamicExecute): boolean;
88
+ createRenderObject<T extends Element>(element: T): ReturnType<T['createRenderObject']>;
89
+ }
90
+ interface MeasureLine {
91
+ add(child: RenderObject): void;
92
+ lineWidth(): number;
93
+ updateHeight(child: RenderObject): void;
94
+ limitWidth: number;
95
+ lineLength(): number;
96
+ applyNewLine(): void;
97
+ applyNewPara(): void;
98
+ parent: MeasureLine | null;
99
+ isCloseToBody: boolean;
100
+ arrange(): void;
101
+ }
102
+ interface ICutLineData {
103
+ firstItem: RenderObject | null;
104
+ lastItem: RenderObject | null;
105
+ br?: boolean;
106
+ }
107
+ export {};