@hailin-zheng/editor-core 1.0.9 → 1.0.13
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.
- package/lib/doc-ruler.d.ts +51 -0
- package/{src/med_editor/doc-ruler.ts → lib/doc-ruler.js} +73 -100
- package/lib/doc-ruler.js.map +1 -0
- package/lib/framework/common-util.d.ts +63 -0
- package/lib/framework/common-util.js +178 -0
- package/lib/framework/common-util.js.map +1 -0
- package/lib/framework/document-change.d.ts +265 -0
- package/{src/med_editor/framework/document-change.ts → lib/framework/document-change.js} +257 -306
- package/lib/framework/document-change.js.map +1 -0
- package/lib/framework/document-combine.d.ts +24 -0
- package/{src/med_editor/framework/document-combine.ts → lib/framework/document-combine.js} +11 -15
- package/lib/framework/document-combine.js.map +1 -0
- package/lib/framework/document-comment.d.ts +46 -0
- package/{src/med_editor/framework/document-comment.ts → lib/framework/document-comment.js} +37 -52
- package/lib/framework/document-comment.js.map +1 -0
- package/lib/framework/document-context.d.ts +149 -0
- package/{src/med_editor/framework/document-context.ts → lib/framework/document-context.js} +101 -181
- package/lib/framework/document-context.js.map +1 -0
- package/lib/framework/document-eval-func.d.ts +18 -0
- package/{src/med_editor/framework/document-eval-func.ts → lib/framework/document-eval-func.js} +11 -16
- package/lib/framework/document-eval-func.js.map +1 -0
- package/lib/framework/document-event.d.ts +213 -0
- package/{src/med_editor/framework/document-event.ts → lib/framework/document-event.js} +216 -244
- package/lib/framework/document-event.js.map +1 -0
- package/lib/framework/document-history.d.ts +26 -0
- package/{src/med_editor/framework/document-history.ts → lib/framework/document-history.js} +14 -25
- package/lib/framework/document-history.js.map +1 -0
- package/lib/framework/document-images-loader.d.ts +16 -0
- package/{src/med_editor/framework/document-images-loader.ts → lib/framework/document-images-loader.js} +17 -25
- package/lib/framework/document-images-loader.js.map +1 -0
- package/lib/framework/document-input-cursor.d.ts +78 -0
- package/{src/med_editor/framework/document-input-cursor.ts → lib/framework/document-input-cursor.js} +71 -76
- package/lib/framework/document-input-cursor.js.map +1 -0
- package/lib/framework/document-paint.d.ts +34 -0
- package/{src/med_editor/framework/document-paint.ts → lib/framework/document-paint.js} +28 -35
- package/lib/framework/document-paint.js.map +1 -0
- package/lib/framework/document-print-offscreen.d.ts +38 -0
- package/{src/med_editor/framework/document-print-offscreen.ts → lib/framework/document-print-offscreen.js} +19 -25
- package/lib/framework/document-print-offscreen.js.map +1 -0
- package/lib/framework/document-print.d.ts +60 -0
- package/{src/med_editor/framework/document-print.ts → lib/framework/document-print.js} +41 -57
- package/lib/framework/document-print.js.map +1 -0
- package/lib/framework/document-segmenter.d.ts +2 -0
- package/lib/framework/document-segmenter.js +106 -0
- package/lib/framework/document-segmenter.js.map +1 -0
- package/lib/framework/document-selection.d.ts +89 -0
- package/{src/med_editor/framework/document-selection.ts → lib/framework/document-selection.js} +84 -115
- package/lib/framework/document-selection.js.map +1 -0
- package/lib/framework/document-template.d.ts +4 -0
- package/{src/med_editor/framework/document-template.ts → lib/framework/document-template.js} +3 -3
- package/lib/framework/document-template.js.map +1 -0
- package/lib/framework/document-textline-mode.d.ts +7 -0
- package/lib/framework/document-textline-mode.js +30 -0
- package/lib/framework/document-textline-mode.js.map +1 -0
- package/lib/framework/element-define.d.ts +319 -0
- package/{src/med_editor/framework/element-define.ts → lib/framework/element-define.js} +206 -301
- package/lib/framework/element-define.js.map +1 -0
- package/lib/framework/element-event-define.d.ts +98 -0
- package/lib/framework/element-event-define.js +108 -0
- package/lib/framework/element-event-define.js.map +1 -0
- package/lib/framework/element-measure.d.ts +97 -0
- package/{src/med_editor/framework/element-measure.ts → lib/framework/element-measure.js} +121 -143
- package/lib/framework/element-measure.js.map +1 -0
- package/lib/framework/element-paint.d.ts +42 -0
- package/{src/med_editor/framework/element-paint.ts → lib/framework/element-paint.js} +37 -43
- package/lib/framework/element-paint.js.map +1 -0
- package/lib/framework/element-props.d.ts +301 -0
- package/{src/med_editor/framework/element-props.ts → lib/framework/element-props.js} +202 -331
- package/lib/framework/element-props.js.map +1 -0
- package/lib/framework/element-reader.d.ts +19 -0
- package/{src/med_editor/framework/element-reader.ts → lib/framework/element-reader.js} +30 -38
- package/lib/framework/element-reader.js.map +1 -0
- package/lib/framework/element-render-cut.d.ts +55 -0
- package/{src/med_editor/framework/element-render-cut.ts → lib/framework/element-render-cut.js} +106 -113
- package/lib/framework/element-render-cut.js.map +1 -0
- package/lib/framework/element-serialize.d.ts +30 -0
- package/{src/med_editor/framework/element-serialize.ts → lib/framework/element-serialize.js} +24 -37
- package/lib/framework/element-serialize.js.map +1 -0
- package/lib/framework/element-util.d.ts +369 -0
- package/{src/med_editor/framework/element-util.ts → lib/framework/element-util.js} +216 -317
- package/lib/framework/element-util.js.map +1 -0
- package/lib/framework/impl/checkbox/checkbox-impl.d.ts +24 -0
- package/{src/med_editor/framework/impl/checkbox/checkbox-impl.ts → lib/framework/impl/checkbox/checkbox-impl.js} +18 -25
- package/lib/framework/impl/checkbox/checkbox-impl.js.map +1 -0
- package/lib/framework/impl/comments/comment-content-impl.d.ts +40 -0
- package/{src/med_editor/framework/impl/comments/comment-content-impl.ts → lib/framework/impl/comments/comment-content-impl.js} +31 -45
- package/lib/framework/impl/comments/comment-content-impl.js.map +1 -0
- package/lib/framework/impl/comments/comment-element-impl.d.ts +21 -0
- package/{src/med_editor/framework/impl/comments/comment-element-impl.ts → lib/framework/impl/comments/comment-element-impl.js} +18 -21
- package/lib/framework/impl/comments/comment-element-impl.js.map +1 -0
- package/lib/framework/impl/comments/comments-container-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/comments/comments-container-impl.ts → lib/framework/impl/comments/comments-container-impl.js} +15 -21
- package/lib/framework/impl/comments/comments-container-impl.js.map +1 -0
- package/lib/framework/impl/comments/comments-util.d.ts +12 -0
- package/{src/med_editor/framework/impl/comments/comments-util.ts → lib/framework/impl/comments/comments-util.js} +17 -34
- package/lib/framework/impl/comments/comments-util.js.map +1 -0
- package/lib/framework/impl/comments/validate-msg-impl.d.ts +21 -0
- package/{src/med_editor/framework/impl/comments/validate-msg-impl.ts → lib/framework/impl/comments/validate-msg-impl.js} +15 -26
- package/lib/framework/impl/comments/validate-msg-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-decorate-impl.d.ts +30 -0
- package/{src/med_editor/framework/impl/data-element/data-decorate-impl.ts → lib/framework/impl/data-element/data-decorate-impl.js} +21 -25
- package/lib/framework/impl/data-element/data-decorate-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-barcode.d.ts +31 -0
- package/{src/med_editor/framework/impl/data-element/data-element-barcode.ts → lib/framework/impl/data-element/data-element-barcode.js} +27 -39
- package/lib/framework/impl/data-element/data-element-barcode.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-base-impl.d.ts +68 -0
- package/{src/med_editor/framework/impl/data-element/data-element-base-impl.ts → lib/framework/impl/data-element/data-element-base-impl.js} +44 -73
- package/lib/framework/impl/data-element/data-element-base-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-check-impl.d.ts +35 -0
- package/{src/med_editor/framework/impl/data-element/data-element-check-impl.ts → lib/framework/impl/data-element/data-element-check-impl.js} +33 -46
- package/lib/framework/impl/data-element/data-element-check-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-date-impl.d.ts +23 -0
- package/{src/med_editor/framework/impl/data-element/data-element-date-impl.ts → lib/framework/impl/data-element/data-element-date-impl.js} +22 -39
- package/lib/framework/impl/data-element/data-element-date-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-group-impl.d.ts +23 -0
- package/{src/med_editor/framework/impl/data-element/data-element-group-impl.ts → lib/framework/impl/data-element/data-element-group-impl.js} +29 -49
- package/lib/framework/impl/data-element/data-element-group-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-image-impl.d.ts +30 -0
- package/{src/med_editor/framework/impl/data-element/data-element-image-impl.ts → lib/framework/impl/data-element/data-element-image-impl.js} +26 -36
- package/lib/framework/impl/data-element/data-element-image-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-list-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/data-element/data-element-list-impl.ts → lib/framework/impl/data-element/data-element-list-impl.js} +30 -41
- package/lib/framework/impl/data-element/data-element-list-impl.js.map +1 -0
- package/lib/framework/impl/data-element/data-element-text-impl.d.ts +23 -0
- package/{src/med_editor/framework/impl/data-element/data-element-text-impl.ts → lib/framework/impl/data-element/data-element-text-impl.js} +20 -34
- package/lib/framework/impl/data-element/data-element-text-impl.js.map +1 -0
- package/lib/framework/impl/decorate/fill-null-space-imple.d.ts +21 -0
- package/{src/med_editor/framework/impl/decorate/fill-null-space-imple.ts → lib/framework/impl/decorate/fill-null-space-imple.js} +10 -15
- package/lib/framework/impl/decorate/fill-null-space-imple.js.map +1 -0
- package/lib/framework/impl/document/doc-body-impl.d.ts +27 -0
- package/{src/med_editor/framework/impl/document/doc-body-impl.ts → lib/framework/impl/document/doc-body-impl.js} +15 -31
- package/lib/framework/impl/document/doc-body-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-body-part-impl.d.ts +30 -0
- package/{src/med_editor/framework/impl/document/doc-body-part-impl.ts → lib/framework/impl/document/doc-body-part-impl.js} +16 -26
- package/lib/framework/impl/document/doc-body-part-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-container-impl.d.ts +16 -0
- package/lib/framework/impl/document/doc-container-impl.js +21 -0
- package/lib/framework/impl/document/doc-container-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-footer-impl.d.ts +26 -0
- package/{src/med_editor/framework/impl/document/doc-footer-impl.ts → lib/framework/impl/document/doc-footer-impl.js} +18 -29
- package/lib/framework/impl/document/doc-footer-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-header-impl.d.ts +26 -0
- package/{src/med_editor/framework/impl/document/doc-header-impl.ts → lib/framework/impl/document/doc-header-impl.js} +16 -33
- package/lib/framework/impl/document/doc-header-impl.js.map +1 -0
- package/lib/framework/impl/document/doc-impl.d.ts +61 -0
- package/{src/med_editor/framework/impl/document/doc-impl.ts → lib/framework/impl/document/doc-impl.js} +42 -59
- package/lib/framework/impl/document/doc-impl.js.map +1 -0
- package/lib/framework/impl/media-formula/menstrual-history.d.ts +35 -0
- package/{src/med_editor/framework/impl/media-formula/menstrual-history.ts → lib/framework/impl/media-formula/menstrual-history.js} +35 -57
- package/lib/framework/impl/media-formula/menstrual-history.js.map +1 -0
- package/lib/framework/impl/paragraph/p-impl.d.ts +45 -0
- package/{src/med_editor/framework/impl/paragraph/p-impl.ts → lib/framework/impl/paragraph/p-impl.js} +28 -62
- package/lib/framework/impl/paragraph/p-impl.js.map +1 -0
- package/lib/framework/impl/picture/image-impl.d.ts +31 -0
- package/{src/med_editor/framework/impl/picture/image-impl.ts → lib/framework/impl/picture/image-impl.js} +23 -35
- package/lib/framework/impl/picture/image-impl.js.map +1 -0
- package/lib/framework/impl/radio/radio-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/radio/radio-impl.ts → lib/framework/impl/radio/radio-impl.js} +19 -26
- package/lib/framework/impl/radio/radio-impl.js.map +1 -0
- package/lib/framework/impl/symbol/br-symbol-impl.d.ts +22 -0
- package/{src/med_editor/framework/impl/symbol/br-symbol-impl.ts → lib/framework/impl/symbol/br-symbol-impl.js} +14 -20
- package/lib/framework/impl/symbol/br-symbol-impl.js.map +1 -0
- package/lib/framework/impl/symbol/p-symbol-impl.d.ts +19 -0
- package/{src/med_editor/framework/impl/symbol/p-symbol-impl.ts → lib/framework/impl/symbol/p-symbol-impl.js} +11 -14
- package/lib/framework/impl/symbol/p-symbol-impl.js.map +1 -0
- package/lib/framework/impl/table/table-cell-impl.d.ts +37 -0
- package/{src/med_editor/framework/impl/table/table-cell-impl.ts → lib/framework/impl/table/table-cell-impl.js} +28 -39
- package/lib/framework/impl/table/table-cell-impl.js.map +1 -0
- package/lib/framework/impl/table/table-impl.d.ts +55 -0
- package/{src/med_editor/framework/impl/table/table-impl.ts → lib/framework/impl/table/table-impl.js} +82 -120
- package/lib/framework/impl/table/table-impl.js.map +1 -0
- package/lib/framework/impl/table/table-row-impl.d.ts +26 -0
- package/{src/med_editor/framework/impl/table/table-row-impl.ts → lib/framework/impl/table/table-row-impl.js} +16 -24
- package/lib/framework/impl/table/table-row-impl.js.map +1 -0
- package/lib/framework/impl/table/table-split-cell-patch.d.ts +20 -0
- package/{src/med_editor/framework/impl/table/table-split-cell-patch.ts → lib/framework/impl/table/table-split-cell-patch.js} +22 -31
- package/lib/framework/impl/table/table-split-cell-patch.js.map +1 -0
- package/lib/framework/impl/table/table-split-cell.d.ts +90 -0
- package/{src/med_editor/framework/impl/table/table-split-cell.ts → lib/framework/impl/table/table-split-cell.js} +94 -105
- package/lib/framework/impl/table/table-split-cell.js.map +1 -0
- package/lib/framework/impl/table/table-util.d.ts +150 -0
- package/{src/med_editor/framework/impl/table/table-util.ts → lib/framework/impl/table/table-util.js} +157 -195
- package/lib/framework/impl/table/table-util.js.map +1 -0
- package/lib/framework/impl/text/text-impl.d.ts +32 -0
- package/{src/med_editor/framework/impl/text/text-impl.ts → lib/framework/impl/text/text-impl.js} +32 -46
- package/lib/framework/impl/text/text-impl.js.map +1 -0
- package/lib/framework/impl/text/track-run-impl.d.ts +27 -0
- package/{src/med_editor/framework/impl/text/track-run-impl.ts → lib/framework/impl/text/track-run-impl.js} +28 -51
- package/lib/framework/impl/text/track-run-impl.js.map +1 -0
- package/lib/framework/notify.d.ts +13 -0
- package/{src/med_editor/framework/notify.ts → lib/framework/notify.js} +36 -50
- package/lib/framework/notify.js.map +1 -0
- package/lib/framework/range-util.d.ts +40 -0
- package/{src/med_editor/framework/range-util.ts → lib/framework/range-util.js} +71 -80
- package/lib/framework/range-util.js.map +1 -0
- package/lib/framework/render-context.d.ts +91 -0
- package/{src/med_editor/framework/render-context.ts → lib/framework/render-context.js} +64 -111
- package/lib/framework/render-context.js.map +1 -0
- package/lib/framework/render-define.d.ts +109 -0
- package/{src/med_editor/framework/render-define.ts → lib/framework/render-define.js} +61 -90
- package/lib/framework/render-define.js.map +1 -0
- package/lib/framework/selection-overlays.d.ts +30 -0
- package/{src/med_editor/framework/selection-overlays.ts → lib/framework/selection-overlays.js} +16 -25
- package/lib/framework/selection-overlays.js.map +1 -0
- package/lib/texteditor.d.ts +318 -0
- package/{src/med_editor/texteditor.ts → lib/texteditor.js} +189 -286
- package/lib/texteditor.js.map +1 -0
- package/lib/util/subject.d.ts +34 -0
- package/lib/util/subject.js +88 -0
- package/lib/util/subject.js.map +1 -0
- package/lib/util/table-bind.d.ts +5 -0
- package/{src/med_editor/util/table-bind.ts → lib/util/table-bind.js} +2 -2
- package/lib/util/table-bind.js.map +1 -0
- package/package.json +2 -2
- package/src/med_editor/framework/common-util.ts +0 -200
- package/src/med_editor/framework/document-segmenter.ts +0 -211
- package/src/med_editor/framework/document-textline-mode.ts +0 -34
- package/src/med_editor/framework/element-event-define.ts +0 -141
- package/src/med_editor/framework/impl/document/doc-container-impl.ts +0 -24
- package/src/med_editor/util/subject.ts +0 -118
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +0 -315
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/211/271/346/263/250.json +0 -122
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/226/207/346/241/243/351/252/214/350/257/201.json +0 -3599
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/351/225/277/346/226/207/346/234/254.json +0 -24586
- package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
- package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
- package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
- package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/206/205/351/225/234/344/270/213/346/262/273/347/226/227/350/256/260/345/275/225.json +0 -125
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225/346/250/241/346/235/277.json +0 -86
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/227/245/345/270/270/347/227/205/347/250/213/350/256/260/345/275/225.json +0 -115
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/237/245/346/210/277/350/256/260/345/275/2251.json +0 -108
- package/src/med_editor//347/227/205/347/250/213/345/275/225//351/246/226/346/254/241/344/270/212/347/272/247/345/214/273/345/270/210/346/237/245/346/210/277/350/256/260/345/275/225.json +0 -272
- package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
package/{src/med_editor/framework/impl/table/table-impl.ts → lib/framework/impl/table/table-impl.js}
RENAMED
@@ -1,71 +1,59 @@
|
|
1
|
-
import {
|
2
|
-
BlockContainerElement,
|
3
|
-
Element,
|
4
|
-
ElementFactory,
|
5
|
-
Position,
|
6
|
-
SerializeProps,
|
7
|
-
ViewOptions
|
8
|
-
} from "../../element-define";
|
9
|
-
import { ContentMenuItem, ContextMenuElementEvent, KeyboradElementEvent } from "../../element-event-define";
|
1
|
+
import { BlockContainerElement, ElementFactory } from "../../element-define";
|
10
2
|
import { TableProps } from "../../element-props";
|
11
3
|
import { ElementUtil } from "../../element-util";
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import { TableCellRenderObject } from "./table-cell-impl";
|
16
|
-
import { TableRowElement, TableRowRenderObject } from "./table-row-impl";
|
4
|
+
import { MuiltBlockLineRenderObject } from "../../render-define";
|
5
|
+
import { ParagraphElement } from "../paragraph/p-impl";
|
6
|
+
import { TableRowElement } from "./table-row-impl";
|
17
7
|
import { TableSplitCell } from "./table-split-cell";
|
18
8
|
import { TableUtil } from "./table-util";
|
19
|
-
|
20
9
|
/**
|
21
10
|
* 计算表格列
|
22
11
|
*/
|
23
|
-
function calcTableCols(element
|
24
|
-
const percentCols
|
12
|
+
function calcTableCols(element) {
|
13
|
+
const percentCols = [];
|
25
14
|
let sum = 0;
|
26
15
|
let percentSum = 0;
|
27
16
|
for (const col of element.props.cols) {
|
28
17
|
if (typeof col.width === 'string') {
|
29
18
|
percentCols.push(col);
|
30
19
|
percentSum += Number.parseFloat(col.width);
|
31
|
-
}
|
32
|
-
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
sum += col.width;
|
33
23
|
}
|
34
24
|
}
|
35
|
-
const measureRender = element.measureRender
|
36
|
-
const tbWidth = measureRender.rect.maxWidth
|
25
|
+
const measureRender = element.measureRender;
|
26
|
+
const tbWidth = measureRender.rect.maxWidth;
|
37
27
|
if (percentCols.length > 0) {
|
38
28
|
const remainWidth = tbWidth - sum;
|
39
29
|
let remainSum = 0;
|
40
30
|
for (const percentCol of percentCols) {
|
41
31
|
const percentWidth = Number.parseFloat(percentCol.width.toString());
|
42
|
-
|
43
32
|
percentCol.width = Math.floor(remainWidth * percentWidth / percentSum);
|
44
|
-
remainSum += percentCol.width
|
33
|
+
remainSum += percentCol.width;
|
45
34
|
}
|
46
35
|
if (remainWidth - remainSum > 0) {
|
47
|
-
const colWidth = percentCols[percentCols.length - 1].width
|
36
|
+
const colWidth = percentCols[percentCols.length - 1].width;
|
48
37
|
percentCols[percentCols.length - 1].width = colWidth + (remainWidth - remainSum);
|
49
38
|
}
|
50
39
|
}
|
51
|
-
const array
|
40
|
+
const array = [];
|
52
41
|
let offset = 0;
|
53
42
|
for (let i = 0; i < element.props.cols.length; i++) {
|
54
|
-
const width = element.props.cols[i].width
|
43
|
+
const width = element.props.cols[i].width;
|
55
44
|
array.push({ width, offset });
|
56
45
|
offset += width;
|
57
46
|
}
|
58
47
|
return array;
|
59
48
|
}
|
60
|
-
|
61
|
-
export class TableElement extends BlockContainerElement<TableProps> {
|
49
|
+
export class TableElement extends BlockContainerElement {
|
62
50
|
//props: TableProps;
|
63
|
-
|
51
|
+
_actualColsProps;
|
64
52
|
constructor() {
|
65
53
|
super('tb');
|
66
54
|
this.props = new TableProps();
|
67
55
|
//this.addPropValueChangedSub(this.props);
|
68
|
-
this.addEvent
|
56
|
+
this.addEvent('ElementContextMenu', (evt) => {
|
69
57
|
const { selectionState } = evt;
|
70
58
|
if (TableUtil.canDeleteTable(selectionState)) {
|
71
59
|
evt.menus.push({
|
@@ -83,20 +71,17 @@ export class TableElement extends BlockContainerElement<TableProps> {
|
|
83
71
|
});
|
84
72
|
}
|
85
73
|
if (TableUtil.canMergeCells(selectionState)) {
|
86
|
-
evt.menus.push({ icon: 'MergeDuplicate', caption: '合并单元格', eventObj: { onClick: (cevt) => { TableUtil.mergeCells(selectionState) } } });
|
74
|
+
evt.menus.push({ icon: 'MergeDuplicate', caption: '合并单元格', eventObj: { onClick: (cevt) => { TableUtil.mergeCells(selectionState); } } });
|
87
75
|
}
|
88
76
|
if (TableUtil.canSplitCell(selectionState)) {
|
89
|
-
evt.menus.push({ icon: 'Split', caption: '拆分单元格', eventObj: { onClick: (cevt) => { TableSplitCell.splitCell(selectionState, 0, 2) } } });
|
90
|
-
evt.menus.push({ icon: 'Combine', caption: '合并单元格还原', eventObj: { onClick: (cevt) => { TableUtil.restoreCell(selectionState) } } });
|
91
|
-
|
77
|
+
evt.menus.push({ icon: 'Split', caption: '拆分单元格', eventObj: { onClick: (cevt) => { TableSplitCell.splitCell(selectionState, 0, 2); } } });
|
78
|
+
evt.menus.push({ icon: 'Combine', caption: '合并单元格还原', eventObj: { onClick: (cevt) => { TableUtil.restoreCell(selectionState); } } });
|
92
79
|
}
|
93
|
-
evt.menus.push({ icon: "Insert", caption: '上方插入段落', eventObj: { onClick: (cevt) => { this.parent.addChild(ParagraphElement.createElement(), this.getIndex()); this.refreshView() } } });
|
94
|
-
evt.menus.push({ icon: "Insert", caption: '下方插入段落', eventObj: { onClick: (cevt) => { this.parent.addChild(ParagraphElement.createElement(), this.getIndex() + 1); this.refreshView() } } });
|
95
|
-
|
96
|
-
|
80
|
+
evt.menus.push({ icon: "Insert", caption: '上方插入段落', eventObj: { onClick: (cevt) => { this.parent.addChild(ParagraphElement.createElement(), this.getIndex()); this.refreshView(); } } });
|
81
|
+
evt.menus.push({ icon: "Insert", caption: '下方插入段落', eventObj: { onClick: (cevt) => { this.parent.addChild(ParagraphElement.createElement(), this.getIndex() + 1); this.refreshView(); } } });
|
97
82
|
evt.menus = removeDuplicatesEvent(evt.menus);
|
98
83
|
}, true);
|
99
|
-
this.addEvent
|
84
|
+
this.addEvent('ElementKeyDown', (evt) => {
|
100
85
|
//console.log('表格ElementKeyDown', evt);
|
101
86
|
const sourceEvent = evt.sourceEvent;
|
102
87
|
//按下tab键
|
@@ -116,48 +101,42 @@ export class TableElement extends BlockContainerElement<TableProps> {
|
|
116
101
|
}
|
117
102
|
return this._actualColsProps;
|
118
103
|
}
|
119
|
-
|
120
|
-
getCellWidth(cellIndex: number): number {
|
104
|
+
getCellWidth(cellIndex) {
|
121
105
|
if (cellIndex >= this.actualColsProps.length || cellIndex < 0) {
|
122
106
|
return -1;
|
123
107
|
}
|
124
108
|
return this.actualColsProps[cellIndex].width;
|
125
109
|
}
|
126
|
-
|
127
|
-
getCellOffsetX(cellIndex: number): number {
|
110
|
+
getCellOffsetX(cellIndex) {
|
128
111
|
return this.actualColsProps[cellIndex].offset;
|
129
112
|
}
|
130
|
-
|
131
|
-
setCellWidth(cellIndex: number, width: number): void {
|
113
|
+
setCellWidth(cellIndex, width) {
|
132
114
|
//this.actualColsProps[index].width = width;
|
133
115
|
if (cellIndex >= this.actualColsProps.length || cellIndex < 0) {
|
134
116
|
return;
|
135
117
|
}
|
136
118
|
this.props.cols[cellIndex].width = width;
|
137
119
|
}
|
138
|
-
|
139
120
|
/**
|
140
121
|
* 插入列的定义
|
141
|
-
* @param index
|
142
|
-
* @param width
|
122
|
+
* @param index
|
123
|
+
* @param width
|
143
124
|
*/
|
144
|
-
insertCol(index
|
125
|
+
insertCol(index, width) {
|
145
126
|
this.props.cols.splice(index, 0, { width });
|
146
127
|
this._actualColsProps = null;
|
147
128
|
}
|
148
|
-
|
149
129
|
/**
|
150
130
|
* 移除列的定义
|
151
|
-
* @param index
|
131
|
+
* @param index
|
152
132
|
*/
|
153
|
-
removeCol(index
|
133
|
+
removeCol(index) {
|
154
134
|
this.props.cols.splice(index, 1);
|
155
135
|
}
|
156
|
-
|
157
|
-
getColsCount(): number {
|
136
|
+
getColsCount() {
|
158
137
|
return this.actualColsProps.length;
|
159
138
|
}
|
160
|
-
clone(data
|
139
|
+
clone(data) {
|
161
140
|
const clone = new TableElement();
|
162
141
|
this.props.clone(clone.props);
|
163
142
|
if (data) {
|
@@ -167,27 +146,23 @@ export class TableElement extends BlockContainerElement<TableProps> {
|
|
167
146
|
}
|
168
147
|
return clone;
|
169
148
|
}
|
170
|
-
|
171
|
-
createRenderObject(options: ViewOptions, renderCtx: RenderContenxtType): RenderObject {
|
149
|
+
createRenderObject(options, renderCtx) {
|
172
150
|
return new TableRenderObject(this);
|
173
151
|
}
|
174
|
-
|
175
|
-
beginMeasure(): void {
|
152
|
+
beginMeasure() {
|
176
153
|
super.beginMeasure();
|
177
154
|
this._actualColsProps = null;
|
178
155
|
}
|
179
|
-
|
180
|
-
serialize(options: ViewOptions): SerializeProps {
|
156
|
+
serialize(options) {
|
181
157
|
//this.props.width = this.measureRender?.rect.width as number;
|
182
158
|
const props = {
|
183
159
|
type: 'tb',
|
184
160
|
props: { ...this.props.getSerializeProps(options) }
|
185
|
-
}
|
186
|
-
props.props.width = this.measureRender?.rect.width
|
161
|
+
};
|
162
|
+
props.props.width = this.measureRender?.rect.width;
|
187
163
|
return props;
|
188
164
|
}
|
189
|
-
|
190
|
-
static createTable(rows: number, cols: number): TableElement {
|
165
|
+
static createTable(rows, cols) {
|
191
166
|
const table = new TableElement();
|
192
167
|
const tbProps = new TableProps();
|
193
168
|
table.props = tbProps;
|
@@ -202,9 +177,8 @@ export class TableElement extends BlockContainerElement<TableProps> {
|
|
202
177
|
return table;
|
203
178
|
}
|
204
179
|
}
|
205
|
-
|
206
|
-
|
207
|
-
let arr: ContentMenuItem[] = [];
|
180
|
+
function removeDuplicatesEvent(events) {
|
181
|
+
let arr = [];
|
208
182
|
for (let i = events.length - 1; i >= 0; i--) {
|
209
183
|
let keys = arr.map(item => item.caption);
|
210
184
|
if (!keys.includes(events[i].caption)) {
|
@@ -213,23 +187,21 @@ function removeDuplicatesEvent(events: ContentMenuItem[]): ContentMenuItem[] {
|
|
213
187
|
}
|
214
188
|
return arr;
|
215
189
|
}
|
216
|
-
|
217
|
-
|
218
|
-
setRenderWidth(maxWidth: number): void {
|
190
|
+
export class TableRenderObject extends MuiltBlockLineRenderObject {
|
191
|
+
setRenderWidth(maxWidth) {
|
219
192
|
super.setRenderWidth(maxWidth);
|
220
193
|
}
|
221
|
-
|
222
|
-
beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
194
|
+
beginRender(ctx, position) {
|
223
195
|
//绘制表格线
|
224
196
|
if (this.element.props.border !== 'all') {
|
225
197
|
return;
|
226
198
|
}
|
227
199
|
for (let i = 0; i < this.length; i++) {
|
228
|
-
const rowRender = this.getChild(i)
|
229
|
-
const rowPos
|
200
|
+
const rowRender = this.getChild(i);
|
201
|
+
const rowPos = { x: rowRender.rect.x + position.x, y: rowRender.rect.y + position.y };
|
230
202
|
for (let j = 0; j < rowRender.length; j++) {
|
231
|
-
const cellRender = rowRender.getChild(j)
|
232
|
-
const cellPos
|
203
|
+
const cellRender = rowRender.getChild(j);
|
204
|
+
const cellPos = { x: cellRender.rect.x + rowPos.x, y: cellRender.rect.y + rowPos.y };
|
233
205
|
//绘制单元格上边框
|
234
206
|
if (i === 0) {
|
235
207
|
//ctx.contentContext.fillRect(cellPos.x, cellPos.y, cellRender.rect.width, 1);
|
@@ -254,10 +226,9 @@ export class TableRenderObject extends MuiltBlockLineRenderObject<TableElement>
|
|
254
226
|
}
|
255
227
|
}
|
256
228
|
}
|
257
|
-
|
258
|
-
endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
229
|
+
endRender(ctx, position) {
|
259
230
|
}
|
260
|
-
clone()
|
231
|
+
clone() {
|
261
232
|
const cloneRender = new TableRenderObject(this.element);
|
262
233
|
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
263
234
|
for (let i = 0; i < this.length; i++) {
|
@@ -266,14 +237,12 @@ export class TableRenderObject extends MuiltBlockLineRenderObject<TableElement>
|
|
266
237
|
return cloneRender;
|
267
238
|
}
|
268
239
|
}
|
269
|
-
|
270
|
-
|
271
|
-
export class TableFactory extends ElementFactory<TableProps> {
|
272
|
-
match(type: string): boolean {
|
240
|
+
export class TableFactory extends ElementFactory {
|
241
|
+
match(type) {
|
273
242
|
return type === 'tb';
|
274
243
|
}
|
275
|
-
createElement(data
|
276
|
-
const props = data.props
|
244
|
+
createElement(data, renderCtx) {
|
245
|
+
const props = data.props;
|
277
246
|
const tb = new TableElement();
|
278
247
|
const cols = props.cols;
|
279
248
|
const tbProps = tb.props;
|
@@ -287,19 +256,17 @@ export class TableFactory extends ElementFactory<TableProps> {
|
|
287
256
|
tb.props = tbProps;
|
288
257
|
return tb;
|
289
258
|
}
|
290
|
-
|
291
259
|
}
|
292
|
-
|
293
260
|
/**
|
294
261
|
* 行-表格渲染模式
|
295
262
|
*/
|
296
|
-
export function textLineRenderMode(ele
|
297
|
-
const tb = ele.measureRender
|
298
|
-
const rows
|
263
|
+
export function textLineRenderMode(ele, options, renderCtx) {
|
264
|
+
const tb = ele.measureRender;
|
265
|
+
const rows = [];
|
299
266
|
for (let i = 0; i < tb.length; i++) {
|
300
|
-
const row = tb.getChild(i)
|
267
|
+
const row = tb.getChild(i);
|
301
268
|
//表格头不做处理
|
302
|
-
if (
|
269
|
+
if (row.element.props.headerRow) {
|
303
270
|
continue;
|
304
271
|
}
|
305
272
|
rows.push(row);
|
@@ -310,16 +277,16 @@ export function textLineRenderMode(ele: TableElement, options: ViewOptions, rend
|
|
310
277
|
const maxLinesCount = getRowMaxTextLines(row);
|
311
278
|
if (maxLinesCount > 1) {
|
312
279
|
for (let j = 1; j < maxLinesCount; j++) {
|
313
|
-
const newRow = row.element.createRenderObject()
|
280
|
+
const newRow = row.element.createRenderObject();
|
314
281
|
newRow.rect = ElementUtil.cloneRect(row.rect);
|
315
282
|
tb.insertChild(newRow, row.getIndex() + 1);
|
316
283
|
//复制行文字到新行中
|
317
284
|
for (let k = 0; k < row.length; k++) {
|
318
|
-
const cell = row.getChild(k)
|
319
|
-
const newCell = cell.element.createRenderObject(options, renderCtx)
|
285
|
+
const cell = row.getChild(k);
|
286
|
+
const newCell = cell.element.createRenderObject(options, renderCtx);
|
320
287
|
newCell.rect = ElementUtil.cloneRect(cell.rect);
|
321
288
|
if (newCell) {
|
322
|
-
newRow.addChild(newCell)
|
289
|
+
newRow.addChild(newCell);
|
323
290
|
}
|
324
291
|
}
|
325
292
|
}
|
@@ -329,73 +296,68 @@ export function textLineRenderMode(ele: TableElement, options: ViewOptions, rend
|
|
329
296
|
ElementUtil.remeasure(tb);
|
330
297
|
return true;
|
331
298
|
}
|
332
|
-
|
333
299
|
/**
|
334
300
|
* 获取当前行的文字行数
|
335
|
-
* @param row
|
336
|
-
* @returns
|
301
|
+
* @param row
|
302
|
+
* @returns
|
337
303
|
*/
|
338
|
-
function getRowMaxTextLines(row
|
304
|
+
function getRowMaxTextLines(row) {
|
339
305
|
let count = 0;
|
340
306
|
for (let j = 0; j < row.length; j++) {
|
341
|
-
const cell = row.getChild(j)
|
307
|
+
const cell = row.getChild(j);
|
342
308
|
let cellMaxLines = 0;
|
343
309
|
for (let k = 0; k < cell.length; k++) {
|
344
|
-
const paraRender = cell.getChild(k)
|
310
|
+
const paraRender = cell.getChild(k);
|
345
311
|
cellMaxLines += paraRender.length;
|
346
312
|
}
|
347
313
|
count = cellMaxLines > count ? cellMaxLines : count;
|
348
314
|
}
|
349
315
|
return count;
|
350
316
|
}
|
351
|
-
|
352
317
|
/**
|
353
318
|
* 将多行文本移动到新行中
|
354
|
-
* @param row
|
355
|
-
* @param maxLinesCount
|
356
|
-
* @returns
|
319
|
+
* @param row
|
320
|
+
* @param maxLinesCount
|
321
|
+
* @returns
|
357
322
|
*/
|
358
|
-
function splitTextlineToNewRow(row
|
323
|
+
function splitTextlineToNewRow(row, maxLinesCount, options, renderCtx) {
|
359
324
|
if (maxLinesCount === 1) {
|
360
325
|
return;
|
361
326
|
}
|
362
327
|
for (let i = 0; i < row.length; i++) {
|
363
|
-
const cell = row.getChild(i)
|
328
|
+
const cell = row.getChild(i);
|
364
329
|
const paraLines = ElementUtil.getCellParaLines(cell);
|
365
330
|
if (paraLines.length === 1) {
|
366
331
|
continue;
|
367
332
|
}
|
368
333
|
for (let j = 1; j < paraLines.length; j++) {
|
369
334
|
const outterLineRect = paraLines[j];
|
370
|
-
const paraRender = outterLineRect.parent
|
371
|
-
|
372
|
-
const newParaRender = paraRender.element.createRenderObject(options, renderCtx) as ParagraphRenderObject;
|
335
|
+
const paraRender = outterLineRect.parent;
|
336
|
+
const newParaRender = paraRender.element.createRenderObject(options, renderCtx);
|
373
337
|
newParaRender.rect = ElementUtil.cloneRect(paraRender.rect);
|
374
|
-
|
375
338
|
const newOutterLineRect = outterLineRect.clone();
|
376
339
|
newOutterLineRect.rect = ElementUtil.cloneRect(outterLineRect.rect);
|
377
340
|
newParaRender.addChild(newOutterLineRect);
|
378
|
-
|
379
341
|
paraRender.removeChild(outterLineRect);
|
380
342
|
ElementUtil.remeasure(paraRender);
|
381
|
-
|
382
343
|
if (paraRender.length === 0) {
|
383
344
|
cell.removeChild(paraRender);
|
384
345
|
}
|
385
|
-
const splitRow = row.parent.getChild(row.getIndex() + j)
|
386
|
-
const splitCell = splitRow.getChild(i)
|
346
|
+
const splitRow = row.parent.getChild(row.getIndex() + j);
|
347
|
+
const splitCell = splitRow.getChild(i);
|
387
348
|
splitCell.addChild(newParaRender);
|
388
349
|
ElementUtil.remeasure(newParaRender);
|
389
350
|
}
|
390
351
|
}
|
391
|
-
const tb = row.parent
|
352
|
+
const tb = row.parent;
|
392
353
|
const rowIndex = row.getIndex();
|
393
354
|
for (let i = 0; i < maxLinesCount; i++) {
|
394
|
-
const row = tb.getChild(rowIndex + i)
|
355
|
+
const row = tb.getChild(rowIndex + i);
|
395
356
|
for (let j = 0; j < row.length; j++) {
|
396
|
-
const cell = row.getChild(j)
|
357
|
+
const cell = row.getChild(j);
|
397
358
|
ElementUtil.remeasure(cell);
|
398
359
|
}
|
399
360
|
ElementUtil.remeasure(row);
|
400
361
|
}
|
401
362
|
}
|
363
|
+
//# sourceMappingURL=table-impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"table-impl.js","sourceRoot":"lib/","sources":["framework/impl/table/table-impl.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { BlockContainerElement, Element, ElementFactory, readElementProps, SerializeProps, ViewOptions } from "../../element-define";
|
2
|
+
import { TableRowProps } from "../../element-props";
|
3
|
+
import { RenderContenxtType } from "../../render-context";
|
4
|
+
import { MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
|
5
|
+
export declare class TableRowElement extends BlockContainerElement<TableRowProps> {
|
6
|
+
constructor();
|
7
|
+
createRenderObject(): RenderObject;
|
8
|
+
serialize(viewOptions: ViewOptions): SerializeProps;
|
9
|
+
clone(data: boolean): Element;
|
10
|
+
static createRow(cols: number): TableRowElement;
|
11
|
+
}
|
12
|
+
export declare class TableRowRenderObject extends MuiltBlockLineRenderObject<TableRowElement> {
|
13
|
+
beginRender(ctx: RenderContenxtType, position: {
|
14
|
+
x: number;
|
15
|
+
y: number;
|
16
|
+
}): void;
|
17
|
+
endRender(ctx: RenderContenxtType, position: {
|
18
|
+
x: number;
|
19
|
+
y: number;
|
20
|
+
}): void;
|
21
|
+
clone(): RenderObject;
|
22
|
+
}
|
23
|
+
export declare class TableRowFactory extends ElementFactory<TableRowProps> {
|
24
|
+
match(type: string): boolean;
|
25
|
+
createElement(data: readElementProps<TableRowProps>, renderCtx: RenderContenxtType): Element;
|
26
|
+
}
|
@@ -1,11 +1,9 @@
|
|
1
|
-
import { BlockContainerElement,
|
1
|
+
import { BlockContainerElement, ElementFactory, ModifyFlag } from "../../element-define";
|
2
2
|
import { TableRowProps } from "../../element-props";
|
3
3
|
import { ElementUtil } from "../../element-util";
|
4
|
-
import {
|
5
|
-
import { MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
|
4
|
+
import { MuiltBlockLineRenderObject } from "../../render-define";
|
6
5
|
import { TableCellElement } from "./table-cell-impl";
|
7
|
-
|
8
|
-
export class TableRowElement extends BlockContainerElement<TableRowProps> {
|
6
|
+
export class TableRowElement extends BlockContainerElement {
|
9
7
|
//props: TableRowProps;
|
10
8
|
constructor() {
|
11
9
|
super('tr');
|
@@ -19,12 +17,10 @@ export class TableRowElement extends BlockContainerElement<TableRowProps> {
|
|
19
17
|
});
|
20
18
|
this.addsubscribe(this, changeSub);
|
21
19
|
}
|
22
|
-
|
23
|
-
createRenderObject(): RenderObject {
|
20
|
+
createRenderObject() {
|
24
21
|
return new TableRowRenderObject(this);
|
25
22
|
}
|
26
|
-
|
27
|
-
serialize(viewOptions: ViewOptions): SerializeProps {
|
23
|
+
serialize(viewOptions) {
|
28
24
|
return {
|
29
25
|
type: 'tr',
|
30
26
|
props: {
|
@@ -32,7 +28,7 @@ export class TableRowElement extends BlockContainerElement<TableRowProps> {
|
|
32
28
|
}
|
33
29
|
};
|
34
30
|
}
|
35
|
-
clone(data
|
31
|
+
clone(data) {
|
36
32
|
const clone = new TableRowElement();
|
37
33
|
this.props.clone(clone.props);
|
38
34
|
if (data) {
|
@@ -42,8 +38,7 @@ export class TableRowElement extends BlockContainerElement<TableRowProps> {
|
|
42
38
|
}
|
43
39
|
return clone;
|
44
40
|
}
|
45
|
-
|
46
|
-
static createRow(cols: number): TableRowElement {
|
41
|
+
static createRow(cols) {
|
47
42
|
const tr = new TableRowElement();
|
48
43
|
for (let i = 0; i < cols; i++) {
|
49
44
|
tr.addChild(TableCellElement.createCell());
|
@@ -51,14 +46,12 @@ export class TableRowElement extends BlockContainerElement<TableRowProps> {
|
|
51
46
|
return tr;
|
52
47
|
}
|
53
48
|
}
|
54
|
-
|
55
|
-
|
56
|
-
beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
49
|
+
export class TableRowRenderObject extends MuiltBlockLineRenderObject {
|
50
|
+
beginRender(ctx, position) {
|
57
51
|
}
|
58
|
-
endRender(ctx
|
52
|
+
endRender(ctx, position) {
|
59
53
|
}
|
60
|
-
|
61
|
-
clone(): RenderObject {
|
54
|
+
clone() {
|
62
55
|
const cloneRender = new TableRowRenderObject(this.element);
|
63
56
|
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
64
57
|
for (let i = 0; i < this.length; i++) {
|
@@ -67,17 +60,16 @@ export class TableRowRenderObject extends MuiltBlockLineRenderObject<TableRowEle
|
|
67
60
|
return cloneRender;
|
68
61
|
}
|
69
62
|
}
|
70
|
-
|
71
|
-
|
72
|
-
match(type: string): boolean {
|
63
|
+
export class TableRowFactory extends ElementFactory {
|
64
|
+
match(type) {
|
73
65
|
return type === 'tr';
|
74
66
|
}
|
75
|
-
createElement(data
|
76
|
-
const props = data.props
|
67
|
+
createElement(data, renderCtx) {
|
68
|
+
const props = data.props;
|
77
69
|
const tr = new TableRowElement();
|
78
70
|
tr.props.minHeight = props?.minHeight ?? -1;
|
79
71
|
tr.props.headerRow = props?.headerRow;
|
80
72
|
return tr;
|
81
73
|
}
|
82
|
-
|
83
74
|
}
|
75
|
+
//# sourceMappingURL=table-row-impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"table-row-impl.js","sourceRoot":"lib/","sources":["framework/impl/table/table-row-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAW,cAAc,EAAE,UAAU,EAAiD,MAAM,sBAAsB,CAAC;AACjJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAgB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,eAAgB,SAAQ,qBAAoC;IACrE,uBAAuB;IACvB;QACI,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,mDAAmD;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE;YAClD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,KAAK,EAAE;gBACtC,6BAA6B;gBAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,WAAwB;QAC9B,OAAO;YACH,IAAI,EAAE,IAAI;YACV,KAAK,EAAE;gBACH,GAAG,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC;aAChD;SACJ,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAa;QACf,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAY;QACzB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC3B,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC;SAC9C;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,0BAA2C;IACjF,WAAW,CAAC,GAAuB,EAAE,QAAmC;IACxE,CAAC;IACD,SAAS,CAAC,GAAuB,EAAE,QAAmC;IACtE,CAAC;IAED,KAAK;QACD,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SAClD;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,OAAO,eAAgB,SAAQ,cAA6B;IAC9D,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,KAAK,IAAI,CAAC;IACzB,CAAC;IACD,aAAa,CAAC,IAAqC,EAAE,SAA6B;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAsB,CAAC;QAC1C,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;QAC5C,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,EAAE,SAAS,CAAC;QACtC,OAAO,EAAE,CAAC;IACd,CAAC;CAEJ"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
export interface ColumnPartOffset extends ColumnPart {
|
2
|
+
offset: number;
|
3
|
+
}
|
4
|
+
export interface ColumnPart {
|
5
|
+
index: number;
|
6
|
+
width: number;
|
7
|
+
}
|
8
|
+
export interface ColumnPatch {
|
9
|
+
type: 'modify' | 'insert';
|
10
|
+
data: ColumnPart;
|
11
|
+
}
|
12
|
+
export declare class ColumnPatchUtil {
|
13
|
+
static getPatchPacks(cols: Array<ColumnPart>, splitCols: Array<ColumnPart>): [Array<{
|
14
|
+
part: ColumnPartOffset;
|
15
|
+
patchs: Array<ColumnPatch>;
|
16
|
+
}>, Array<Array<ColumnPart>>];
|
17
|
+
private static getColumn;
|
18
|
+
private static getSplitCols;
|
19
|
+
private static getLinePointMap;
|
20
|
+
}
|