@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
@@ -1,12 +1,9 @@
|
|
1
|
-
export interface ColumnPartOffset extends ColumnPart { offset: number }
|
2
|
-
export interface ColumnPart { index: number, width: number }
|
3
|
-
export interface ColumnPatch { type: 'modify' | 'insert', data: ColumnPart }
|
4
1
|
export class ColumnPatchUtil {
|
5
|
-
static getPatchPacks(cols
|
2
|
+
static getPatchPacks(cols, splitCols) {
|
6
3
|
const oldLinePointMap = this.getLinePointMap(cols);
|
7
4
|
//要分割的列坐标
|
8
5
|
const newLinePointMap = this.getLinePointMap(splitCols);
|
9
|
-
const resArray
|
6
|
+
const resArray = new Set();
|
10
7
|
const allPointMap = oldLinePointMap.concat(newLinePointMap);
|
11
8
|
for (let i = 0; i < allPointMap.length; i++) {
|
12
9
|
const part = allPointMap[i];
|
@@ -14,7 +11,7 @@ export class ColumnPatchUtil {
|
|
14
11
|
resArray.add(part.offset + part.width);
|
15
12
|
}
|
16
13
|
const points = Array.from(resArray).sort((first, second) => first - second);
|
17
|
-
const patchs
|
14
|
+
const patchs = [];
|
18
15
|
//获取其他行的拆分补丁
|
19
16
|
for (let i = 0; i < points.length - 1; i++) {
|
20
17
|
const partStartOffset = points[i];
|
@@ -22,13 +19,11 @@ export class ColumnPatchUtil {
|
|
22
19
|
const joinPart = oldLinePointMap.find(item => {
|
23
20
|
const startOffset = item.offset;
|
24
21
|
const endOffset = item.offset + item.width;
|
25
|
-
return (
|
26
|
-
(startOffset >= partStartOffset && startOffset < partEndOffset)
|
22
|
+
return ((startOffset >= partStartOffset && startOffset < partEndOffset)
|
27
23
|
||
|
28
|
-
|
24
|
+
(endOffset > partStartOffset && endOffset <= partEndOffset)
|
29
25
|
||
|
30
|
-
|
31
|
-
)
|
26
|
+
(startOffset <= partStartOffset && endOffset >= partEndOffset));
|
32
27
|
});
|
33
28
|
if (joinPart) {
|
34
29
|
if (joinPart.offset === partStartOffset && joinPart.offset + joinPart.width === partEndOffset) {
|
@@ -36,17 +31,18 @@ export class ColumnPatchUtil {
|
|
36
31
|
}
|
37
32
|
const patch = patchs.find(item => item.part === joinPart);
|
38
33
|
if (patch) {
|
39
|
-
patch.patchs.push({ type: 'insert', data: { width: partEndOffset - partStartOffset, index: joinPart.index } })
|
40
|
-
}
|
34
|
+
patch.patchs.push({ type: 'insert', data: { width: partEndOffset - partStartOffset, index: joinPart.index } });
|
35
|
+
}
|
36
|
+
else {
|
41
37
|
patchs.push({
|
42
38
|
part: joinPart,
|
43
39
|
patchs: [{ type: 'modify', data: { width: partEndOffset - partStartOffset, index: joinPart.index } }]
|
44
|
-
})
|
40
|
+
});
|
45
41
|
}
|
46
42
|
}
|
47
43
|
}
|
48
44
|
//获取当前行的拆分补丁
|
49
|
-
const currRowPaths
|
45
|
+
const currRowPaths = [];
|
50
46
|
const allColumnMap = this.getLinePointMap(this.getColumn(points));
|
51
47
|
for (let i = 0; i < newLinePointMap.length; i++) {
|
52
48
|
const partStartOffset = newLinePointMap[i].offset;
|
@@ -54,39 +50,33 @@ export class ColumnPatchUtil {
|
|
54
50
|
const joinParts = allColumnMap.filter(item => {
|
55
51
|
const startOffset = item.offset;
|
56
52
|
const endOffset = item.offset + item.width;
|
57
|
-
return (
|
58
|
-
(startOffset >= partStartOffset && startOffset < partEndOffset)
|
53
|
+
return ((startOffset >= partStartOffset && startOffset < partEndOffset)
|
59
54
|
||
|
60
|
-
|
55
|
+
(endOffset > partStartOffset && endOffset <= partEndOffset)
|
61
56
|
||
|
62
|
-
|
63
|
-
)
|
57
|
+
(startOffset <= partStartOffset && endOffset >= partEndOffset));
|
64
58
|
});
|
65
59
|
currRowPaths.push(joinParts);
|
66
60
|
}
|
67
61
|
return [patchs, currRowPaths];
|
68
62
|
}
|
69
|
-
|
70
|
-
|
71
|
-
private static getColumn(points: Array<number>): Array<ColumnPart> {
|
72
|
-
const items: Array<ColumnPart> = [];
|
63
|
+
static getColumn(points) {
|
64
|
+
const items = [];
|
73
65
|
for (let index = 0; index < points.length - 1; index++) {
|
74
66
|
items.push({ index, width: points[index + 1] - points[index] });
|
75
67
|
}
|
76
68
|
return items;
|
77
69
|
}
|
78
|
-
|
79
|
-
|
80
|
-
const items: Array<ColumnPart> = [];
|
70
|
+
static getSplitCols(width, cols) {
|
71
|
+
const items = [];
|
81
72
|
for (let i = 0; i < cols; i++) {
|
82
73
|
items.push({ width: Math.floor(width / cols), index: i });
|
83
74
|
}
|
84
75
|
items[items.length - 1].width += width - items.reduce((prev, curr) => prev + curr.width, 0);
|
85
76
|
return items;
|
86
77
|
}
|
87
|
-
|
88
|
-
|
89
|
-
const linePointMap: Array<ColumnPartOffset> = [];
|
78
|
+
static getLinePointMap(hMergeCols) {
|
79
|
+
const linePointMap = [];
|
90
80
|
let x = 0;
|
91
81
|
for (let i = 0; i < hMergeCols.length; i++) {
|
92
82
|
const col = hMergeCols[i];
|
@@ -95,4 +85,5 @@ export class ColumnPatchUtil {
|
|
95
85
|
}
|
96
86
|
return linePointMap;
|
97
87
|
}
|
98
|
-
}
|
88
|
+
}
|
89
|
+
//# sourceMappingURL=table-split-cell-patch.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"table-split-cell-patch.js","sourceRoot":"lib/","sources":["framework/impl/table/table-split-cell-patch.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,90 @@
|
|
1
|
+
import { SelectionState } from "../../document-selection";
|
2
|
+
/**
|
3
|
+
* 拆分单元格
|
4
|
+
* 蜀道难,难于上青天;拆分单元格,头发秃,精神衰,眼睛昏,身体废。
|
5
|
+
*
|
6
|
+
* 1.拆分为多列规则:不影响其他列宽度,将当前列宽度均分
|
7
|
+
*/
|
8
|
+
export declare class TableSplitCell {
|
9
|
+
/**
|
10
|
+
*
|
11
|
+
* 普通单元格可以任意拆分行和列
|
12
|
+
* 已合并的单元格,可以拆分任意数量的列;可以拆分的数量必须为合并单元格数量的约数
|
13
|
+
*/
|
14
|
+
static splitCell(ss: SelectionState, rows: number, cols: number): void;
|
15
|
+
/**
|
16
|
+
* 拆分普通的单元格
|
17
|
+
*/
|
18
|
+
private static splitNormalCell;
|
19
|
+
/**
|
20
|
+
* 拆分合并的单元格
|
21
|
+
* @param ss
|
22
|
+
* @param rows
|
23
|
+
* @param cols
|
24
|
+
*/
|
25
|
+
static splitMergeCell(ss: SelectionState, rows: number, cols: number): void;
|
26
|
+
/**
|
27
|
+
* 拆分横向正常的单元格
|
28
|
+
* @param ss
|
29
|
+
* @param rows
|
30
|
+
* @param cols
|
31
|
+
*/
|
32
|
+
static horSplitHorNormalCell(ss: SelectionState, rows: number, cols: number): {
|
33
|
+
startColIndex: number;
|
34
|
+
endColIndex: number;
|
35
|
+
};
|
36
|
+
/**
|
37
|
+
* 横向拆分合并的单元格
|
38
|
+
* @param ss
|
39
|
+
* @param rows
|
40
|
+
* @param cols
|
41
|
+
*/
|
42
|
+
static horSplitHorMergeCell(ss: SelectionState, rows: number, cols: number): {
|
43
|
+
startColIndex: number;
|
44
|
+
endColIndex: number;
|
45
|
+
};
|
46
|
+
/**
|
47
|
+
* 获取需要新创建的列数量
|
48
|
+
*/
|
49
|
+
private static getPrepareNewColCounts;
|
50
|
+
/**
|
51
|
+
* 应用横向拆分单元格补丁
|
52
|
+
*/
|
53
|
+
private static applyHorSplitColumnPatchPacks;
|
54
|
+
/**
|
55
|
+
* 存在横向合并的单元格,进行单元格分拆,打补丁
|
56
|
+
* @param tb
|
57
|
+
* @param focusRowIndex
|
58
|
+
* @param focusColInex
|
59
|
+
* @param splitRows
|
60
|
+
* @param packs
|
61
|
+
*/
|
62
|
+
private static applyHorSplitColumnCurrPatchPacks;
|
63
|
+
/**
|
64
|
+
* 纵向拆分合并的单元格
|
65
|
+
* 在指定行下插入复制行
|
66
|
+
* 存在
|
67
|
+
*/
|
68
|
+
private static verSplitVerMergeCell;
|
69
|
+
private static getSplitCols;
|
70
|
+
/**
|
71
|
+
* 获取横向合并的列
|
72
|
+
* @param tb
|
73
|
+
* @param currRowIndex
|
74
|
+
* @param currColIndex
|
75
|
+
* @param splitCols
|
76
|
+
*/
|
77
|
+
private static getHMergeCols;
|
78
|
+
/**
|
79
|
+
* 获取纵向合并的行数
|
80
|
+
* @param tb
|
81
|
+
* @param currRowIndex
|
82
|
+
*/
|
83
|
+
private static getVMergeRowsCount;
|
84
|
+
/**
|
85
|
+
* 获取纵向合并的行数
|
86
|
+
* @param tb
|
87
|
+
* @param currRowIndex
|
88
|
+
*/
|
89
|
+
private static getHMergeColsCount;
|
90
|
+
}
|