@hailin-zheng/editor-core 2.1.19 → 2.1.20
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/index-cjs.js +273 -1077
 - package/index-cjs.js.map +1 -1
 - package/index.js +270 -1078
 - package/index.js.map +1 -1
 - package/med_editor/framework/document-paint.d.ts +0 -2
 - package/med_editor/framework/element-define.d.ts +1 -1
 - package/med_editor/framework/element-props.d.ts +8 -0
 - package/med_editor/framework/impl/checkbox/checkbox-impl.d.ts +2 -3
 - package/med_editor/framework/impl/comments/comment-content-impl.d.ts +1 -2
 - package/med_editor/framework/impl/comments/comment-element-impl.d.ts +1 -2
 - package/med_editor/framework/impl/comments/comments-container-impl.d.ts +2 -6
 - package/med_editor/framework/impl/comments/validate-msg-impl.d.ts +1 -2
 - package/med_editor/framework/impl/data-element/data-decorate-impl.d.ts +1 -2
 - package/med_editor/framework/impl/data-element/data-element-barcode.d.ts +2 -5
 - package/med_editor/framework/impl/data-element/data-element-base-impl.d.ts +0 -1
 - package/med_editor/framework/impl/data-element/data-element-check-impl.d.ts +1 -2
 - package/med_editor/framework/impl/data-element/data-element-group-impl.d.ts +1 -2
 - package/med_editor/framework/impl/data-element/data-element-image-impl.d.ts +2 -5
 - package/med_editor/framework/impl/decorate/fill-null-space-imple.d.ts +1 -2
 - package/med_editor/framework/impl/document/doc-body-impl.d.ts +1 -2
 - package/med_editor/framework/impl/document/doc-body-part-impl.d.ts +1 -2
 - package/med_editor/framework/impl/document/doc-container-impl.d.ts +1 -2
 - package/med_editor/framework/impl/document/doc-footer-impl.d.ts +1 -2
 - package/med_editor/framework/impl/document/doc-header-impl.d.ts +1 -2
 - package/med_editor/framework/impl/document/doc-impl.d.ts +1 -2
 - package/med_editor/framework/impl/index.d.ts +1 -0
 - package/med_editor/framework/impl/media-formula/menstrual-history.d.ts +1 -2
 - package/med_editor/framework/impl/media-formula/permanent-teeth.d.ts +1 -2
 - package/med_editor/framework/impl/paragraph/p-impl.d.ts +0 -2
 - package/med_editor/framework/impl/picture/RectEle.d.ts +1 -6
 - package/med_editor/framework/impl/picture/image-impl.d.ts +2 -5
 - package/med_editor/framework/impl/radio/radio-impl.d.ts +1 -2
 - package/med_editor/framework/impl/svg/svg-impl.d.ts +20 -0
 - package/med_editor/framework/impl/symbol/br-symbol-impl.d.ts +1 -2
 - package/med_editor/framework/impl/symbol/p-symbol-impl.d.ts +1 -2
 - package/med_editor/framework/impl/symbol/page-br-symbol-impl.d.ts +1 -2
 - package/med_editor/framework/impl/symbol/tab-symbol-impl.d.ts +1 -2
 - package/med_editor/framework/impl/table/table-cell-impl.d.ts +1 -2
 - package/med_editor/framework/impl/table/table-impl.d.ts +1 -2
 - package/med_editor/framework/impl/table/table-row-impl.d.ts +1 -2
 - package/med_editor/framework/impl/text/text-impl.d.ts +1 -2
 - package/med_editor/framework/impl/text/track-run-impl.d.ts +1 -2
 - package/med_editor/framework/render-define.d.ts +0 -2
 - package/package.json +1 -1
 
    
        package/index-cjs.js
    CHANGED
    
    | 
         @@ -275,8 +275,6 @@ class RenderObject { 
     | 
|
| 
       275 
275 
     | 
    
         
             
                    this.margin = new MarginProps();
         
     | 
| 
       276 
276 
     | 
    
         
             
                    this.padding = new PaddingProps();
         
     | 
| 
       277 
277 
     | 
    
         
             
                }
         
     | 
| 
       278 
     | 
    
         
            -
                pagePaintCompleted(e) {
         
     | 
| 
       279 
     | 
    
         
            -
                }
         
     | 
| 
       280 
278 
     | 
    
         
             
                destroy() {
         
     | 
| 
       281 
279 
     | 
    
         
             
                    //this.parent = null;
         
     | 
| 
       282 
280 
     | 
    
         
             
                    //this.margin = null;
         
     | 
| 
         @@ -2252,6 +2250,32 @@ class PictureProps extends INotifyPropertyChanged { 
     | 
|
| 
       2252 
2250 
     | 
    
         
             
                    return props;
         
     | 
| 
       2253 
2251 
     | 
    
         
             
                }
         
     | 
| 
       2254 
2252 
     | 
    
         
             
            }
         
     | 
| 
      
 2253 
     | 
    
         
            +
            class SVGProps extends INotifyPropertyChanged {
         
     | 
| 
      
 2254 
     | 
    
         
            +
                title;
         
     | 
| 
      
 2255 
     | 
    
         
            +
                width = 5;
         
     | 
| 
      
 2256 
     | 
    
         
            +
                height = 5;
         
     | 
| 
      
 2257 
     | 
    
         
            +
                value;
         
     | 
| 
      
 2258 
     | 
    
         
            +
                clone(dest) {
         
     | 
| 
      
 2259 
     | 
    
         
            +
                    const clone = dest ?? new SVGProps();
         
     | 
| 
      
 2260 
     | 
    
         
            +
                    super.cloneAttachedProperty(clone);
         
     | 
| 
      
 2261 
     | 
    
         
            +
                    clone.width = this.width;
         
     | 
| 
      
 2262 
     | 
    
         
            +
                    clone.height = this.height;
         
     | 
| 
      
 2263 
     | 
    
         
            +
                    clone.value = this.value;
         
     | 
| 
      
 2264 
     | 
    
         
            +
                    clone.title = this.title;
         
     | 
| 
      
 2265 
     | 
    
         
            +
                    return clone;
         
     | 
| 
      
 2266 
     | 
    
         
            +
                }
         
     | 
| 
      
 2267 
     | 
    
         
            +
                getSerializeProps(viewOptions) {
         
     | 
| 
      
 2268 
     | 
    
         
            +
                    const props = {
         
     | 
| 
      
 2269 
     | 
    
         
            +
                        width: this.width,
         
     | 
| 
      
 2270 
     | 
    
         
            +
                        height: this.height,
         
     | 
| 
      
 2271 
     | 
    
         
            +
                        value: this.value,
         
     | 
| 
      
 2272 
     | 
    
         
            +
                    };
         
     | 
| 
      
 2273 
     | 
    
         
            +
                    if (this.title) {
         
     | 
| 
      
 2274 
     | 
    
         
            +
                        props['title'] = this.title;
         
     | 
| 
      
 2275 
     | 
    
         
            +
                    }
         
     | 
| 
      
 2276 
     | 
    
         
            +
                    return props;
         
     | 
| 
      
 2277 
     | 
    
         
            +
                }
         
     | 
| 
      
 2278 
     | 
    
         
            +
            }
         
     | 
| 
       2255 
2279 
     | 
    
         
             
            class DataDecorateProps extends INotifyPropertyChanged {
         
     | 
| 
       2256 
2280 
     | 
    
         
             
                content;
         
     | 
| 
       2257 
2281 
     | 
    
         
             
                size;
         
     | 
| 
         @@ -2806,15 +2830,7 @@ class CommsContainerElement extends BlockContainerElement { 
     | 
|
| 
       2806 
2830 
     | 
    
         
             
            class CommsContainerRenderObject extends BlockContainerRenderObject {
         
     | 
| 
       2807 
2831 
     | 
    
         
             
                //批注内容是否已经重组,只要重新绘制的时候组合一次即可
         
     | 
| 
       2808 
2832 
     | 
    
         
             
                isMeasureComm;
         
     | 
| 
       2809 
     | 
    
         
            -
                selectedSet;
         
     | 
| 
       2810 
     | 
    
         
            -
                commentRangeStatus = [];
         
     | 
| 
       2811 
2833 
     | 
    
         
             
                commsMarks = [];
         
     | 
| 
       2812 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       2813 
     | 
    
         
            -
                    if (this.rect.height === 0) {
         
     | 
| 
       2814 
     | 
    
         
            -
                        return;
         
     | 
| 
       2815 
     | 
    
         
            -
                    }
         
     | 
| 
       2816 
     | 
    
         
            -
                    e.render.contentContext.strokeRect(e.position.x, e.position.y, this.rect.width, this.rect.height, 'black', 0.5);
         
     | 
| 
       2817 
     | 
    
         
            -
                }
         
     | 
| 
       2818 
2834 
     | 
    
         
             
                clone() {
         
     | 
| 
       2819 
2835 
     | 
    
         
             
                    const clone = new CommsContainerRenderObject(this.element);
         
     | 
| 
       2820 
2836 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -2895,9 +2911,6 @@ class DataDecorateElement extends LeafElement { 
     | 
|
| 
       2895 
2911 
     | 
    
         
             
                }
         
     | 
| 
       2896 
2912 
     | 
    
         
             
            }
         
     | 
| 
       2897 
2913 
     | 
    
         
             
            class DataDecorateRenderObject extends LeafRenderObject {
         
     | 
| 
       2898 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       2899 
     | 
    
         
            -
                    this.renderDecorRect(e.render, e.position);
         
     | 
| 
       2900 
     | 
    
         
            -
                }
         
     | 
| 
       2901 
2914 
     | 
    
         
             
                renderDecorRect(ctx, position) {
         
     | 
| 
       2902 
2915 
     | 
    
         
             
                    if (ctx.drawMode === 'print') {
         
     | 
| 
       2903 
2916 
     | 
    
         
             
                        return;
         
     | 
| 
         @@ -3107,10 +3120,6 @@ class ParagraphElement extends BlockContentElement { 
     | 
|
| 
       3107 
3120 
     | 
    
         
             
                }
         
     | 
| 
       3108 
3121 
     | 
    
         
             
            }
         
     | 
| 
       3109 
3122 
     | 
    
         
             
            class ParagraphRenderObject extends MuiltBlockLineRenderObject {
         
     | 
| 
       3110 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       3111 
     | 
    
         
            -
                    e.nextRender();
         
     | 
| 
       3112 
     | 
    
         
            -
                    this.drawProjectNumber(e.render, e.docCtx.viewOptions, e);
         
     | 
| 
       3113 
     | 
    
         
            -
                }
         
     | 
| 
       3114 
3123 
     | 
    
         
             
                /**
         
     | 
| 
       3115 
3124 
     | 
    
         
             
                 * 绘制项目符号
         
     | 
| 
       3116 
3125 
     | 
    
         
             
                 */
         
     | 
| 
         @@ -3188,8 +3197,6 @@ class ParagraphLineRectRenderObject extends BlockLineRectRenderObject { 
     | 
|
| 
       3188 
3197 
     | 
    
         
             
                baseTopLine = 0;
         
     | 
| 
       3189 
3198 
     | 
    
         
             
                baseBottomLine = 0;
         
     | 
| 
       3190 
3199 
     | 
    
         
             
                startX = 0;
         
     | 
| 
       3191 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       3192 
     | 
    
         
            -
                }
         
     | 
| 
       3193 
3200 
     | 
    
         
             
                clone() {
         
     | 
| 
       3194 
3201 
     | 
    
         
             
                    const cloneRender = new ParagraphLineRectRenderObject(this.element);
         
     | 
| 
       3195 
3202 
     | 
    
         
             
                    cloneRender.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -3391,21 +3398,6 @@ class DocumentRenderObject extends BlockContainerRenderObject { 
     | 
|
| 
       3391 
3398 
     | 
    
         
             
                }
         
     | 
| 
       3392 
3399 
     | 
    
         
             
                headerLine;
         
     | 
| 
       3393 
3400 
     | 
    
         
             
                footerLine;
         
     | 
| 
       3394 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       3395 
     | 
    
         
            -
                    const { render, position, docCtx: { viewOptions } } = e;
         
     | 
| 
       3396 
     | 
    
         
            -
                    const { width: docWidth, height: docHeight } = viewOptions.docPageSettings;
         
     | 
| 
       3397 
     | 
    
         
            -
                    render.overlaysContext.fillRect(position.x, position.y, docWidth, this.rect.height, 'white', 5, 'black');
         
     | 
| 
       3398 
     | 
    
         
            -
                    e.render.tran(() => {
         
     | 
| 
       3399 
     | 
    
         
            -
                        e.render.contentContext.ctx.fillStyle = e.docCtx.viewOptions.defaultColor;
         
     | 
| 
       3400 
     | 
    
         
            -
                        this.checkPrintMode(e);
         
     | 
| 
       3401 
     | 
    
         
            -
                        e.nextRender();
         
     | 
| 
       3402 
     | 
    
         
            -
                        this.drawCopyRight(viewOptions, render, position);
         
     | 
| 
       3403 
     | 
    
         
            -
                        this.drawDocPageNum(render, viewOptions, position);
         
     | 
| 
       3404 
     | 
    
         
            -
                        //绘制文档边距线
         
     | 
| 
       3405 
     | 
    
         
            -
                        this.drawMarginLine(position, render, docWidth, docHeight);
         
     | 
| 
       3406 
     | 
    
         
            -
                        this.drawWatermark(render, viewOptions, position);
         
     | 
| 
       3407 
     | 
    
         
            -
                    });
         
     | 
| 
       3408 
     | 
    
         
            -
                }
         
     | 
| 
       3409 
3401 
     | 
    
         
             
                /**
         
     | 
| 
       3410 
3402 
     | 
    
         
             
                 * 打印模式检查
         
     | 
| 
       3411 
3403 
     | 
    
         
             
                 * 如果是续打模式,需要进行裁剪打印范围,页眉页脚都不需要打印
         
     | 
| 
         @@ -3841,45 +3833,6 @@ function getCurrOptions(ele) { 
     | 
|
| 
       3841 
3833 
     | 
    
         
             
                return doc?.viewOptions;
         
     | 
| 
       3842 
3834 
     | 
    
         
             
            }
         
     | 
| 
       3843 
3835 
     | 
    
         
             
            class DataElementRenderObject extends InlineGroupRenderObject {
         
     | 
| 
       3844 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       3845 
     | 
    
         
            -
                    const { render, position, docCtx: { viewOptions } } = e;
         
     | 
| 
       3846 
     | 
    
         
            -
                    this.paintPos = e.position;
         
     | 
| 
       3847 
     | 
    
         
            -
                    //数据元不打印
         
     | 
| 
       3848 
     | 
    
         
            -
                    if (!this.element.props.printable && render.drawMode === 'print') {
         
     | 
| 
       3849 
     | 
    
         
            -
                        return;
         
     | 
| 
       3850 
     | 
    
         
            -
                    }
         
     | 
| 
       3851 
     | 
    
         
            -
                    render.contentContext.tran(() => {
         
     | 
| 
       3852 
     | 
    
         
            -
                        //绘制数据元区域底色
         
     | 
| 
       3853 
     | 
    
         
            -
                        let bgColor = '';
         
     | 
| 
       3854 
     | 
    
         
            -
                        if (this.element.isMouseenter) {
         
     | 
| 
       3855 
     | 
    
         
            -
                            bgColor = this.element.props.editable ? viewOptions.dataEleOverlaysColor : viewOptions.dataEleReadOnlyOverlayColor;
         
     | 
| 
       3856 
     | 
    
         
            -
                        }
         
     | 
| 
       3857 
     | 
    
         
            -
                        if (this.element.isFocused) {
         
     | 
| 
       3858 
     | 
    
         
            -
                            bgColor = e.docCtx.viewOptions.dataEleFocusedBgColor;
         
     | 
| 
       3859 
     | 
    
         
            -
                        }
         
     | 
| 
       3860 
     | 
    
         
            -
                        if (this.element.errorTip) {
         
     | 
| 
       3861 
     | 
    
         
            -
                            bgColor = viewOptions.dataEleErrorBgColor;
         
     | 
| 
       3862 
     | 
    
         
            -
                        }
         
     | 
| 
       3863 
     | 
    
         
            -
                        if (bgColor) {
         
     | 
| 
       3864 
     | 
    
         
            -
                            render.contentContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, bgColor);
         
     | 
| 
       3865 
     | 
    
         
            -
                        }
         
     | 
| 
       3866 
     | 
    
         
            -
                        if (this.element.props.secretBrowse && viewOptions.secretBrowse) {
         
     | 
| 
       3867 
     | 
    
         
            -
                            render.contentContext.ctx.filter = "blur(10px)";
         
     | 
| 
       3868 
     | 
    
         
            -
                        }
         
     | 
| 
       3869 
     | 
    
         
            -
                        if (this.element.props.underline) {
         
     | 
| 
       3870 
     | 
    
         
            -
                            const y = position.y + 2 + this.rect.height;
         
     | 
| 
       3871 
     | 
    
         
            -
                            render.contentContext.strokeLines([{ x: position.x, y }, {
         
     | 
| 
       3872 
     | 
    
         
            -
                                    x: position.x + this.rect.width,
         
     | 
| 
       3873 
     | 
    
         
            -
                                    y
         
     | 
| 
       3874 
     | 
    
         
            -
                                }], 1, '#595959');
         
     | 
| 
       3875 
     | 
    
         
            -
                        }
         
     | 
| 
       3876 
     | 
    
         
            -
                        e.nextRender();
         
     | 
| 
       3877 
     | 
    
         
            -
                        this.drawCaption(e);
         
     | 
| 
       3878 
     | 
    
         
            -
                    });
         
     | 
| 
       3879 
     | 
    
         
            -
                    e.render.onRenderCompleted.subscribe(() => {
         
     | 
| 
       3880 
     | 
    
         
            -
                        drawDecorator(e, this);
         
     | 
| 
       3881 
     | 
    
         
            -
                    });
         
     | 
| 
       3882 
     | 
    
         
            -
                }
         
     | 
| 
       3883 
3836 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       3884 
3837 
     | 
    
         
             
                    const node = super.exportHTML(event);
         
     | 
| 
       3885 
3838 
     | 
    
         
             
                    exportDecoratorHTML(event, this);
         
     | 
| 
         @@ -4165,15 +4118,6 @@ class DocumentBodyElement extends BlockContainerElement { 
     | 
|
| 
       4165 
4118 
     | 
    
         
             
                }
         
     | 
| 
       4166 
4119 
     | 
    
         
             
            }
         
     | 
| 
       4167 
4120 
     | 
    
         
             
            class DocumentBodyRenderObject extends MuiltBlockLineRenderObject {
         
     | 
| 
       4168 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4169 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       4170 
     | 
    
         
            -
                    render.tran(() => {
         
     | 
| 
       4171 
     | 
    
         
            -
                        if (this.element.disableClick && render.drawMode === 'view') {
         
     | 
| 
       4172 
     | 
    
         
            -
                            render.contentContext.setGlobalAlpha(0.5);
         
     | 
| 
       4173 
     | 
    
         
            -
                        }
         
     | 
| 
       4174 
     | 
    
         
            -
                        e.nextRender();
         
     | 
| 
       4175 
     | 
    
         
            -
                    });
         
     | 
| 
       4176 
     | 
    
         
            -
                }
         
     | 
| 
       4177 
4121 
     | 
    
         
             
                clone(cloneData = true) {
         
     | 
| 
       4178 
4122 
     | 
    
         
             
                    const cloneRender = new DocumentBodyRenderObject(this.element);
         
     | 
| 
       4179 
4123 
     | 
    
         
             
                    cloneRender.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -4243,22 +4187,6 @@ class DocumentFooterElement extends BlockContainerElement { 
     | 
|
| 
       4243 
4187 
     | 
    
         
             
                }
         
     | 
| 
       4244 
4188 
     | 
    
         
             
            }
         
     | 
| 
       4245 
4189 
     | 
    
         
             
            class DocumentFooterRenderObject extends BlockContainerRenderObject {
         
     | 
| 
       4246 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4247 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       4248 
     | 
    
         
            -
                    render.tran(() => {
         
     | 
| 
       4249 
     | 
    
         
            -
                        //判断页眉是否为输入内容
         
     | 
| 
       4250 
     | 
    
         
            -
                        const isFooterEmpty = ElementUtil.checkEmptyRenderContent(this);
         
     | 
| 
       4251 
     | 
    
         
            -
                        if (this.element.disableClick && render.drawMode === 'view') {
         
     | 
| 
       4252 
     | 
    
         
            -
                            if (isFooterEmpty) {
         
     | 
| 
       4253 
     | 
    
         
            -
                                render.contentContext.setGlobalAlpha(0);
         
     | 
| 
       4254 
     | 
    
         
            -
                            }
         
     | 
| 
       4255 
     | 
    
         
            -
                            else {
         
     | 
| 
       4256 
     | 
    
         
            -
                                render.contentContext.setGlobalAlpha(0.5);
         
     | 
| 
       4257 
     | 
    
         
            -
                            }
         
     | 
| 
       4258 
     | 
    
         
            -
                        }
         
     | 
| 
       4259 
     | 
    
         
            -
                        e.nextRender();
         
     | 
| 
       4260 
     | 
    
         
            -
                    });
         
     | 
| 
       4261 
     | 
    
         
            -
                }
         
     | 
| 
       4262 
4190 
     | 
    
         
             
                clone() {
         
     | 
| 
       4263 
4191 
     | 
    
         
             
                    const cloneRender = new DocumentFooterRenderObject(this.element);
         
     | 
| 
       4264 
4192 
     | 
    
         
             
                    cloneRender.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -4339,27 +4267,6 @@ class DocumentHeaderElement extends BlockContainerElement { 
     | 
|
| 
       4339 
4267 
     | 
    
         
             
                }
         
     | 
| 
       4340 
4268 
     | 
    
         
             
            }
         
     | 
| 
       4341 
4269 
     | 
    
         
             
            class DocumentHeaderRenderObject extends BlockContainerRenderObject {
         
     | 
| 
       4342 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4343 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       4344 
     | 
    
         
            -
                    render.tran(() => {
         
     | 
| 
       4345 
     | 
    
         
            -
                        //判断页眉是否为输入内容
         
     | 
| 
       4346 
     | 
    
         
            -
                        const isHeaderEmpty = ElementUtil.checkEmptyRenderContent(this);
         
     | 
| 
       4347 
     | 
    
         
            -
                        //存在输入内容时,绘制页眉-页体分割线
         
     | 
| 
       4348 
     | 
    
         
            -
                        if (!isHeaderEmpty || !this.element.disableClick) {
         
     | 
| 
       4349 
     | 
    
         
            -
                            const headerLineY = this.rect.height;
         
     | 
| 
       4350 
     | 
    
         
            -
                            render.contentContext.drawHoriLine(position.x, position.y + headerLineY, this.rect.width, 'black', 0.5);
         
     | 
| 
       4351 
     | 
    
         
            -
                        }
         
     | 
| 
       4352 
     | 
    
         
            -
                        if (this.element.disableClick && render.drawMode === 'view') {
         
     | 
| 
       4353 
     | 
    
         
            -
                            if (isHeaderEmpty) {
         
     | 
| 
       4354 
     | 
    
         
            -
                                render.contentContext.setGlobalAlpha(0);
         
     | 
| 
       4355 
     | 
    
         
            -
                            }
         
     | 
| 
       4356 
     | 
    
         
            -
                            else {
         
     | 
| 
       4357 
     | 
    
         
            -
                                render.contentContext.setGlobalAlpha(0.5);
         
     | 
| 
       4358 
     | 
    
         
            -
                            }
         
     | 
| 
       4359 
     | 
    
         
            -
                        }
         
     | 
| 
       4360 
     | 
    
         
            -
                        e.nextRender();
         
     | 
| 
       4361 
     | 
    
         
            -
                    });
         
     | 
| 
       4362 
     | 
    
         
            -
                }
         
     | 
| 
       4363 
4270 
     | 
    
         
             
                clone() {
         
     | 
| 
       4364 
4271 
     | 
    
         
             
                    const cloneRender = new DocumentHeaderRenderObject(this.element);
         
     | 
| 
       4365 
4272 
     | 
    
         
             
                    cloneRender.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -4439,13 +4346,6 @@ class PSymbolElement extends LeafElement { 
     | 
|
| 
       4439 
4346 
     | 
    
         
             
                }
         
     | 
| 
       4440 
4347 
     | 
    
         
             
            }
         
     | 
| 
       4441 
4348 
     | 
    
         
             
            class PSymbolRenderObject extends LeafRenderObject {
         
     | 
| 
       4442 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4443 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       4444 
     | 
    
         
            -
                    if (render.drawMode === 'print' || !e.docCtx.viewOptions.showParaSymbol) {
         
     | 
| 
       4445 
     | 
    
         
            -
                        return;
         
     | 
| 
       4446 
     | 
    
         
            -
                    }
         
     | 
| 
       4447 
     | 
    
         
            -
                    render.contentContext.drawText('↩', this.element.textProps, position.x, position.y, 20, this.rect.height);
         
     | 
| 
       4448 
     | 
    
         
            -
                }
         
     | 
| 
       4449 
4349 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       4450 
4350 
     | 
    
         
             
                    if (!event.options.showEnterSymbol || event.mode === 'print') {
         
     | 
| 
       4451 
4351 
     | 
    
         
             
                        return null;
         
     | 
| 
         @@ -4558,22 +4458,6 @@ class TableCellElement extends BlockContainerElement { 
     | 
|
| 
       4558 
4458 
     | 
    
         
             
                }
         
     | 
| 
       4559 
4459 
     | 
    
         
             
            }
         
     | 
| 
       4560 
4460 
     | 
    
         
             
            class TableCellRenderObject extends InlineMuiltBlockLineRenderObject {
         
     | 
| 
       4561 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4562 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       4563 
     | 
    
         
            -
                    render.tran(() => {
         
     | 
| 
       4564 
     | 
    
         
            -
                        render.contentContext.clip(position.x, position.y, this.rect.width, this.rect.height);
         
     | 
| 
       4565 
     | 
    
         
            -
                        const { hMerge, vMerge, backgroundColor, diagonal } = this.element.props;
         
     | 
| 
       4566 
     | 
    
         
            -
                        if (hMerge === 'continue' || vMerge === 'continue') {
         
     | 
| 
       4567 
     | 
    
         
            -
                            render.contentContext.setGlobalAlpha(0);
         
     | 
| 
       4568 
     | 
    
         
            -
                            render.overlaysContext.setGlobalAlpha(0);
         
     | 
| 
       4569 
     | 
    
         
            -
                        }
         
     | 
| 
       4570 
     | 
    
         
            -
                        if (backgroundColor && this.rect.width && this.rect.height) {
         
     | 
| 
       4571 
     | 
    
         
            -
                            render.contentContext.fillRect(position.x, position.y, this.rect.width, this.rect.height, backgroundColor);
         
     | 
| 
       4572 
     | 
    
         
            -
                        }
         
     | 
| 
       4573 
     | 
    
         
            -
                        this.renderDiagonal(render, diagonal, position);
         
     | 
| 
       4574 
     | 
    
         
            -
                        e.nextRender();
         
     | 
| 
       4575 
     | 
    
         
            -
                    });
         
     | 
| 
       4576 
     | 
    
         
            -
                }
         
     | 
| 
       4577 
4461 
     | 
    
         
             
                /**
         
     | 
| 
       4578 
4462 
     | 
    
         
             
                 * 绘制对角线
         
     | 
| 
       4579 
4463 
     | 
    
         
             
                 * @private
         
     | 
| 
         @@ -4742,8 +4626,6 @@ class TableRowRenderObject extends MuiltBlockLineRenderObject { 
     | 
|
| 
       4742 
4626 
     | 
    
         
             
                remeasureState = true;
         
     | 
| 
       4743 
4627 
     | 
    
         
             
                //当前行是否存在合并单元格
         
     | 
| 
       4744 
4628 
     | 
    
         
             
                hasMergeCells = undefined;
         
     | 
| 
       4745 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4746 
     | 
    
         
            -
                }
         
     | 
| 
       4747 
4629 
     | 
    
         
             
                clone() {
         
     | 
| 
       4748 
4630 
     | 
    
         
             
                    const cloneRender = new TableRowRenderObject(this.element);
         
     | 
| 
       4749 
4631 
     | 
    
         
             
                    cloneRender.remeasureState = this.remeasureState;
         
     | 
| 
         @@ -4772,17 +4654,6 @@ class DocumentContainerRender extends BlockContainerRenderObject { 
     | 
|
| 
       4772 
4654 
     | 
    
         
             
                constructor() {
         
     | 
| 
       4773 
4655 
     | 
    
         
             
                    super(null);
         
     | 
| 
       4774 
4656 
     | 
    
         
             
                }
         
     | 
| 
       4775 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4776 
     | 
    
         
            -
                    const { render, nextRender, docCtx: { viewOptions } } = e;
         
     | 
| 
       4777 
     | 
    
         
            -
                    const { viewSettings, docPageSettings, viewBackcolor, scale } = viewOptions;
         
     | 
| 
       4778 
     | 
    
         
            -
                    render.clear();
         
     | 
| 
       4779 
     | 
    
         
            -
                    //render.overlaysContext.fillRect(0,  0, viewSettings.width, viewSettings.height, viewBackcolor);
         
     | 
| 
       4780 
     | 
    
         
            -
                    render.tran(() => {
         
     | 
| 
       4781 
     | 
    
         
            -
                        render.overlaysContext.ctx.scale(scale, scale);
         
     | 
| 
       4782 
     | 
    
         
            -
                        render.contentContext.ctx.scale(scale, scale);
         
     | 
| 
       4783 
     | 
    
         
            -
                        nextRender();
         
     | 
| 
       4784 
     | 
    
         
            -
                    });
         
     | 
| 
       4785 
     | 
    
         
            -
                }
         
     | 
| 
       4786 
4657 
     | 
    
         
             
                clone() {
         
     | 
| 
       4787 
4658 
     | 
    
         
             
                    throw new Error("Method not implemented.");
         
     | 
| 
       4788 
4659 
     | 
    
         
             
                }
         
     | 
| 
         @@ -4899,17 +4770,6 @@ class TextGroupElement extends LeafElement { 
     | 
|
| 
       4899 
4770 
     | 
    
         
             
            }
         
     | 
| 
       4900 
4771 
     | 
    
         
             
            class TextGroupRenderObject extends LeafRenderObject {
         
     | 
| 
       4901 
4772 
     | 
    
         
             
                textMeasures;
         
     | 
| 
       4902 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       4903 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       4904 
     | 
    
         
            -
                    //null-text不打印
         
     | 
| 
       4905 
     | 
    
         
            -
                    if (render.drawMode === 'print' && this.element.isDecorate) {
         
     | 
| 
       4906 
     | 
    
         
            -
                        return;
         
     | 
| 
       4907 
     | 
    
         
            -
                    }
         
     | 
| 
       4908 
     | 
    
         
            -
                    if (this.element.props.border) {
         
     | 
| 
       4909 
     | 
    
         
            -
                        render.contentContext.strokeRect(position.x, position.y, this.rect.width, this.rect.height);
         
     | 
| 
       4910 
     | 
    
         
            -
                    }
         
     | 
| 
       4911 
     | 
    
         
            -
                    render.contentContext.drawTextUnits(this, position.x, position.y + (this.rect.height - this.element.props.fontSize) / 2);
         
     | 
| 
       4912 
     | 
    
         
            -
                }
         
     | 
| 
       4913 
4773 
     | 
    
         
             
                constructor(element) {
         
     | 
| 
       4914 
4774 
     | 
    
         
             
                    super(element);
         
     | 
| 
       4915 
4775 
     | 
    
         
             
                }
         
     | 
| 
         @@ -6625,56 +6485,6 @@ class TableRenderObject extends MuiltBlockLineRenderObject { 
     | 
|
| 
       6625 
6485 
     | 
    
         
             
                setRenderWidth(maxWidth) {
         
     | 
| 
       6626 
6486 
     | 
    
         
             
                    super.setRenderWidth(maxWidth);
         
     | 
| 
       6627 
6487 
     | 
    
         
             
                }
         
     | 
| 
       6628 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       6629 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       6630 
     | 
    
         
            -
                    //绘制表格线
         
     | 
| 
       6631 
     | 
    
         
            -
                    const border = this.element.props.border;
         
     | 
| 
       6632 
     | 
    
         
            -
                    if (border === 'none') {
         
     | 
| 
       6633 
     | 
    
         
            -
                        return;
         
     | 
| 
       6634 
     | 
    
         
            -
                    }
         
     | 
| 
       6635 
     | 
    
         
            -
                    const lineDash = border === 'dashed' ? [2, 2] : [];
         
     | 
| 
       6636 
     | 
    
         
            -
                    for (let i = 0; i < this.length; i++) {
         
     | 
| 
       6637 
     | 
    
         
            -
                        const rowRender = this.getChild(i);
         
     | 
| 
       6638 
     | 
    
         
            -
                        const rowPos = { x: rowRender.rect.x + position.x, y: rowRender.rect.y + position.y };
         
     | 
| 
       6639 
     | 
    
         
            -
                        for (let j = 0; j < rowRender.length; j++) {
         
     | 
| 
       6640 
     | 
    
         
            -
                            const cellRender = rowRender.getChild(j);
         
     | 
| 
       6641 
     | 
    
         
            -
                            const cellPos = { x: cellRender.rect.x + rowPos.x, y: cellRender.rect.y + rowPos.y };
         
     | 
| 
       6642 
     | 
    
         
            -
                            //绘制单元格上边框
         
     | 
| 
       6643 
     | 
    
         
            -
                            if (i === 0) {
         
     | 
| 
       6644 
     | 
    
         
            -
                                //ctx.contentContext.fillRect(cellPos.x, cellPos.y, cellRender.rect.width, 1);
         
     | 
| 
       6645 
     | 
    
         
            -
                                render.contentContext.fillLines([{ x: cellPos.x, y: cellPos.y }, {
         
     | 
| 
       6646 
     | 
    
         
            -
                                        x: cellPos.x + cellRender.rect.width,
         
     | 
| 
       6647 
     | 
    
         
            -
                                        y: cellPos.y
         
     | 
| 
       6648 
     | 
    
         
            -
                                    }], 1, '#000', lineDash);
         
     | 
| 
       6649 
     | 
    
         
            -
                                //this.drawLine(ctx, { x: cellPos.x, y: cellPos.y }, { x: cellPos.x + cellRender.rect.width, y: cellPos.y });
         
     | 
| 
       6650 
     | 
    
         
            -
                            }
         
     | 
| 
       6651 
     | 
    
         
            -
                            //绘制左边框
         
     | 
| 
       6652 
     | 
    
         
            -
                            if (j === 0) {
         
     | 
| 
       6653 
     | 
    
         
            -
                                //ctx.contentContext.fillRect(cellPos.x, cellPos.y, 1, cellRender.rect.height);
         
     | 
| 
       6654 
     | 
    
         
            -
                                render.contentContext.fillLines([{ x: cellPos.x, y: cellPos.y }, {
         
     | 
| 
       6655 
     | 
    
         
            -
                                        x: cellPos.x,
         
     | 
| 
       6656 
     | 
    
         
            -
                                        y: cellPos.y + cellRender.rect.height
         
     | 
| 
       6657 
     | 
    
         
            -
                                    }], 1, '#000', lineDash);
         
     | 
| 
       6658 
     | 
    
         
            -
                                //this.drawLine(ctx, { x: cellPos.x, y: cellPos.y }, { x: cellPos.x, y: cellPos.y + cellRender.rect.height });
         
     | 
| 
       6659 
     | 
    
         
            -
                            }
         
     | 
| 
       6660 
     | 
    
         
            -
                            //绘制右边框
         
     | 
| 
       6661 
     | 
    
         
            -
                            //ctx.contentContext.fillRect(cellPos.x + cellRender.rect.width, cellPos.y, 1, cellRender.rect.height);
         
     | 
| 
       6662 
     | 
    
         
            -
                            render.contentContext.fillLines([{
         
     | 
| 
       6663 
     | 
    
         
            -
                                    x: cellPos.x + cellRender.rect.width,
         
     | 
| 
       6664 
     | 
    
         
            -
                                    y: cellPos.y
         
     | 
| 
       6665 
     | 
    
         
            -
                                }, { x: cellPos.x + cellRender.rect.width, y: cellPos.y + cellRender.rect.height }], 1, '#000', lineDash);
         
     | 
| 
       6666 
     | 
    
         
            -
                            //this.drawLine(ctx, { x: cellPos.x + cellRender.rect.width, y: cellPos.y }, { x: cellPos.x + cellRender.rect.width, y: cellPos.y + cellRender.rect.height });
         
     | 
| 
       6667 
     | 
    
         
            -
                            //绘制下边框
         
     | 
| 
       6668 
     | 
    
         
            -
                            //ctx.contentContext.fillRect(cellPos.x, cellPos.y + cellRender.rect.height, cellRender.rect.width, 1);
         
     | 
| 
       6669 
     | 
    
         
            -
                            render.contentContext.fillLines([{
         
     | 
| 
       6670 
     | 
    
         
            -
                                    x: cellPos.x,
         
     | 
| 
       6671 
     | 
    
         
            -
                                    y: cellPos.y + cellRender.rect.height
         
     | 
| 
       6672 
     | 
    
         
            -
                                }, { x: cellPos.x + cellRender.rect.width, y: cellPos.y + cellRender.rect.height }], 1, '#000', lineDash);
         
     | 
| 
       6673 
     | 
    
         
            -
                            //this.drawLine(ctx, { x: cellPos.x, y: cellPos.y + cellRender.rect.height }, { x: cellPos.x + cellRender.rect.width, y: cellPos.y + cellRender.rect.height });
         
     | 
| 
       6674 
     | 
    
         
            -
                            //cellRender.beginRender(ctx, { x: position.x + cellRender.offsetX, y: position.y + cellRender.offsetY });
         
     | 
| 
       6675 
     | 
    
         
            -
                        }
         
     | 
| 
       6676 
     | 
    
         
            -
                    }
         
     | 
| 
       6677 
     | 
    
         
            -
                }
         
     | 
| 
       6678 
6488 
     | 
    
         
             
                exportTableBorder() {
         
     | 
| 
       6679 
6489 
     | 
    
         
             
                    //绘制表格线
         
     | 
| 
       6680 
6490 
     | 
    
         
             
                    const border = this.element.props.border;
         
     | 
| 
         @@ -6959,10 +6769,7 @@ class CheckBoxFactory extends ElementFactory { 
     | 
|
| 
       6959 
6769 
     | 
    
         
             
                }
         
     | 
| 
       6960 
6770 
     | 
    
         
             
            }
         
     | 
| 
       6961 
6771 
     | 
    
         
             
            class CheckBoxRenderObject extends LeafRenderObject {
         
     | 
| 
       6962 
     | 
    
         
            -
                 
     | 
| 
       6963 
     | 
    
         
            -
                    e.render.contentContext.drawCheckBox(e.position.x + 2, e.position.y, this.element.props.size, this.element.props.size, this.element.props.isChecked);
         
     | 
| 
       6964 
     | 
    
         
            -
                }
         
     | 
| 
       6965 
     | 
    
         
            -
                clone(cloneData = true) {
         
     | 
| 
      
 6772 
     | 
    
         
            +
                clone() {
         
     | 
| 
       6966 
6773 
     | 
    
         
             
                    const clone = new CheckBoxRenderObject(this.element);
         
     | 
| 
       6967 
6774 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
       6968 
6775 
     | 
    
         
             
                    return clone;
         
     | 
| 
         @@ -7061,34 +6868,6 @@ class CommContentElement extends CommContentBaseElement { 
     | 
|
| 
       7061 
6868 
     | 
    
         
             
                }
         
     | 
| 
       7062 
6869 
     | 
    
         
             
            }
         
     | 
| 
       7063 
6870 
     | 
    
         
             
            class CommContentRenderObject extends CommContentBaseRenderObject {
         
     | 
| 
       7064 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       7065 
     | 
    
         
            -
                    let borderColor = this.element.focus ? '#fa8c16' : '#ffd591';
         
     | 
| 
       7066 
     | 
    
         
            -
                    e.render.contentContext.strokeRect(e.position.x, e.position.y, this.rect.width, this.rect.height, borderColor);
         
     | 
| 
       7067 
     | 
    
         
            -
                    e.render.contentContext.fillRect(e.position.x, e.position.y, 8, this.rect.height, '#871400');
         
     | 
| 
       7068 
     | 
    
         
            -
                    const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject);
         
     | 
| 
       7069 
     | 
    
         
            -
                    //获取审阅标记的绘制坐标
         
     | 
| 
       7070 
     | 
    
         
            -
                    let commMarkPos = ElementUtil.getRenderAbsolutePaintPos(this.commMarkRender.render, {
         
     | 
| 
       7071 
     | 
    
         
            -
                        x: 0,
         
     | 
| 
       7072 
     | 
    
         
            -
                        y: -e.docCtx.viewOptions.pageOffset.y
         
     | 
| 
       7073 
     | 
    
         
            -
                    });
         
     | 
| 
       7074 
     | 
    
         
            -
                    const commMarkLinePos = ElementUtil.getParaLinePos(this.commMarkRender.render, commMarkPos);
         
     | 
| 
       7075 
     | 
    
         
            -
                    commMarkPos.y = commMarkLinePos.y + 2;
         
     | 
| 
       7076 
     | 
    
         
            -
                    const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender, {
         
     | 
| 
       7077 
     | 
    
         
            -
                        x: 0,
         
     | 
| 
       7078 
     | 
    
         
            -
                        y: -e.docCtx.viewOptions.pageOffset.y
         
     | 
| 
       7079 
     | 
    
         
            -
                    });
         
     | 
| 
       7080 
     | 
    
         
            -
                    const marginLeft = commMarkPos.x - docRenderPos.x - docRender.padding.left;
         
     | 
| 
       7081 
     | 
    
         
            -
                    const marginRight = e.docCtx.viewOptions.docPageSettings.width - marginLeft - docRender.padding.right * 2;
         
     | 
| 
       7082 
     | 
    
         
            -
                    e.render.overlaysContext.drawDashLine([commMarkPos, {
         
     | 
| 
       7083 
     | 
    
         
            -
                            x: commMarkPos.x + marginRight,
         
     | 
| 
       7084 
     | 
    
         
            -
                            y: commMarkPos.y
         
     | 
| 
       7085 
     | 
    
         
            -
                        }], [1, 1], 'red');
         
     | 
| 
       7086 
     | 
    
         
            -
                    e.render.overlaysContext.drawDashLine([{
         
     | 
| 
       7087 
     | 
    
         
            -
                            x: commMarkPos.x + marginRight,
         
     | 
| 
       7088 
     | 
    
         
            -
                            y: commMarkPos.y
         
     | 
| 
       7089 
     | 
    
         
            -
                        }, e.position], [1, 1], 'red');
         
     | 
| 
       7090 
     | 
    
         
            -
                    this.renderTitle(e.render, e.position);
         
     | 
| 
       7091 
     | 
    
         
            -
                }
         
     | 
| 
       7092 
6871 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       7093 
6872 
     | 
    
         
             
                    const t = super.exportHTML(event);
         
     | 
| 
       7094 
6873 
     | 
    
         
             
                    t.children = [];
         
     | 
| 
         @@ -7359,16 +7138,6 @@ class CommentElement extends LeafElement { 
     | 
|
| 
       7359 
7138 
     | 
    
         
             
                }
         
     | 
| 
       7360 
7139 
     | 
    
         
             
            }
         
     | 
| 
       7361 
7140 
     | 
    
         
             
            class CommentRenderObject extends LeafRenderObject {
         
     | 
| 
       7362 
     | 
    
         
            -
                //renderPos!: Position;
         
     | 
| 
       7363 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       7364 
     | 
    
         
            -
                    // if (!e.docCtx.viewOptions.showReviewWindow) {
         
     | 
| 
       7365 
     | 
    
         
            -
                    //     return;
         
     | 
| 
       7366 
     | 
    
         
            -
                    // }
         
     | 
| 
       7367 
     | 
    
         
            -
                    // this.renderPos = e.position;
         
     | 
| 
       7368 
     | 
    
         
            -
                    // const paraLinePos = ElementUtil.getParaLinePos(this, {x: e.position.x, y: e.position.y});
         
     | 
| 
       7369 
     | 
    
         
            -
                    // const color = '#ff4d4f';
         
     | 
| 
       7370 
     | 
    
         
            -
                    // e.render.contentContext.fillRect(e.position.x - 1, paraLinePos.y, 2, paraLinePos.height, color)
         
     | 
| 
       7371 
     | 
    
         
            -
                }
         
     | 
| 
       7372 
7141 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       7373 
7142 
     | 
    
         
             
                    const renderPos = { ...event.relativePagePos };
         
     | 
| 
       7374 
7143 
     | 
    
         
             
                    const paraLinePos = ElementUtil.getParaLinePos(this, { x: renderPos.x, y: renderPos.y });
         
     | 
| 
         @@ -7534,31 +7303,6 @@ class ValidateElement extends CommContentBaseElement { 
     | 
|
| 
       7534 
7303 
     | 
    
         
             
                }
         
     | 
| 
       7535 
7304 
     | 
    
         
             
            }
         
     | 
| 
       7536 
7305 
     | 
    
         
             
            class ValidateRenderObject extends CommContentBaseRenderObject {
         
     | 
| 
       7537 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       7538 
     | 
    
         
            -
                    let borderColor = this.element.focus ? '#fa8c16' : '#ffd591';
         
     | 
| 
       7539 
     | 
    
         
            -
                    e.render.contentContext.strokeRect(e.position.x, e.position.y, this.rect.width, this.rect.height, borderColor);
         
     | 
| 
       7540 
     | 
    
         
            -
                    e.render.contentContext.fillRect(e.position.x, e.position.y, 8, this.rect.height, '#871400');
         
     | 
| 
       7541 
     | 
    
         
            -
                    const docRender = ElementUtil.getParentRender(this.commMarkRender.render, DocumentRenderObject);
         
     | 
| 
       7542 
     | 
    
         
            -
                    //获取审阅标记的绘制坐标
         
     | 
| 
       7543 
     | 
    
         
            -
                    let commMarkPos = ElementUtil.getRenderAbsolutePaintPos(this.commMarkRender.render, {
         
     | 
| 
       7544 
     | 
    
         
            -
                        x: 0,
         
     | 
| 
       7545 
     | 
    
         
            -
                        y: -e.docCtx.viewOptions.pageOffset.y
         
     | 
| 
       7546 
     | 
    
         
            -
                    });
         
     | 
| 
       7547 
     | 
    
         
            -
                    const commMarkLinePos = ElementUtil.getParaLinePos(this.commMarkRender.render, commMarkPos);
         
     | 
| 
       7548 
     | 
    
         
            -
                    commMarkPos.y = commMarkLinePos.y + 2;
         
     | 
| 
       7549 
     | 
    
         
            -
                    const docRenderPos = ElementUtil.getRenderAbsolutePaintPos(docRender, { x: 0, y: -e.docCtx.viewOptions.pageOffset.y });
         
     | 
| 
       7550 
     | 
    
         
            -
                    const marginLeft = commMarkPos.x - docRenderPos.x - docRender.padding.left;
         
     | 
| 
       7551 
     | 
    
         
            -
                    const marginRight = e.docCtx.viewOptions.docPageSettings.width - marginLeft - docRender.padding.right * 2;
         
     | 
| 
       7552 
     | 
    
         
            -
                    e.render.overlaysContext.drawDashLine([commMarkPos, {
         
     | 
| 
       7553 
     | 
    
         
            -
                            x: commMarkPos.x + marginRight,
         
     | 
| 
       7554 
     | 
    
         
            -
                            y: commMarkPos.y
         
     | 
| 
       7555 
     | 
    
         
            -
                        }], [1, 1], 'red');
         
     | 
| 
       7556 
     | 
    
         
            -
                    e.render.overlaysContext.drawDashLine([{
         
     | 
| 
       7557 
     | 
    
         
            -
                            x: commMarkPos.x + marginRight,
         
     | 
| 
       7558 
     | 
    
         
            -
                            y: commMarkPos.y
         
     | 
| 
       7559 
     | 
    
         
            -
                        }, e.position], [1, 1], 'red');
         
     | 
| 
       7560 
     | 
    
         
            -
                    this.renderTitle(e.render, e.position);
         
     | 
| 
       7561 
     | 
    
         
            -
                }
         
     | 
| 
       7562 
7306 
     | 
    
         
             
                renderTitle(ctx, position) {
         
     | 
| 
       7563 
7307 
     | 
    
         
             
                    const topPadding = 24;
         
     | 
| 
       7564 
7308 
     | 
    
         
             
                    const textProps = new TextProps();
         
     | 
| 
         @@ -8484,40 +8228,11 @@ class DataElementBarcode extends DataElementLeaf { 
     | 
|
| 
       8484 
8228 
     | 
    
         
             
                }
         
     | 
| 
       8485 
8229 
     | 
    
         
             
            }
         
     | 
| 
       8486 
8230 
     | 
    
         
             
            class DataElementBarcodeRenderObject extends ResizeLeafRenderObject {
         
     | 
| 
       8487 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       8488 
     | 
    
         
            -
                    // const barcodeEle = this.element as DataElementBarcode;
         
     | 
| 
       8489 
     | 
    
         
            -
                    // barcodeEle.drawBarcode(e.render, e.position);
         
     | 
| 
       8490 
     | 
    
         
            -
                }
         
     | 
| 
       8491 
8231 
     | 
    
         
             
                clone() {
         
     | 
| 
       8492 
8232 
     | 
    
         
             
                    const clone = new DataElementBarcodeRenderObject(this.element);
         
     | 
| 
       8493 
8233 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
       8494 
8234 
     | 
    
         
             
                    return clone;
         
     | 
| 
       8495 
8235 
     | 
    
         
             
                }
         
     | 
| 
       8496 
     | 
    
         
            -
                pagePaintCompleted(e) {
         
     | 
| 
       8497 
     | 
    
         
            -
                    if (this.element.isFocused) {
         
     | 
| 
       8498 
     | 
    
         
            -
                        const { render, position: pos } = e;
         
     | 
| 
       8499 
     | 
    
         
            -
                        const { width, height } = this.rect;
         
     | 
| 
       8500 
     | 
    
         
            -
                        render.contentContext.strokeRect(pos.x, pos.y, this.rect.width, this.rect.height, '#1890ff', 0.5);
         
     | 
| 
       8501 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y);
         
     | 
| 
       8502 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y);
         
     | 
| 
       8503 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y + height);
         
     | 
| 
       8504 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y + height);
         
     | 
| 
       8505 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + (Math.floor(width / 2)), pos.y);
         
     | 
| 
       8506 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + (Math.floor(width / 2)), pos.y + height);
         
     | 
| 
       8507 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y + (Math.floor(height / 2)));
         
     | 
| 
       8508 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y + (Math.floor(height / 2)));
         
     | 
| 
       8509 
     | 
    
         
            -
                    }
         
     | 
| 
       8510 
     | 
    
         
            -
                }
         
     | 
| 
       8511 
     | 
    
         
            -
                drawResizeCircle(ctx, x, y) {
         
     | 
| 
       8512 
     | 
    
         
            -
                    const ctxNative = ctx.contentContext.ctx;
         
     | 
| 
       8513 
     | 
    
         
            -
                    ctxNative.save();
         
     | 
| 
       8514 
     | 
    
         
            -
                    ctxNative.fillStyle = '#69c0ff';
         
     | 
| 
       8515 
     | 
    
         
            -
                    ctxNative.beginPath();
         
     | 
| 
       8516 
     | 
    
         
            -
                    ctxNative.arc(x, y, Math.floor(4 / 5 * 4), 0, 2 * Math.PI);
         
     | 
| 
       8517 
     | 
    
         
            -
                    ctxNative.closePath();
         
     | 
| 
       8518 
     | 
    
         
            -
                    ctxNative.fill();
         
     | 
| 
       8519 
     | 
    
         
            -
                    ctxNative.restore();
         
     | 
| 
       8520 
     | 
    
         
            -
                }
         
     | 
| 
       8521 
8236 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       8522 
8237 
     | 
    
         
             
                    const t = super.exportHTML(event);
         
     | 
| 
       8523 
8238 
     | 
    
         
             
                    if (this.element.props.type === 'qrcode') {
         
     | 
| 
         @@ -8682,27 +8397,6 @@ class DataElementCheckRenderObject extends LeafRenderObject { 
     | 
|
| 
       8682 
8397 
     | 
    
         
             
                    cloneRender.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
       8683 
8398 
     | 
    
         
             
                    return cloneRender;
         
     | 
| 
       8684 
8399 
     | 
    
         
             
                }
         
     | 
| 
       8685 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       8686 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       8687 
     | 
    
         
            -
                    const element = this.element;
         
     | 
| 
       8688 
     | 
    
         
            -
                    if (element.props.drawStateChar) {
         
     | 
| 
       8689 
     | 
    
         
            -
                        const font = `${element.props.size - 2}px 微软雅黑`;
         
     | 
| 
       8690 
     | 
    
         
            -
                        const str = element.props.checked ? element.props.trueChar : element.props.falseChar;
         
     | 
| 
       8691 
     | 
    
         
            -
                        const color = element.props.checked ? element.props.trueStateColor : element.props.falseStateColor;
         
     | 
| 
       8692 
     | 
    
         
            -
                        e.render.contentContext.drawText2(str, font, color, position.x, position.y, element.props.size, element.props.size);
         
     | 
| 
       8693 
     | 
    
         
            -
                        if (element.props.border) {
         
     | 
| 
       8694 
     | 
    
         
            -
                            e.render.contentContext.strokeRect(position.x + 2, position.y, element.props.size, element.props.size);
         
     | 
| 
       8695 
     | 
    
         
            -
                        }
         
     | 
| 
       8696 
     | 
    
         
            -
                    }
         
     | 
| 
       8697 
     | 
    
         
            -
                    else {
         
     | 
| 
       8698 
     | 
    
         
            -
                        if (element.props.multiSelect) {
         
     | 
| 
       8699 
     | 
    
         
            -
                            render.contentContext.drawCheckBox(position.x + 2, position.y, element.props.size, element.props.size, element.props.checked);
         
     | 
| 
       8700 
     | 
    
         
            -
                        }
         
     | 
| 
       8701 
     | 
    
         
            -
                        else {
         
     | 
| 
       8702 
     | 
    
         
            -
                            render.contentContext.drawRadioBox(position.x + 2, position.y, element.props.size, element.props.size, element.props.checked);
         
     | 
| 
       8703 
     | 
    
         
            -
                        }
         
     | 
| 
       8704 
     | 
    
         
            -
                    }
         
     | 
| 
       8705 
     | 
    
         
            -
                }
         
     | 
| 
       8706 
8400 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       8707 
8401 
     | 
    
         
             
                    const t = super.exportHTML(event);
         
     | 
| 
       8708 
8402 
     | 
    
         
             
                    const props = this.element.props;
         
     | 
| 
         @@ -8993,12 +8687,6 @@ class DataElementGroupElement extends InlineGroupInputElement { 
     | 
|
| 
       8993 
8687 
     | 
    
         
             
                }
         
     | 
| 
       8994 
8688 
     | 
    
         
             
            }
         
     | 
| 
       8995 
8689 
     | 
    
         
             
            class DataElementGroupRenderObject extends InlineGroupRenderObject {
         
     | 
| 
       8996 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       8997 
     | 
    
         
            -
                    this.paintPos = e.position;
         
     | 
| 
       8998 
     | 
    
         
            -
                    e.render.onRenderCompleted.subscribe(() => {
         
     | 
| 
       8999 
     | 
    
         
            -
                        drawDecorator(e, this);
         
     | 
| 
       9000 
     | 
    
         
            -
                    });
         
     | 
| 
       9001 
     | 
    
         
            -
                }
         
     | 
| 
       9002 
8690 
     | 
    
         
             
                clone() {
         
     | 
| 
       9003 
8691 
     | 
    
         
             
                    const cloneRender = new DataElementGroupRenderObject(this.element);
         
     | 
| 
       9004 
8692 
     | 
    
         
             
                    cloneRender.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -9066,38 +8754,11 @@ class DataElementImage extends DataElementLeaf { 
     | 
|
| 
       9066 
8754 
     | 
    
         
             
                }
         
     | 
| 
       9067 
8755 
     | 
    
         
             
            }
         
     | 
| 
       9068 
8756 
     | 
    
         
             
            class DataImageRenderObject extends ResizeLeafRenderObject {
         
     | 
| 
       9069 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       9070 
     | 
    
         
            -
                }
         
     | 
| 
       9071 
8757 
     | 
    
         
             
                clone() {
         
     | 
| 
       9072 
8758 
     | 
    
         
             
                    const clone = new DataImageRenderObject(this.element);
         
     | 
| 
       9073 
8759 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
       9074 
8760 
     | 
    
         
             
                    return clone;
         
     | 
| 
       9075 
8761 
     | 
    
         
             
                }
         
     | 
| 
       9076 
     | 
    
         
            -
                pagePaintCompleted(e) {
         
     | 
| 
       9077 
     | 
    
         
            -
                    if (this.element.isFocused) {
         
     | 
| 
       9078 
     | 
    
         
            -
                        const { render, position: pos } = e;
         
     | 
| 
       9079 
     | 
    
         
            -
                        const { width, height } = this.rect;
         
     | 
| 
       9080 
     | 
    
         
            -
                        render.contentContext.strokeRect(pos.x, pos.y, this.rect.width, this.rect.height, '#1890ff', 0.5);
         
     | 
| 
       9081 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y);
         
     | 
| 
       9082 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y);
         
     | 
| 
       9083 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y + height);
         
     | 
| 
       9084 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y + height);
         
     | 
| 
       9085 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + (Math.floor(width / 2)), pos.y);
         
     | 
| 
       9086 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + (Math.floor(width / 2)), pos.y + height);
         
     | 
| 
       9087 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y + (Math.floor(height / 2)));
         
     | 
| 
       9088 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y + (Math.floor(height / 2)));
         
     | 
| 
       9089 
     | 
    
         
            -
                    }
         
     | 
| 
       9090 
     | 
    
         
            -
                }
         
     | 
| 
       9091 
     | 
    
         
            -
                drawResizeCircle(ctx, x, y) {
         
     | 
| 
       9092 
     | 
    
         
            -
                    const ctxNative = ctx.contentContext.ctx;
         
     | 
| 
       9093 
     | 
    
         
            -
                    ctxNative.save();
         
     | 
| 
       9094 
     | 
    
         
            -
                    ctxNative.fillStyle = '#69c0ff';
         
     | 
| 
       9095 
     | 
    
         
            -
                    ctxNative.beginPath();
         
     | 
| 
       9096 
     | 
    
         
            -
                    ctxNative.arc(x, y, Math.floor(4 / 5 * 4), 0, 2 * Math.PI);
         
     | 
| 
       9097 
     | 
    
         
            -
                    ctxNative.closePath();
         
     | 
| 
       9098 
     | 
    
         
            -
                    ctxNative.fill();
         
     | 
| 
       9099 
     | 
    
         
            -
                    ctxNative.restore();
         
     | 
| 
       9100 
     | 
    
         
            -
                }
         
     | 
| 
       9101 
8762 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       9102 
8763 
     | 
    
         
             
                    const t = super.exportHTML(event);
         
     | 
| 
       9103 
8764 
     | 
    
         
             
                    t.children = [{
         
     | 
| 
         @@ -9333,13 +8994,6 @@ class BreakElement extends LeafElement { 
     | 
|
| 
       9333 
8994 
     | 
    
         
             
                }
         
     | 
| 
       9334 
8995 
     | 
    
         
             
            }
         
     | 
| 
       9335 
8996 
     | 
    
         
             
            class BreakRenderObject extends LeafRenderObject {
         
     | 
| 
       9336 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       9337 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       9338 
     | 
    
         
            -
                    if (render.drawMode === 'print') {
         
     | 
| 
       9339 
     | 
    
         
            -
                        return;
         
     | 
| 
       9340 
     | 
    
         
            -
                    }
         
     | 
| 
       9341 
     | 
    
         
            -
                    render.contentContext.drawText('↓', this.element.textProps, position.x, position.y, 20, this.rect.height);
         
     | 
| 
       9342 
     | 
    
         
            -
                }
         
     | 
| 
       9343 
8997 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       9344 
8998 
     | 
    
         
             
                    if (!event.options.showEnterSymbol || event.mode === 'print') {
         
     | 
| 
       9345 
8999 
     | 
    
         
             
                        return null;
         
     | 
| 
         @@ -9505,8 +9159,6 @@ class FillNullSpaceRenderObject extends LeafRenderObject { 
     | 
|
| 
       9505 
9159 
     | 
    
         
             
                    super(null);
         
     | 
| 
       9506 
9160 
     | 
    
         
             
                    this.disableClick = true;
         
     | 
| 
       9507 
9161 
     | 
    
         
             
                }
         
     | 
| 
       9508 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       9509 
     | 
    
         
            -
                }
         
     | 
| 
       9510 
9162 
     | 
    
         
             
                clone() {
         
     | 
| 
       9511 
9163 
     | 
    
         
             
                    const clone = new FillNullSpaceRenderObject();
         
     | 
| 
       9512 
9164 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -9567,11 +9219,6 @@ class DocumentBodyPartElement extends BlockContainerElement { 
     | 
|
| 
       9567 
9219 
     | 
    
         
             
                }
         
     | 
| 
       9568 
9220 
     | 
    
         
             
            }
         
     | 
| 
       9569 
9221 
     | 
    
         
             
            class DocumentBodyPartRenderObject extends MuiltBlockLineRenderObject {
         
     | 
| 
       9570 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       9571 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       9572 
     | 
    
         
            -
                    const bgColor = (this.element.isFocused || this.element.isMouseenter) ? '#d9d9d9' : '#ffffff';
         
     | 
| 
       9573 
     | 
    
         
            -
                    render.overlaysContext.fillRect(position.x - 2, position.y - 2, this.rect.width + 4, this.rect.height + 4, bgColor, 5, 'black');
         
     | 
| 
       9574 
     | 
    
         
            -
                }
         
     | 
| 
       9575 
9222 
     | 
    
         
             
                clone(cloneData = true) {
         
     | 
| 
       9576 
9223 
     | 
    
         
             
                    const cloneRender = new DocumentBodyPartRenderObject(this.element);
         
     | 
| 
       9577 
9224 
     | 
    
         
             
                    cloneRender.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -9711,9 +9358,6 @@ function getMHItem(kind) { 
     | 
|
| 
       9711 
9358 
     | 
    
         
             
                return mhLayoutItems[kindIndex];
         
     | 
| 
       9712 
9359 
     | 
    
         
             
            }
         
     | 
| 
       9713 
9360 
     | 
    
         
             
            class DataRenderMH extends LeafRenderObject {
         
     | 
| 
       9714 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       9715 
     | 
    
         
            -
                    renderMH(this.element, e.render, e.position, true);
         
     | 
| 
       9716 
     | 
    
         
            -
                }
         
     | 
| 
       9717 
9361 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       9718 
9362 
     | 
    
         
             
                    const t = super.exportHTML(event);
         
     | 
| 
       9719 
9363 
     | 
    
         
             
                    const children = [];
         
     | 
| 
         @@ -9948,36 +9592,11 @@ class PictureElement extends LeafElement { 
     | 
|
| 
       9948 
9592 
     | 
    
         
             
                }
         
     | 
| 
       9949 
9593 
     | 
    
         
             
            }
         
     | 
| 
       9950 
9594 
     | 
    
         
             
            class PictureRenderObject extends ResizeLeafRenderObject {
         
     | 
| 
       9951 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       9952 
     | 
    
         
            -
                }
         
     | 
| 
       9953 
9595 
     | 
    
         
             
                clone() {
         
     | 
| 
       9954 
9596 
     | 
    
         
             
                    const clone = new PictureRenderObject(this.element);
         
     | 
| 
       9955 
9597 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
       9956 
9598 
     | 
    
         
             
                    return clone;
         
     | 
| 
       9957 
9599 
     | 
    
         
             
                }
         
     | 
| 
       9958 
     | 
    
         
            -
                pagePaintCompleted(e) {
         
     | 
| 
       9959 
     | 
    
         
            -
                    if (this.element.isFocused) {
         
     | 
| 
       9960 
     | 
    
         
            -
                        const { render, position: pos } = e;
         
     | 
| 
       9961 
     | 
    
         
            -
                        const { width, height } = this.rect;
         
     | 
| 
       9962 
     | 
    
         
            -
                        render.contentContext.strokeRect(pos.x, pos.y, width, height, '#1890ff', 0.5);
         
     | 
| 
       9963 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y);
         
     | 
| 
       9964 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y);
         
     | 
| 
       9965 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y + height);
         
     | 
| 
       9966 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y + height);
         
     | 
| 
       9967 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + (Math.floor(width / 2)), pos.y);
         
     | 
| 
       9968 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + (Math.floor(width / 2)), pos.y + height);
         
     | 
| 
       9969 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x, pos.y + (Math.floor(height / 2)));
         
     | 
| 
       9970 
     | 
    
         
            -
                        this.drawResizeCircle(render, pos.x + width, pos.y + (Math.floor(height / 2)));
         
     | 
| 
       9971 
     | 
    
         
            -
                    }
         
     | 
| 
       9972 
     | 
    
         
            -
                }
         
     | 
| 
       9973 
     | 
    
         
            -
                drawResizeCircle(ctx, x, y) {
         
     | 
| 
       9974 
     | 
    
         
            -
                    const ctxNative = ctx.contentContext.ctx;
         
     | 
| 
       9975 
     | 
    
         
            -
                    ctxNative.fillStyle = '#69c0ff';
         
     | 
| 
       9976 
     | 
    
         
            -
                    ctxNative.beginPath();
         
     | 
| 
       9977 
     | 
    
         
            -
                    ctxNative.arc(x, y, Math.floor(4 / 5 * 4), 0, 2 * Math.PI);
         
     | 
| 
       9978 
     | 
    
         
            -
                    ctxNative.closePath();
         
     | 
| 
       9979 
     | 
    
         
            -
                    ctxNative.fill();
         
     | 
| 
       9980 
     | 
    
         
            -
                }
         
     | 
| 
       9981 
9600 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       9982 
9601 
     | 
    
         
             
                    const picElement = this.element;
         
     | 
| 
       9983 
9602 
     | 
    
         
             
                    const picProps = picElement.props;
         
     | 
| 
         @@ -10109,10 +9728,6 @@ class RadioBoxFactory extends ElementFactory { 
     | 
|
| 
       10109 
9728 
     | 
    
         
             
                }
         
     | 
| 
       10110 
9729 
     | 
    
         
             
            }
         
     | 
| 
       10111 
9730 
     | 
    
         
             
            class RadioBoxRenderObject extends LeafRenderObject {
         
     | 
| 
       10112 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       10113 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       10114 
     | 
    
         
            -
                    render.contentContext.drawRadioBox(position.x + 2, position.y, this.element.props.size, this.element.props.size, this.element.props.isChecked);
         
     | 
| 
       10115 
     | 
    
         
            -
                }
         
     | 
| 
       10116 
9731 
     | 
    
         
             
                clone(cloneData = true) {
         
     | 
| 
       10117 
9732 
     | 
    
         
             
                    const clone = new RadioBoxRenderObject(this.element);
         
     | 
| 
       10118 
9733 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -10151,13 +9766,6 @@ class PageBreakElement extends LeafElement { 
     | 
|
| 
       10151 
9766 
     | 
    
         
             
                }
         
     | 
| 
       10152 
9767 
     | 
    
         
             
            }
         
     | 
| 
       10153 
9768 
     | 
    
         
             
            class PageBreakRenderObject extends LeafRenderObject {
         
     | 
| 
       10154 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       10155 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       10156 
     | 
    
         
            -
                    if (render.drawMode === 'print') {
         
     | 
| 
       10157 
     | 
    
         
            -
                        return;
         
     | 
| 
       10158 
     | 
    
         
            -
                    }
         
     | 
| 
       10159 
     | 
    
         
            -
                    render.contentContext.drawText('↩', this.element.textProps, position.x, position.y, 20, this.rect.height);
         
     | 
| 
       10160 
     | 
    
         
            -
                }
         
     | 
| 
       10161 
9769 
     | 
    
         
             
                clone() {
         
     | 
| 
       10162 
9770 
     | 
    
         
             
                    const render = new PageBreakRenderObject(this.element);
         
     | 
| 
       10163 
9771 
     | 
    
         
             
                    render.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -10194,13 +9802,6 @@ class TabElement extends LeafElement { 
     | 
|
| 
       10194 
9802 
     | 
    
         
             
                }
         
     | 
| 
       10195 
9803 
     | 
    
         
             
            }
         
     | 
| 
       10196 
9804 
     | 
    
         
             
            class TabRenderObject extends LeafRenderObject {
         
     | 
| 
       10197 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       10198 
     | 
    
         
            -
                    const { render, position } = e;
         
     | 
| 
       10199 
     | 
    
         
            -
                    if (render.drawMode === 'print') {
         
     | 
| 
       10200 
     | 
    
         
            -
                        return;
         
     | 
| 
       10201 
     | 
    
         
            -
                    }
         
     | 
| 
       10202 
     | 
    
         
            -
                    //render.contentContext.fillRect(position.x,position.y,this.rect.width,this.rect.height,'red');
         
     | 
| 
       10203 
     | 
    
         
            -
                }
         
     | 
| 
       10204 
9805 
     | 
    
         
             
                clone() {
         
     | 
| 
       10205 
9806 
     | 
    
         
             
                    const render = new TabRenderObject(this.element);
         
     | 
| 
       10206 
9807 
     | 
    
         
             
                    render.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -10766,58 +10367,170 @@ class TableSplitCell { 
     | 
|
| 
       10766 
10367 
     | 
    
         
             
                }
         
     | 
| 
       10767 
10368 
     | 
    
         
             
            }
         
     | 
| 
       10768 
10369 
     | 
    
         | 
| 
       10769 
     | 
    
         
            -
            class  
     | 
| 
       10770 
     | 
    
         
            -
                 
     | 
| 
       10771 
     | 
    
         
            -
             
     | 
| 
       10772 
     | 
    
         
            -
             
     | 
| 
       10773 
     | 
    
         
            -
             
     | 
| 
       10774 
     | 
    
         
            -
             
     | 
| 
       10775 
     | 
    
         
            -
             
     | 
| 
       10776 
     | 
    
         
            -
                     
     | 
| 
       10777 
     | 
    
         
            -
                    if (!result) {
         
     | 
| 
       10778 
     | 
    
         
            -
                        return null;
         
     | 
| 
       10779 
     | 
    
         
            -
                    }
         
     | 
| 
       10780 
     | 
    
         
            -
                    if (result.complete) {
         
     | 
| 
       10781 
     | 
    
         
            -
                        return result;
         
     | 
| 
       10782 
     | 
    
         
            -
                    }
         
     | 
| 
       10783 
     | 
    
         
            -
                    if (element instanceof BranchElement) {
         
     | 
| 
       10784 
     | 
    
         
            -
                        result.children = [];
         
     | 
| 
       10785 
     | 
    
         
            -
                        let prevEle = null;
         
     | 
| 
       10786 
     | 
    
         
            -
                        for (let i = 0; i < element.length; i++) {
         
     | 
| 
       10787 
     | 
    
         
            -
                            const child = element.getChild(i);
         
     | 
| 
       10788 
     | 
    
         
            -
                            const serializeChild = this.serialize(child, viewOptions);
         
     | 
| 
       10789 
     | 
    
         
            -
                            if (child.type === 'text' && prevEle && prevEle.ele.type === 'text') {
         
     | 
| 
       10790 
     | 
    
         
            -
                                if (child.props.equals(prevEle.ele.props)) {
         
     | 
| 
       10791 
     | 
    
         
            -
                                    prevEle.props.content += serializeChild.content;
         
     | 
| 
       10792 
     | 
    
         
            -
                                    continue;
         
     | 
| 
       10793 
     | 
    
         
            -
                                }
         
     | 
| 
       10794 
     | 
    
         
            -
                            }
         
     | 
| 
       10795 
     | 
    
         
            -
                            if (serializeChild) {
         
     | 
| 
       10796 
     | 
    
         
            -
                                delete serializeChild.complete;
         
     | 
| 
       10797 
     | 
    
         
            -
                                serializeChild.props = serializeChild.props || {};
         
     | 
| 
       10798 
     | 
    
         
            -
                                if (Object.keys(serializeChild.props).length === 0) {
         
     | 
| 
       10799 
     | 
    
         
            -
                                    delete serializeChild.props;
         
     | 
| 
       10800 
     | 
    
         
            -
                                }
         
     | 
| 
       10801 
     | 
    
         
            -
                                if (serializeChild.children && serializeChild.children.length === 0) {
         
     | 
| 
       10802 
     | 
    
         
            -
                                    delete serializeChild.children;
         
     | 
| 
       10803 
     | 
    
         
            -
                                }
         
     | 
| 
       10804 
     | 
    
         
            -
                                result.children.push(serializeChild);
         
     | 
| 
       10805 
     | 
    
         
            -
                                prevEle = { ele: child, props: serializeChild };
         
     | 
| 
       10806 
     | 
    
         
            -
                            }
         
     | 
| 
       10807 
     | 
    
         
            -
                        }
         
     | 
| 
       10808 
     | 
    
         
            -
                    }
         
     | 
| 
       10809 
     | 
    
         
            -
                    if (element.props && element.props['__attachedProperty'] && !result.props['__attachedProperty']) {
         
     | 
| 
       10810 
     | 
    
         
            -
                        result.props['__attachedProperty'] = CommonUtil.cloneValue(element.props['__attachedProperty']);
         
     | 
| 
       10811 
     | 
    
         
            -
                    }
         
     | 
| 
       10812 
     | 
    
         
            -
                    return result;
         
     | 
| 
      
 10370 
     | 
    
         
            +
            class SVGElement extends LeafElement {
         
     | 
| 
      
 10371 
     | 
    
         
            +
                resizeable = true;
         
     | 
| 
      
 10372 
     | 
    
         
            +
                constructor() {
         
     | 
| 
      
 10373 
     | 
    
         
            +
                    super('svg');
         
     | 
| 
      
 10374 
     | 
    
         
            +
                    this.props = new SVGProps();
         
     | 
| 
      
 10375 
     | 
    
         
            +
                    //this.addPropValueChangedSub(this.props);
         
     | 
| 
      
 10376 
     | 
    
         
            +
                    this.cursorType = 'move';
         
     | 
| 
      
 10377 
     | 
    
         
            +
                    this.focusable = true;
         
     | 
| 
       10813 
10378 
     | 
    
         
             
                }
         
     | 
| 
       10814 
     | 
    
         
            -
                 
     | 
| 
       10815 
     | 
    
         
            -
                     
     | 
| 
       10816 
     | 
    
         
            -
             
     | 
| 
       10817 
     | 
    
         
            -
                     
     | 
| 
       10818 
     | 
    
         
            -
                     
     | 
| 
      
 10379 
     | 
    
         
            +
                createRenderObject() {
         
     | 
| 
      
 10380 
     | 
    
         
            +
                    const render = new SVGRenderObject(this);
         
     | 
| 
      
 10381 
     | 
    
         
            +
                    render.rect.width = this.props.width;
         
     | 
| 
      
 10382 
     | 
    
         
            +
                    render.rect.height = this.props.height;
         
     | 
| 
      
 10383 
     | 
    
         
            +
                    return render;
         
     | 
| 
      
 10384 
     | 
    
         
            +
                }
         
     | 
| 
      
 10385 
     | 
    
         
            +
                serialize(options) {
         
     | 
| 
      
 10386 
     | 
    
         
            +
                    return {
         
     | 
| 
      
 10387 
     | 
    
         
            +
                        type: 'svg',
         
     | 
| 
      
 10388 
     | 
    
         
            +
                        props: {
         
     | 
| 
      
 10389 
     | 
    
         
            +
                            ...this.props.getSerializeProps(options)
         
     | 
| 
      
 10390 
     | 
    
         
            +
                        }
         
     | 
| 
      
 10391 
     | 
    
         
            +
                    };
         
     | 
| 
      
 10392 
     | 
    
         
            +
                }
         
     | 
| 
      
 10393 
     | 
    
         
            +
                clone(data) {
         
     | 
| 
      
 10394 
     | 
    
         
            +
                    const clone = new SVGElement();
         
     | 
| 
      
 10395 
     | 
    
         
            +
                    this.props.clone(clone.props);
         
     | 
| 
      
 10396 
     | 
    
         
            +
                    return clone;
         
     | 
| 
      
 10397 
     | 
    
         
            +
                }
         
     | 
| 
      
 10398 
     | 
    
         
            +
                destroy() {
         
     | 
| 
      
 10399 
     | 
    
         
            +
                    super.destroy();
         
     | 
| 
      
 10400 
     | 
    
         
            +
                }
         
     | 
| 
      
 10401 
     | 
    
         
            +
            }
         
     | 
| 
      
 10402 
     | 
    
         
            +
            class SVGRenderObject extends ResizeLeafRenderObject {
         
     | 
| 
      
 10403 
     | 
    
         
            +
                clone() {
         
     | 
| 
      
 10404 
     | 
    
         
            +
                    const clone = new SVGRenderObject(this.element);
         
     | 
| 
      
 10405 
     | 
    
         
            +
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
      
 10406 
     | 
    
         
            +
                    return clone;
         
     | 
| 
      
 10407 
     | 
    
         
            +
                }
         
     | 
| 
      
 10408 
     | 
    
         
            +
                drawResizeCircle(ctx, x, y) {
         
     | 
| 
      
 10409 
     | 
    
         
            +
                    const ctxNative = ctx.contentContext.ctx;
         
     | 
| 
      
 10410 
     | 
    
         
            +
                    ctxNative.fillStyle = '#69c0ff';
         
     | 
| 
      
 10411 
     | 
    
         
            +
                    ctxNative.beginPath();
         
     | 
| 
      
 10412 
     | 
    
         
            +
                    ctxNative.arc(x, y, Math.floor(4 / 5 * 4), 0, 2 * Math.PI);
         
     | 
| 
      
 10413 
     | 
    
         
            +
                    ctxNative.closePath();
         
     | 
| 
      
 10414 
     | 
    
         
            +
                    ctxNative.fill();
         
     | 
| 
      
 10415 
     | 
    
         
            +
                }
         
     | 
| 
      
 10416 
     | 
    
         
            +
                exportHTML(event) {
         
     | 
| 
      
 10417 
     | 
    
         
            +
                    const props = this.element.props;
         
     | 
| 
      
 10418 
     | 
    
         
            +
                    const t = super.exportHTML(event);
         
     | 
| 
      
 10419 
     | 
    
         
            +
                    t.children = [{
         
     | 
| 
      
 10420 
     | 
    
         
            +
                            sel: 'svg',
         
     | 
| 
      
 10421 
     | 
    
         
            +
                            data: {
         
     | 
| 
      
 10422 
     | 
    
         
            +
                                ns: "http://www.w3.org/2000/svg",
         
     | 
| 
      
 10423 
     | 
    
         
            +
                                attrs: {
         
     | 
| 
      
 10424 
     | 
    
         
            +
                                    width: this.rect.width,
         
     | 
| 
      
 10425 
     | 
    
         
            +
                                    height: this.rect.height
         
     | 
| 
      
 10426 
     | 
    
         
            +
                                }
         
     | 
| 
      
 10427 
     | 
    
         
            +
                            },
         
     | 
| 
      
 10428 
     | 
    
         
            +
                            children: [{
         
     | 
| 
      
 10429 
     | 
    
         
            +
                                    sel: 'image',
         
     | 
| 
      
 10430 
     | 
    
         
            +
                                    data: {
         
     | 
| 
      
 10431 
     | 
    
         
            +
                                        ns: "http://www.w3.org/2000/svg",
         
     | 
| 
      
 10432 
     | 
    
         
            +
                                        attrs: {
         
     | 
| 
      
 10433 
     | 
    
         
            +
                                            "xlink:href": props.value,
         
     | 
| 
      
 10434 
     | 
    
         
            +
                                            width: Math.min(this.rect.width, this.rect.height),
         
     | 
| 
      
 10435 
     | 
    
         
            +
                                            height: Math.min(this.rect.width, this.rect.height)
         
     | 
| 
      
 10436 
     | 
    
         
            +
                                        }
         
     | 
| 
      
 10437 
     | 
    
         
            +
                                    }
         
     | 
| 
      
 10438 
     | 
    
         
            +
                                }]
         
     | 
| 
      
 10439 
     | 
    
         
            +
                        }];
         
     | 
| 
      
 10440 
     | 
    
         
            +
                    //绘制拖动圆圈
         
     | 
| 
      
 10441 
     | 
    
         
            +
                    if (this.element.isFocused) {
         
     | 
| 
      
 10442 
     | 
    
         
            +
                        const { width, height } = this.rect;
         
     | 
| 
      
 10443 
     | 
    
         
            +
                        const circlePoints = [{ x: 0, y: 0 }, { x: width, y: 0 }, { x: 0, y: height }, { x: width, y: height }, { x: Math.floor(width / 2), y: 0 }, { x: Math.floor(width / 2), y: height }, { x: 0, y: Math.floor(height / 2) }, { x: width, y: Math.floor(height / 2) }];
         
     | 
| 
      
 10444 
     | 
    
         
            +
                        circlePoints.forEach((p) => {
         
     | 
| 
      
 10445 
     | 
    
         
            +
                            t.children.push({
         
     | 
| 
      
 10446 
     | 
    
         
            +
                                sel: 'circle',
         
     | 
| 
      
 10447 
     | 
    
         
            +
                                data: {
         
     | 
| 
      
 10448 
     | 
    
         
            +
                                    ns: "http://www.w3.org/2000/svg",
         
     | 
| 
      
 10449 
     | 
    
         
            +
                                    attrs: {
         
     | 
| 
      
 10450 
     | 
    
         
            +
                                        cx: p.x,
         
     | 
| 
      
 10451 
     | 
    
         
            +
                                        cy: p.y,
         
     | 
| 
      
 10452 
     | 
    
         
            +
                                        r: Math.floor(4 / 5 * 4),
         
     | 
| 
      
 10453 
     | 
    
         
            +
                                        fill: '#69c0ff'
         
     | 
| 
      
 10454 
     | 
    
         
            +
                                    }
         
     | 
| 
      
 10455 
     | 
    
         
            +
                                }
         
     | 
| 
      
 10456 
     | 
    
         
            +
                            });
         
     | 
| 
      
 10457 
     | 
    
         
            +
                        });
         
     | 
| 
      
 10458 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10459 
     | 
    
         
            +
                    return t;
         
     | 
| 
      
 10460 
     | 
    
         
            +
                }
         
     | 
| 
      
 10461 
     | 
    
         
            +
            }
         
     | 
| 
      
 10462 
     | 
    
         
            +
            class SVGFactory extends ElementFactory {
         
     | 
| 
      
 10463 
     | 
    
         
            +
                match(type) {
         
     | 
| 
      
 10464 
     | 
    
         
            +
                    return type === 'svg';
         
     | 
| 
      
 10465 
     | 
    
         
            +
                }
         
     | 
| 
      
 10466 
     | 
    
         
            +
                createElement(data) {
         
     | 
| 
      
 10467 
     | 
    
         
            +
                    const props = data.props;
         
     | 
| 
      
 10468 
     | 
    
         
            +
                    const pic = new SVGElement();
         
     | 
| 
      
 10469 
     | 
    
         
            +
                    const picProps = pic.props;
         
     | 
| 
      
 10470 
     | 
    
         
            +
                    picProps.width = props.width;
         
     | 
| 
      
 10471 
     | 
    
         
            +
                    picProps.height = props.height;
         
     | 
| 
      
 10472 
     | 
    
         
            +
                    picProps.value = props.value;
         
     | 
| 
      
 10473 
     | 
    
         
            +
                    picProps.title = props.title;
         
     | 
| 
      
 10474 
     | 
    
         
            +
                    pic.props = picProps;
         
     | 
| 
      
 10475 
     | 
    
         
            +
                    return pic;
         
     | 
| 
      
 10476 
     | 
    
         
            +
                }
         
     | 
| 
      
 10477 
     | 
    
         
            +
            }
         
     | 
| 
      
 10478 
     | 
    
         
            +
             
     | 
| 
      
 10479 
     | 
    
         
            +
            class ElementSerialize {
         
     | 
| 
      
 10480 
     | 
    
         
            +
                /**
         
     | 
| 
      
 10481 
     | 
    
         
            +
                 * 将当前文档对象构建并输出到标准的JSON对象
         
     | 
| 
      
 10482 
     | 
    
         
            +
                 * @param element
         
     | 
| 
      
 10483 
     | 
    
         
            +
                 * @param viewOptions
         
     | 
| 
      
 10484 
     | 
    
         
            +
                 */
         
     | 
| 
      
 10485 
     | 
    
         
            +
                static serialize(element, viewOptions) {
         
     | 
| 
      
 10486 
     | 
    
         
            +
                    const result = element.serialize(viewOptions);
         
     | 
| 
      
 10487 
     | 
    
         
            +
                    if (!result) {
         
     | 
| 
      
 10488 
     | 
    
         
            +
                        return null;
         
     | 
| 
      
 10489 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10490 
     | 
    
         
            +
                    if (result.complete) {
         
     | 
| 
      
 10491 
     | 
    
         
            +
                        return result;
         
     | 
| 
      
 10492 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10493 
     | 
    
         
            +
                    if (element instanceof BranchElement) {
         
     | 
| 
      
 10494 
     | 
    
         
            +
                        result.children = [];
         
     | 
| 
      
 10495 
     | 
    
         
            +
                        let prevEle = null;
         
     | 
| 
      
 10496 
     | 
    
         
            +
                        for (let i = 0; i < element.length; i++) {
         
     | 
| 
      
 10497 
     | 
    
         
            +
                            const child = element.getChild(i);
         
     | 
| 
      
 10498 
     | 
    
         
            +
                            const serializeChild = this.serialize(child, viewOptions);
         
     | 
| 
      
 10499 
     | 
    
         
            +
                            if (child.type === 'text' && prevEle && prevEle.ele.type === 'text') {
         
     | 
| 
      
 10500 
     | 
    
         
            +
                                if (child.props.equals(prevEle.ele.props)) {
         
     | 
| 
      
 10501 
     | 
    
         
            +
                                    prevEle.props.content += serializeChild.content;
         
     | 
| 
      
 10502 
     | 
    
         
            +
                                    continue;
         
     | 
| 
      
 10503 
     | 
    
         
            +
                                }
         
     | 
| 
      
 10504 
     | 
    
         
            +
                            }
         
     | 
| 
      
 10505 
     | 
    
         
            +
                            if (serializeChild) {
         
     | 
| 
      
 10506 
     | 
    
         
            +
                                delete serializeChild.complete;
         
     | 
| 
      
 10507 
     | 
    
         
            +
                                serializeChild.props = serializeChild.props || {};
         
     | 
| 
      
 10508 
     | 
    
         
            +
                                if (Object.keys(serializeChild.props).length === 0) {
         
     | 
| 
      
 10509 
     | 
    
         
            +
                                    delete serializeChild.props;
         
     | 
| 
      
 10510 
     | 
    
         
            +
                                }
         
     | 
| 
      
 10511 
     | 
    
         
            +
                                if (serializeChild.children && serializeChild.children.length === 0) {
         
     | 
| 
      
 10512 
     | 
    
         
            +
                                    delete serializeChild.children;
         
     | 
| 
      
 10513 
     | 
    
         
            +
                                }
         
     | 
| 
      
 10514 
     | 
    
         
            +
                                result.children.push(serializeChild);
         
     | 
| 
      
 10515 
     | 
    
         
            +
                                prevEle = { ele: child, props: serializeChild };
         
     | 
| 
      
 10516 
     | 
    
         
            +
                            }
         
     | 
| 
      
 10517 
     | 
    
         
            +
                        }
         
     | 
| 
      
 10518 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10519 
     | 
    
         
            +
                    if (element.props && element.props['__attachedProperty'] && !result.props['__attachedProperty']) {
         
     | 
| 
      
 10520 
     | 
    
         
            +
                        result.props['__attachedProperty'] = CommonUtil.cloneValue(element.props['__attachedProperty']);
         
     | 
| 
      
 10521 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10522 
     | 
    
         
            +
                    return result;
         
     | 
| 
      
 10523 
     | 
    
         
            +
                }
         
     | 
| 
      
 10524 
     | 
    
         
            +
                static serializeString(element, options = { all: false }) {
         
     | 
| 
      
 10525 
     | 
    
         
            +
                    if (!options.all && element instanceof TrackRunElement && element.type === exports.TrackRunTypeEnum.Deleted) {
         
     | 
| 
      
 10526 
     | 
    
         
            +
                        return '';
         
     | 
| 
      
 10527 
     | 
    
         
            +
                    }
         
     | 
| 
      
 10528 
     | 
    
         
            +
                    if (element instanceof TextGroupElement && !element.isDecorate) {
         
     | 
| 
       10819 
10529 
     | 
    
         
             
                        return element.text;
         
     | 
| 
       10820 
10530 
     | 
    
         
             
                    }
         
     | 
| 
      
 10531 
     | 
    
         
            +
                    if (element instanceof PSymbolElement) {
         
     | 
| 
      
 10532 
     | 
    
         
            +
                        return '\n';
         
     | 
| 
      
 10533 
     | 
    
         
            +
                    }
         
     | 
| 
       10821 
10534 
     | 
    
         
             
                    if (element instanceof BranchElement) {
         
     | 
| 
       10822 
10535 
     | 
    
         
             
                        const items = [];
         
     | 
| 
       10823 
10536 
     | 
    
         
             
                        for (let i = 0; i < element.length; i++) {
         
     | 
| 
         @@ -10968,32 +10681,6 @@ class TrackRunRenderObject extends InlineGroupRenderObject { 
     | 
|
| 
       10968 
10681 
     | 
    
         
             
                constructor(ele) {
         
     | 
| 
       10969 
10682 
     | 
    
         
             
                    super(ele);
         
     | 
| 
       10970 
10683 
     | 
    
         
             
                }
         
     | 
| 
       10971 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       10972 
     | 
    
         
            -
                    const { render, position, docCtx: { viewOptions } } = e;
         
     | 
| 
       10973 
     | 
    
         
            -
                    render.tran(() => {
         
     | 
| 
       10974 
     | 
    
         
            -
                        let fillColor = viewOptions.showTrackChanges ? this.element.type === 'ins-run' ? viewOptions.trackInsColor : viewOptions.trackDelColor : '';
         
     | 
| 
       10975 
     | 
    
         
            -
                        if (fillColor) {
         
     | 
| 
       10976 
     | 
    
         
            -
                            render.contentContext.ctx.fillStyle = fillColor;
         
     | 
| 
       10977 
     | 
    
         
            -
                        }
         
     | 
| 
       10978 
     | 
    
         
            -
                        e.nextRender();
         
     | 
| 
       10979 
     | 
    
         
            -
                    });
         
     | 
| 
       10980 
     | 
    
         
            -
                    const { x, y } = position;
         
     | 
| 
       10981 
     | 
    
         
            -
                    //不显示痕迹
         
     | 
| 
       10982 
     | 
    
         
            -
                    if (!viewOptions.showTrackChanges) {
         
     | 
| 
       10983 
     | 
    
         
            -
                        return;
         
     | 
| 
       10984 
     | 
    
         
            -
                    }
         
     | 
| 
       10985 
     | 
    
         
            -
                    const color = this.element.type === 'ins-run' ? 'green' : 'red';
         
     | 
| 
       10986 
     | 
    
         
            -
                    for (let i = 0; i < this.length; i++) {
         
     | 
| 
       10987 
     | 
    
         
            -
                        const childRender = this.getChild(i);
         
     | 
| 
       10988 
     | 
    
         
            -
                        const { rect } = childRender;
         
     | 
| 
       10989 
     | 
    
         
            -
                        if (childRender.element && childRender.element.type === 'del-run') {
         
     | 
| 
       10990 
     | 
    
         
            -
                            continue;
         
     | 
| 
       10991 
     | 
    
         
            -
                        }
         
     | 
| 
       10992 
     | 
    
         
            -
                        let lineY = y + rect.y + rect.height;
         
     | 
| 
       10993 
     | 
    
         
            -
                        lineY = this.element.type === 'ins-run' ? lineY : lineY - rect.height / 2;
         
     | 
| 
       10994 
     | 
    
         
            -
                        render.contentContext.drawHoriLine(x + rect.x, lineY, rect.width, color, 1);
         
     | 
| 
       10995 
     | 
    
         
            -
                    }
         
     | 
| 
       10996 
     | 
    
         
            -
                }
         
     | 
| 
       10997 
10684 
     | 
    
         
             
                exportHTML(event) {
         
     | 
| 
       10998 
10685 
     | 
    
         
             
                    const { options } = event;
         
     | 
| 
       10999 
10686 
     | 
    
         
             
                    const t = super.exportHTML(event);
         
     | 
| 
         @@ -12556,9 +12243,9 @@ class ElementUtil { 
     | 
|
| 
       12556 
12243 
     | 
    
         
             
                        return this.getTextRenderOffset(render, x);
         
     | 
| 
       12557 
12244 
     | 
    
         
             
                    }
         
     | 
| 
       12558 
12245 
     | 
    
         
             
                    else {
         
     | 
| 
       12559 
     | 
    
         
            -
                        if (render.element && render.element.type === 'psym') {
         
     | 
| 
       12560 
     | 
    
         
            -
             
     | 
| 
       12561 
     | 
    
         
            -
                        }
         
     | 
| 
      
 12246 
     | 
    
         
            +
                        // if (render.element && render.element.type === 'psym') {
         
     | 
| 
      
 12247 
     | 
    
         
            +
                        //     return 0;
         
     | 
| 
      
 12248 
     | 
    
         
            +
                        // }
         
     | 
| 
       12562 
12249 
     | 
    
         
             
                        return (render.rect.width / 2) >= x ? 0 : 1;
         
     | 
| 
       12563 
12250 
     | 
    
         
             
                    }
         
     | 
| 
       12564 
12251 
     | 
    
         
             
                }
         
     | 
| 
         @@ -13288,12 +12975,12 @@ class ElementPaint { 
     | 
|
| 
       13288 
12975 
     | 
    
         
             
                            }
         
     | 
| 
       13289 
12976 
     | 
    
         
             
                        }
         
     | 
| 
       13290 
12977 
     | 
    
         
             
                    });
         
     | 
| 
       13291 
     | 
    
         
            -
                    docContainer.render({
         
     | 
| 
       13292 
     | 
    
         
            -
             
     | 
| 
       13293 
     | 
    
         
            -
             
     | 
| 
       13294 
     | 
    
         
            -
             
     | 
| 
       13295 
     | 
    
         
            -
             
     | 
| 
       13296 
     | 
    
         
            -
                    }) 
     | 
| 
      
 12978 
     | 
    
         
            +
                    // docContainer.render({
         
     | 
| 
      
 12979 
     | 
    
         
            +
                    //     render: this.renderCtx,
         
     | 
| 
      
 12980 
     | 
    
         
            +
                    //     position: { x: docContainer.rect.x, y: docContainer.rect.y },
         
     | 
| 
      
 12981 
     | 
    
         
            +
                    //     nextRender: nextRenderFn,
         
     | 
| 
      
 12982 
     | 
    
         
            +
                    //     docCtx: this.docCtx
         
     | 
| 
      
 12983 
     | 
    
         
            +
                    // })
         
     | 
| 
       13297 
12984 
     | 
    
         
             
                    nextRenderFn();
         
     | 
| 
       13298 
12985 
     | 
    
         
             
                    const { scale, viewSettings: { width, height } } = this.viewOptions;
         
     | 
| 
       13299 
12986 
     | 
    
         
             
                    while (this.renderCtx.onRenderCompleted.subs.length > 0) {
         
     | 
| 
         @@ -13322,25 +13009,25 @@ class ElementPaint { 
     | 
|
| 
       13322 
13009 
     | 
    
         
             
                                    this.drawRenderObject(child, currPosition, inViewPort);
         
     | 
| 
       13323 
13010 
     | 
    
         
             
                                }
         
     | 
| 
       13324 
13011 
     | 
    
         
             
                            });
         
     | 
| 
       13325 
     | 
    
         
            -
                             
     | 
| 
      
 13012 
     | 
    
         
            +
                            ({
         
     | 
| 
       13326 
13013 
     | 
    
         
             
                                position: currPosition,
         
     | 
| 
       13327 
13014 
     | 
    
         
             
                                nextRender: nextRenderFn,
         
     | 
| 
       13328 
13015 
     | 
    
         
             
                                render: this.renderCtx,
         
     | 
| 
       13329 
13016 
     | 
    
         
             
                                docCtx: this.docCtx
         
     | 
| 
       13330 
     | 
    
         
            -
                            };
         
     | 
| 
       13331 
     | 
    
         
            -
                            renderObject.render(renderData);
         
     | 
| 
      
 13017 
     | 
    
         
            +
                            });
         
     | 
| 
      
 13018 
     | 
    
         
            +
                            //renderObject.render(renderData);
         
     | 
| 
       13332 
13019 
     | 
    
         
             
                            nextRenderFn();
         
     | 
| 
       13333 
13020 
     | 
    
         
             
                        }
         
     | 
| 
       13334 
13021 
     | 
    
         
             
                    }
         
     | 
| 
       13335 
13022 
     | 
    
         
             
                    else if (renderObject instanceof LeafRenderObject) {
         
     | 
| 
       13336 
13023 
     | 
    
         
             
                        if (inViewPort) {
         
     | 
| 
       13337 
     | 
    
         
            -
                             
     | 
| 
      
 13024 
     | 
    
         
            +
                            ({
         
     | 
| 
       13338 
13025 
     | 
    
         
             
                                position: currPosition,
         
     | 
| 
       13339 
13026 
     | 
    
         
             
                                nextRender: () => { },
         
     | 
| 
       13340 
13027 
     | 
    
         
             
                                render: this.renderCtx,
         
     | 
| 
       13341 
13028 
     | 
    
         
             
                                docCtx: this.docCtx
         
     | 
| 
       13342 
     | 
    
         
            -
                            };
         
     | 
| 
       13343 
     | 
    
         
            -
                            renderObject.render(renderData);
         
     | 
| 
      
 13029 
     | 
    
         
            +
                            });
         
     | 
| 
      
 13030 
     | 
    
         
            +
                            //renderObject.render(renderData);
         
     | 
| 
       13344 
13031 
     | 
    
         
             
                        }
         
     | 
| 
       13345 
13032 
     | 
    
         
             
                    }
         
     | 
| 
       13346 
13033 
     | 
    
         
             
                    //处理选中拖蓝
         
     | 
| 
         @@ -13393,14 +13080,14 @@ class ElementPaint { 
     | 
|
| 
       13393 
13080 
     | 
    
         
             
                 * 触发页面绘制结束事件
         
     | 
| 
       13394 
13081 
     | 
    
         
             
                 */
         
     | 
| 
       13395 
13082 
     | 
    
         
             
                invokedPagePaintCompleted(renderObject, parent) {
         
     | 
| 
       13396 
     | 
    
         
            -
                    const { x: rx, y: ry, width: rw, height: rh } = renderObject.rect;
         
     | 
| 
       13397 
     | 
    
         
            -
                    const currPosition = { x: rx + parent.x, y: ry + parent.y };
         
     | 
| 
       13398 
     | 
    
         
            -
                    renderObject.pagePaintCompleted({ render: this.renderCtx, position: currPosition, docCtx: this.docCtx }) 
     | 
| 
       13399 
     | 
    
         
            -
                    if (renderObject instanceof BranchRenderObject) {
         
     | 
| 
       13400 
     | 
    
         
            -
             
     | 
| 
       13401 
     | 
    
         
            -
             
     | 
| 
       13402 
     | 
    
         
            -
             
     | 
| 
       13403 
     | 
    
         
            -
                    }
         
     | 
| 
      
 13083 
     | 
    
         
            +
                    // const { x: rx, y: ry, width: rw, height: rh } = renderObject.rect;
         
     | 
| 
      
 13084 
     | 
    
         
            +
                    // const currPosition = { x: rx + parent.x, y: ry + parent.y };
         
     | 
| 
      
 13085 
     | 
    
         
            +
                    // renderObject.pagePaintCompleted({ render: this.renderCtx, position: currPosition, docCtx: this.docCtx })
         
     | 
| 
      
 13086 
     | 
    
         
            +
                    // if (renderObject instanceof BranchRenderObject) {
         
     | 
| 
      
 13087 
     | 
    
         
            +
                    //     for (let i = 0; i < renderObject.length; i++) {
         
     | 
| 
      
 13088 
     | 
    
         
            +
                    //         this.invokedPagePaintCompleted(renderObject.getChild(i), currPosition);
         
     | 
| 
      
 13089 
     | 
    
         
            +
                    //     }
         
     | 
| 
      
 13090 
     | 
    
         
            +
                    // }
         
     | 
| 
       13404 
13091 
     | 
    
         
             
                }
         
     | 
| 
       13405 
13092 
     | 
    
         
             
                static drawPage(renderCtx, docCtx, renderObject, parent) {
         
     | 
| 
       13406 
13093 
     | 
    
         
             
                    const { x: rx, y: ry } = renderObject.rect;
         
     | 
| 
         @@ -13412,24 +13099,9 @@ class ElementPaint { 
     | 
|
| 
       13412 
13099 
     | 
    
         
             
                                this.drawPage(renderCtx, docCtx, child, currPosition);
         
     | 
| 
       13413 
13100 
     | 
    
         
             
                            }
         
     | 
| 
       13414 
13101 
     | 
    
         
             
                        });
         
     | 
| 
       13415 
     | 
    
         
            -
                         
     | 
| 
       13416 
     | 
    
         
            -
                            position: currPosition,
         
     | 
| 
       13417 
     | 
    
         
            -
                            nextRender: nextRenderFn,
         
     | 
| 
       13418 
     | 
    
         
            -
                            render: renderCtx,
         
     | 
| 
       13419 
     | 
    
         
            -
                            docCtx
         
     | 
| 
       13420 
     | 
    
         
            -
                        };
         
     | 
| 
       13421 
     | 
    
         
            -
                        renderObject.render(renderData);
         
     | 
| 
      
 13102 
     | 
    
         
            +
                        //renderObject.render(renderData);
         
     | 
| 
       13422 
13103 
     | 
    
         
             
                        nextRenderFn();
         
     | 
| 
       13423 
13104 
     | 
    
         
             
                    }
         
     | 
| 
       13424 
     | 
    
         
            -
                    else if (renderObject instanceof LeafRenderObject) {
         
     | 
| 
       13425 
     | 
    
         
            -
                        const renderData = {
         
     | 
| 
       13426 
     | 
    
         
            -
                            position: currPosition,
         
     | 
| 
       13427 
     | 
    
         
            -
                            nextRender: () => { },
         
     | 
| 
       13428 
     | 
    
         
            -
                            render: renderCtx,
         
     | 
| 
       13429 
     | 
    
         
            -
                            docCtx: docCtx
         
     | 
| 
       13430 
     | 
    
         
            -
                        };
         
     | 
| 
       13431 
     | 
    
         
            -
                        renderObject.render(renderData);
         
     | 
| 
       13432 
     | 
    
         
            -
                    }
         
     | 
| 
       13433 
13105 
     | 
    
         
             
                }
         
     | 
| 
       13434 
13106 
     | 
    
         
             
            }
         
     | 
| 
       13435 
13107 
     | 
    
         | 
| 
         @@ -14993,10 +14665,11 @@ class DocumentArrange { 
     | 
|
| 
       14993 
14665 
     | 
    
         
             
                    let currRow = rows[j];
         
     | 
| 
       14994 
14666 
     | 
    
         
             
                    const cutRows = [];
         
     | 
| 
       14995 
14667 
     | 
    
         
             
                    while (currRow) {
         
     | 
| 
      
 14668 
     | 
    
         
            +
                        const minHeight = currRow.element.props.minHeight;
         
     | 
| 
       14996 
14669 
     | 
    
         
             
                        const rowContentHeight = this.getBlockLineHeight(currRow);
         
     | 
| 
       14997 
14670 
     | 
    
         
             
                        if (rowContentHeight + sumHeight > limitHeight) {
         
     | 
| 
       14998 
     | 
    
         
            -
                             
     | 
| 
       14999 
     | 
    
         
            -
                            if ( 
     | 
| 
      
 14671 
     | 
    
         
            +
                            //行存在最小高度,且当前行内容的高度小于最小高度,且当前行跨页的情况下,不截断该行
         
     | 
| 
      
 14672 
     | 
    
         
            +
                            if (minHeight > 0 && minHeight > rowContentHeight) {
         
     | 
| 
       15000 
14673 
     | 
    
         
             
                                break;
         
     | 
| 
       15001 
14674 
     | 
    
         
             
                            }
         
     | 
| 
       15002 
14675 
     | 
    
         
             
                            //限制的外框尺寸
         
     | 
| 
         @@ -15871,539 +15544,52 @@ class ElementMeasure { 
     | 
|
| 
       15871 
15544 
     | 
    
         
             
                }
         
     | 
| 
       15872 
15545 
     | 
    
         
             
            }
         
     | 
| 
       15873 
15546 
     | 
    
         | 
| 
       15874 
     | 
    
         
            -
            class  
     | 
| 
       15875 
     | 
    
         
            -
                options;
         
     | 
| 
      
 15547 
     | 
    
         
            +
            class DocumentPaint {
         
     | 
| 
       15876 
15548 
     | 
    
         
             
                renderContext;
         
     | 
| 
       15877 
     | 
    
         
            -
                 
     | 
| 
       15878 
     | 
    
         
            -
             
     | 
| 
      
 15549 
     | 
    
         
            +
                docCtx;
         
     | 
| 
      
 15550 
     | 
    
         
            +
                seo;
         
     | 
| 
      
 15551 
     | 
    
         
            +
                elementMeasure;
         
     | 
| 
      
 15552 
     | 
    
         
            +
                //elementRenderCut: ElementRenderCut;
         
     | 
| 
      
 15553 
     | 
    
         
            +
                elementPaint;
         
     | 
| 
      
 15554 
     | 
    
         
            +
                docPages;
         
     | 
| 
      
 15555 
     | 
    
         
            +
                docContainer;
         
     | 
| 
      
 15556 
     | 
    
         
            +
                //commsContainer!: CommsContainerRenderObject;
         
     | 
| 
      
 15557 
     | 
    
         
            +
                viewOptions;
         
     | 
| 
      
 15558 
     | 
    
         
            +
                constructor(renderContext, docCtx, seo) {
         
     | 
| 
       15879 
15559 
     | 
    
         
             
                    this.renderContext = renderContext;
         
     | 
| 
      
 15560 
     | 
    
         
            +
                    this.docCtx = docCtx;
         
     | 
| 
      
 15561 
     | 
    
         
            +
                    this.seo = seo;
         
     | 
| 
      
 15562 
     | 
    
         
            +
                    this.viewOptions = this.docCtx.viewOptions;
         
     | 
| 
      
 15563 
     | 
    
         
            +
                    this.elementMeasure = new ElementMeasure(this.docCtx, this.renderContext);
         
     | 
| 
      
 15564 
     | 
    
         
            +
                    //this.elementRenderCut = new ElementRenderCut(this.viewOptions, this.renderContext);
         
     | 
| 
      
 15565 
     | 
    
         
            +
                    this.elementPaint = new ElementPaint(this.renderContext, this.docCtx);
         
     | 
| 
       15880 
15566 
     | 
    
         
             
                }
         
     | 
| 
       15881 
     | 
    
         
            -
                 
     | 
| 
       15882 
     | 
    
         
            -
                    if (this. 
     | 
| 
       15883 
     | 
    
         
            -
                        return 
     | 
| 
       15884 
     | 
    
         
            -
                    }
         
     | 
| 
       15885 
     | 
    
         
            -
                    const headerRender = documentRender.getChild(0);
         
     | 
| 
       15886 
     | 
    
         
            -
                    const bodyRender = documentRender.getChild(1).clone();
         
     | 
| 
       15887 
     | 
    
         
            -
                    const footerRender = documentRender.getChild(2);
         
     | 
| 
       15888 
     | 
    
         
            -
                    const commentsRender = documentRender.getChild(3);
         
     | 
| 
       15889 
     | 
    
         
            -
                    const { headerLine, footerLine } = documentRender;
         
     | 
| 
       15890 
     | 
    
         
            -
                    let bodyMarginTop = headerLine + headerRender.rect.height + 6;
         
     | 
| 
       15891 
     | 
    
         
            -
                    let bodyMarginBottom = footerLine + footerRender.rect.height;
         
     | 
| 
       15892 
     | 
    
         
            -
                    const { top: bodyTop, bottom: bodyBottom } = documentRender.padding;
         
     | 
| 
       15893 
     | 
    
         
            -
                    bodyMarginTop = bodyMarginTop > bodyTop ? bodyMarginTop : bodyTop;
         
     | 
| 
       15894 
     | 
    
         
            -
                    bodyMarginBottom = bodyMarginBottom > bodyBottom ? bodyMarginBottom : bodyBottom;
         
     | 
| 
       15895 
     | 
    
         
            -
                    documentRender.padding.top = bodyMarginTop;
         
     | 
| 
       15896 
     | 
    
         
            -
                    documentRender.padding.bottom = bodyMarginBottom;
         
     | 
| 
       15897 
     | 
    
         
            -
                    const bodyLimitRect = this.getDocInnerRect(documentRender);
         
     | 
| 
       15898 
     | 
    
         
            -
                    const bodyArray = [];
         
     | 
| 
       15899 
     | 
    
         
            -
                    let { emptyBody: pageBodyRender, innerRect: bodyInnerLimitRect } = this.createEmptyBodyRender(bodyRender, bodyLimitRect);
         
     | 
| 
       15900 
     | 
    
         
            -
                    bodyArray.push(pageBodyRender);
         
     | 
| 
       15901 
     | 
    
         
            -
                    const createBodyHolder = () => {
         
     | 
| 
       15902 
     | 
    
         
            -
                        const { emptyBody, innerRect } = this.createEmptyBodyRender(bodyRender, bodyLimitRect);
         
     | 
| 
       15903 
     | 
    
         
            -
                        pageBodyRender = emptyBody;
         
     | 
| 
       15904 
     | 
    
         
            -
                        bodyInnerLimitRect = innerRect;
         
     | 
| 
       15905 
     | 
    
         
            -
                        bodyArray.push(pageBodyRender);
         
     | 
| 
       15906 
     | 
    
         
            -
                    };
         
     | 
| 
       15907 
     | 
    
         
            -
                    const appendToBody = (item) => {
         
     | 
| 
       15908 
     | 
    
         
            -
                        item.rect.y = bodyInnerLimitRect.height + item.margin.top;
         
     | 
| 
       15909 
     | 
    
         
            -
                        pageBodyRender.addChild(item);
         
     | 
| 
       15910 
     | 
    
         
            -
                        bodyInnerLimitRect.height += item.rect.height + item.margin.top + item.margin.bottom;
         
     | 
| 
       15911 
     | 
    
         
            -
                        //上一个元素的bottom-margin
         
     | 
| 
       15912 
     | 
    
         
            -
                        //bodyInnerLimitRect.prevMargin = item.margin.bottom;
         
     | 
| 
       15913 
     | 
    
         
            -
                        ElementUtil.updateRenderHeightByInnerRect(pageBodyRender, bodyInnerLimitRect);
         
     | 
| 
       15914 
     | 
    
         
            -
                    };
         
     | 
| 
       15915 
     | 
    
         
            -
                    let i = 0;
         
     | 
| 
       15916 
     | 
    
         
            -
                    let cloneBlockContentRender = bodyRender.getChild(i);
         
     | 
| 
       15917 
     | 
    
         
            -
                    while (cloneBlockContentRender) {
         
     | 
| 
       15918 
     | 
    
         
            -
                        if (bodyInnerLimitRect.maxHeight - bodyInnerLimitRect.height - cloneBlockContentRender.rect.height - cloneBlockContentRender.margin.bottom - cloneBlockContentRender.margin.top < 0) {
         
     | 
| 
       15919 
     | 
    
         
            -
                            //限制的外框尺寸
         
     | 
| 
       15920 
     | 
    
         
            -
                            const bodyAvailHeight = bodyInnerLimitRect.maxHeight - bodyInnerLimitRect.height - cloneBlockContentRender.margin.bottom - cloneBlockContentRender.margin.top;
         
     | 
| 
       15921 
     | 
    
         
            -
                            //限制的内框尺寸
         
     | 
| 
       15922 
     | 
    
         
            -
                            const limitRenderInnterHeight = ElementUtil.innerRectMaxHeight(cloneBlockContentRender, bodyAvailHeight);
         
     | 
| 
       15923 
     | 
    
         
            -
                            const cutRenderObject = this.cutRenderItem(cloneBlockContentRender, limitRenderInnterHeight);
         
     | 
| 
       15924 
     | 
    
         
            -
                            //至少有一个块级行元素被切割出来
         
     | 
| 
       15925 
     | 
    
         
            -
                            if (cutRenderObject) {
         
     | 
| 
       15926 
     | 
    
         
            -
                                appendToBody(cutRenderObject);
         
     | 
| 
       15927 
     | 
    
         
            -
                            }
         
     | 
| 
       15928 
     | 
    
         
            -
                            createBodyHolder();
         
     | 
| 
       15929 
     | 
    
         
            -
                        }
         
     | 
| 
       15930 
     | 
    
         
            -
                        else {
         
     | 
| 
       15931 
     | 
    
         
            -
                            appendToBody(cloneBlockContentRender);
         
     | 
| 
       15932 
     | 
    
         
            -
                            if (++i < bodyRender.length) {
         
     | 
| 
       15933 
     | 
    
         
            -
                                cloneBlockContentRender = bodyRender.getChild(i);
         
     | 
| 
       15934 
     | 
    
         
            -
                            }
         
     | 
| 
       15935 
     | 
    
         
            -
                            else {
         
     | 
| 
       15936 
     | 
    
         
            -
                                cloneBlockContentRender = null;
         
     | 
| 
       15937 
     | 
    
         
            -
                            }
         
     | 
| 
       15938 
     | 
    
         
            -
                        }
         
     | 
| 
       15939 
     | 
    
         
            -
                    }
         
     | 
| 
       15940 
     | 
    
         
            -
                    const docPages = [];
         
     | 
| 
       15941 
     | 
    
         
            -
                    let pageY = this.options.docSpace;
         
     | 
| 
       15942 
     | 
    
         
            -
                    for (let i = 0; i < bodyArray.length; i++) {
         
     | 
| 
       15943 
     | 
    
         
            -
                        const body = bodyArray[i];
         
     | 
| 
       15944 
     | 
    
         
            -
                        const documentRender = documentElement.createRenderObject();
         
     | 
| 
       15945 
     | 
    
         
            -
                        docPages.push(documentRender);
         
     | 
| 
       15946 
     | 
    
         
            -
                        documentRender.rect.y = pageY;
         
     | 
| 
       15947 
     | 
    
         
            -
                        const limitRect = documentRender.getInnerRect();
         
     | 
| 
       15948 
     | 
    
         
            -
                        const cloneHeaderRender = headerRender.clone();
         
     | 
| 
       15949 
     | 
    
         
            -
                        cloneHeaderRender.rect.x = limitRect.x;
         
     | 
| 
       15950 
     | 
    
         
            -
                        cloneHeaderRender.rect.y = headerLine;
         
     | 
| 
       15951 
     | 
    
         
            -
                        documentRender.addChild(cloneHeaderRender);
         
     | 
| 
       15952 
     | 
    
         
            -
                        body.rect.x = limitRect.x;
         
     | 
| 
       15953 
     | 
    
         
            -
                        body.rect.y = bodyMarginTop;
         
     | 
| 
       15954 
     | 
    
         
            -
                        body.rect.height = bodyInnerLimitRect.maxHeight;
         
     | 
| 
       15955 
     | 
    
         
            -
                        documentRender.addChild(body);
         
     | 
| 
       15956 
     | 
    
         
            -
                        pageY += documentRender.rect.height + this.options.docSpace;
         
     | 
| 
       15957 
     | 
    
         
            -
                        const cloneFooterRender = footerRender.clone();
         
     | 
| 
       15958 
     | 
    
         
            -
                        cloneFooterRender.rect.x = limitRect.x;
         
     | 
| 
       15959 
     | 
    
         
            -
                        cloneFooterRender.rect.y = documentRender.rect.height - bodyMarginBottom;
         
     | 
| 
       15960 
     | 
    
         
            -
                        documentRender.addChild(cloneFooterRender);
         
     | 
| 
       15961 
     | 
    
         
            -
                        //审阅模式,添加审阅窗口
         
     | 
| 
       15962 
     | 
    
         
            -
                        if (this.options.showReviewWindow && commentsRender) {
         
     | 
| 
       15963 
     | 
    
         
            -
                            const commentsContainer = commentsRender.element.createRenderObject({
         
     | 
| 
       15964 
     | 
    
         
            -
                                options: this.options,
         
     | 
| 
       15965 
     | 
    
         
            -
                                renderCtx: this.renderContext
         
     | 
| 
       15966 
     | 
    
         
            -
                            });
         
     | 
| 
       15967 
     | 
    
         
            -
                            commentsContainer.padding.top = bodyMarginTop;
         
     | 
| 
       15968 
     | 
    
         
            -
                            commentsContainer.rect.height = documentRender.rect.height;
         
     | 
| 
       15969 
     | 
    
         
            -
                            documentRender.addChild(commentsContainer);
         
     | 
| 
       15970 
     | 
    
         
            -
                            commentsContainer.rect.x = documentRender.rect.x + documentRender.rect.width;
         
     | 
| 
       15971 
     | 
    
         
            -
                            documentRender.rect.width += this.options.reviewWindowWidth;
         
     | 
| 
       15972 
     | 
    
         
            -
                        }
         
     | 
| 
      
 15567 
     | 
    
         
            +
                rePages() {
         
     | 
| 
      
 15568 
     | 
    
         
            +
                    if (!this.docCtx.document.length) {
         
     | 
| 
      
 15569 
     | 
    
         
            +
                        return;
         
     | 
| 
       15973 
15570 
     | 
    
         
             
                    }
         
     | 
| 
       15974 
     | 
    
         
            -
                     
     | 
| 
       15975 
     | 
    
         
            -
             
     | 
| 
       15976 
     | 
    
         
            -
             
     | 
| 
       15977 
     | 
    
         
            -
                     
     | 
| 
       15978 
     | 
    
         
            -
             
     | 
| 
       15979 
     | 
    
         
            -
             
     | 
| 
       15980 
     | 
    
         
            -
                     
     | 
| 
       15981 
     | 
    
         
            -
                     
     | 
| 
       15982 
     | 
    
         
            -
                     
     | 
| 
       15983 
     | 
    
         
            -
             
     | 
| 
       15984 
     | 
    
         
            -
             
     | 
| 
       15985 
     | 
    
         
            -
                    const  
     | 
| 
       15986 
     | 
    
         
            -
                    const  
     | 
| 
       15987 
     | 
    
         
            -
             
     | 
| 
       15988 
     | 
    
         
            -
             
     | 
| 
       15989 
     | 
    
         
            -
                     
     | 
| 
       15990 
     | 
    
         
            -
                     
     | 
| 
       15991 
     | 
    
         
            -
                     
     | 
| 
       15992 
     | 
    
         
            -
                     
     | 
| 
       15993 
     | 
    
         
            -
             
     | 
| 
       15994 
     | 
    
         
            -
             
     | 
| 
       15995 
     | 
    
         
            -
             
     | 
| 
       15996 
     | 
    
         
            -
                        commentsContainer.rect.height = documentRender.rect.height;
         
     | 
| 
       15997 
     | 
    
         
            -
                        commentsContainer.rect.x = documentRender.rect.x + documentRender.rect.width;
         
     | 
| 
       15998 
     | 
    
         
            -
                        documentRender.rect.width += this.options.reviewWindowWidth;
         
     | 
| 
       15999 
     | 
    
         
            -
                    }
         
     | 
| 
       16000 
     | 
    
         
            -
                    return [documentRender];
         
     | 
| 
       16001 
     | 
    
         
            -
                }
         
     | 
| 
       16002 
     | 
    
         
            -
                createEmptyBodyRender(bodyRender, limitRect) {
         
     | 
| 
       16003 
     | 
    
         
            -
                    const pageBodyRender = bodyRender.element.createRenderObject({
         
     | 
| 
       16004 
     | 
    
         
            -
                        options: this.options,
         
     | 
| 
       16005 
     | 
    
         
            -
                        renderCtx: this.renderContext
         
     | 
| 
       16006 
     | 
    
         
            -
                    });
         
     | 
| 
       16007 
     | 
    
         
            -
                    pageBodyRender.rect.width = limitRect.width;
         
     | 
| 
       16008 
     | 
    
         
            -
                    const bodyInnerLimitRect = pageBodyRender.getInnerRect();
         
     | 
| 
       16009 
     | 
    
         
            -
                    if (this.options.fullPageView) {
         
     | 
| 
       16010 
     | 
    
         
            -
                        bodyInnerLimitRect.height = Number.MAX_VALUE;
         
     | 
| 
       16011 
     | 
    
         
            -
                    }
         
     | 
| 
       16012 
     | 
    
         
            -
                    return {
         
     | 
| 
       16013 
     | 
    
         
            -
                        emptyBody: pageBodyRender,
         
     | 
| 
       16014 
     | 
    
         
            -
                        innerRect: { ...bodyInnerLimitRect, prevMargin: 0, maxWidth: limitRect.width, maxHeight: limitRect.height }
         
     | 
| 
       16015 
     | 
    
         
            -
                    };
         
     | 
| 
       16016 
     | 
    
         
            -
                }
         
     | 
| 
       16017 
     | 
    
         
            -
                /**
         
     | 
| 
       16018 
     | 
    
         
            -
                 * 切割渲染元素
         
     | 
| 
       16019 
     | 
    
         
            -
                 * @param render 被切割的对象
         
     | 
| 
       16020 
     | 
    
         
            -
                 * @param limitHeight
         
     | 
| 
       16021 
     | 
    
         
            -
                 * @returns
         
     | 
| 
       16022 
     | 
    
         
            -
                 */
         
     | 
| 
       16023 
     | 
    
         
            -
                cutRenderItem(render, limitHeight) {
         
     | 
| 
       16024 
     | 
    
         
            -
                    if (render instanceof TableRowRenderObject) {
         
     | 
| 
       16025 
     | 
    
         
            -
                        return this.cutRowRenderItem(render, limitHeight);
         
     | 
| 
       16026 
     | 
    
         
            -
                    }
         
     | 
| 
       16027 
     | 
    
         
            -
                    if (render instanceof TableRenderObject) {
         
     | 
| 
       16028 
     | 
    
         
            -
                        return this.cutTable(render, limitHeight);
         
     | 
| 
       16029 
     | 
    
         
            -
                    }
         
     | 
| 
       16030 
     | 
    
         
            -
                    const cloneRender = render.element.createRenderObject({
         
     | 
| 
       16031 
     | 
    
         
            -
                        options: this.options,
         
     | 
| 
       16032 
     | 
    
         
            -
                        renderCtx: this.renderContext
         
     | 
| 
       16033 
     | 
    
         
            -
                    });
         
     | 
| 
       16034 
     | 
    
         
            -
                    cloneRender.setRenderWidth(render.rect.width);
         
     | 
| 
       16035 
     | 
    
         
            -
                    if (render instanceof MuiltBlockLineRenderObject) {
         
     | 
| 
       16036 
     | 
    
         
            -
                        let sumHeight = 0;
         
     | 
| 
       16037 
     | 
    
         
            -
                        const children = [...render.getItems()];
         
     | 
| 
       16038 
     | 
    
         
            -
                        let j = 0;
         
     | 
| 
       16039 
     | 
    
         
            -
                        let blockLine = children[j];
         
     | 
| 
       16040 
     | 
    
         
            -
                        while (blockLine) {
         
     | 
| 
       16041 
     | 
    
         
            -
                            //sumHeight = ElementUtil.remeasure(cloneRender);
         
     | 
| 
       16042 
     | 
    
         
            -
                            const calcBlockLineHeight = this.getBlockLineHeight(blockLine);
         
     | 
| 
       16043 
     | 
    
         
            -
                            if (calcBlockLineHeight + sumHeight > limitHeight) {
         
     | 
| 
       16044 
     | 
    
         
            -
                                if (blockLine instanceof MuiltBlockLineRenderObject) {
         
     | 
| 
       16045 
     | 
    
         
            -
                                    //限制的外框尺寸
         
     | 
| 
       16046 
     | 
    
         
            -
                                    const availHeight = limitHeight - sumHeight;
         
     | 
| 
       16047 
     | 
    
         
            -
                                    //限制的内框尺寸
         
     | 
| 
       16048 
     | 
    
         
            -
                                    const limitRenderInnterHeight = ElementUtil.innerRectMaxHeight(render, availHeight);
         
     | 
| 
       16049 
     | 
    
         
            -
                                    const cutRenderObject = this.cutRenderItem(blockLine, limitRenderInnterHeight);
         
     | 
| 
       16050 
     | 
    
         
            -
                                    if (cutRenderObject) {
         
     | 
| 
       16051 
     | 
    
         
            -
                                        cloneRender.addChild(cutRenderObject);
         
     | 
| 
       16052 
     | 
    
         
            -
                                        sumHeight += cutRenderObject.rect.height;
         
     | 
| 
       16053 
     | 
    
         
            -
                                        blockLine = children[++j];
         
     | 
| 
       16054 
     | 
    
         
            -
                                        break;
         
     | 
| 
       16055 
     | 
    
         
            -
                                    }
         
     | 
| 
       16056 
     | 
    
         
            -
                                    else {
         
     | 
| 
       16057 
     | 
    
         
            -
                                        break;
         
     | 
| 
       16058 
     | 
    
         
            -
                                    }
         
     | 
| 
       16059 
     | 
    
         
            -
                                }
         
     | 
| 
       16060 
     | 
    
         
            -
                                else {
         
     | 
| 
       16061 
     | 
    
         
            -
                                    break;
         
     | 
| 
       16062 
     | 
    
         
            -
                                }
         
     | 
| 
       16063 
     | 
    
         
            -
                            }
         
     | 
| 
       16064 
     | 
    
         
            -
                            else {
         
     | 
| 
       16065 
     | 
    
         
            -
                                render.removeChild(blockLine);
         
     | 
| 
       16066 
     | 
    
         
            -
                                cloneRender.addChild(blockLine);
         
     | 
| 
       16067 
     | 
    
         
            -
                                sumHeight += blockLine.rect.height;
         
     | 
| 
       16068 
     | 
    
         
            -
                                blockLine = children[++j];
         
     | 
| 
       16069 
     | 
    
         
            -
                            }
         
     | 
| 
       16070 
     | 
    
         
            -
                        }
         
     | 
| 
       16071 
     | 
    
         
            -
                        ElementUtil.remeasure(cloneRender);
         
     | 
| 
       16072 
     | 
    
         
            -
                        ElementUtil.remeasure(render);
         
     | 
| 
       16073 
     | 
    
         
            -
                        if (cloneRender.length === 0) {
         
     | 
| 
       16074 
     | 
    
         
            -
                            return null;
         
     | 
| 
       16075 
     | 
    
         
            -
                        }
         
     | 
| 
       16076 
     | 
    
         
            -
                        else {
         
     | 
| 
       16077 
     | 
    
         
            -
                            return cloneRender;
         
     | 
| 
       16078 
     | 
    
         
            -
                        }
         
     | 
| 
       16079 
     | 
    
         
            -
                    }
         
     | 
| 
       16080 
     | 
    
         
            -
                    else {
         
     | 
| 
       16081 
     | 
    
         
            -
                        throw new Error('未实现');
         
     | 
| 
       16082 
     | 
    
         
            -
                    }
         
     | 
| 
       16083 
     | 
    
         
            -
                }
         
     | 
| 
       16084 
     | 
    
         
            -
                /**
         
     | 
| 
       16085 
     | 
    
         
            -
                 * 切割渲染元素
         
     | 
| 
       16086 
     | 
    
         
            -
                 * @param tbRender 被切割的对象
         
     | 
| 
       16087 
     | 
    
         
            -
                 * @param limitHeight
         
     | 
| 
       16088 
     | 
    
         
            -
                 * @param addFunc
         
     | 
| 
       16089 
     | 
    
         
            -
                 * @returns
         
     | 
| 
       16090 
     | 
    
         
            -
                 */
         
     | 
| 
       16091 
     | 
    
         
            -
                cutTable(tbRender, limitHeight) {
         
     | 
| 
       16092 
     | 
    
         
            -
                    const cloneTbRender = tbRender.element.createRenderObject();
         
     | 
| 
       16093 
     | 
    
         
            -
                    cloneTbRender.setRenderWidth(tbRender.rect.width);
         
     | 
| 
       16094 
     | 
    
         
            -
                    let sumHeight = 0;
         
     | 
| 
       16095 
     | 
    
         
            -
                    const rows = [...tbRender.getItems()];
         
     | 
| 
       16096 
     | 
    
         
            -
                    //获取跨页需要重复显示的行
         
     | 
| 
       16097 
     | 
    
         
            -
                    const headerRows = this.getHeaderRows(tbRender);
         
     | 
| 
       16098 
     | 
    
         
            -
                    //跨页头的高度
         
     | 
| 
       16099 
     | 
    
         
            -
                    const headerHeight = headerRows.reduce((prev, curr) => prev + curr.rect.height, 0);
         
     | 
| 
       16100 
     | 
    
         
            -
                    if (headerHeight > limitHeight) {
         
     | 
| 
       16101 
     | 
    
         
            -
                        return null;
         
     | 
| 
       16102 
     | 
    
         
            -
                    }
         
     | 
| 
       16103 
     | 
    
         
            -
                    const copyHeaderRows = headerRows.map(item => item.clone());
         
     | 
| 
       16104 
     | 
    
         
            -
                    //获取最后一个截断行,需要根据截断行判断最后一个截断的行位置
         
     | 
| 
       16105 
     | 
    
         
            -
                    const cutOffRows = rows.filter(row => limitHeight >= row.rect.y && limitHeight <= row.rect.y + row.rect.height)
         
     | 
| 
       16106 
     | 
    
         
            -
                        .map((row) => ({ rowIndex: row.element.getIndex(), row }))
         
     | 
| 
       16107 
     | 
    
         
            -
                        .sort((first, second) => second.rowIndex - first.rowIndex);
         
     | 
| 
       16108 
     | 
    
         
            -
                    if (cutOffRows.length === 0) {
         
     | 
| 
       16109 
     | 
    
         
            -
                        throw new Error('无法获取截断行');
         
     | 
| 
       16110 
     | 
    
         
            -
                    }
         
     | 
| 
       16111 
     | 
    
         
            -
                    const joinRow = cutOffRows[0].row;
         
     | 
| 
       16112 
     | 
    
         
            -
                    let j = 0;
         
     | 
| 
       16113 
     | 
    
         
            -
                    let currRow = rows[j];
         
     | 
| 
       16114 
     | 
    
         
            -
                    const cutRows = [];
         
     | 
| 
       16115 
     | 
    
         
            -
                    while (currRow) {
         
     | 
| 
       16116 
     | 
    
         
            -
                        const rowContentHeight = this.getBlockLineHeight(currRow);
         
     | 
| 
       16117 
     | 
    
         
            -
                        if (rowContentHeight + sumHeight > limitHeight) {
         
     | 
| 
       16118 
     | 
    
         
            -
                            if (currRow instanceof MuiltBlockLineRenderObject) {
         
     | 
| 
       16119 
     | 
    
         
            -
                                //限制的外框尺寸
         
     | 
| 
       16120 
     | 
    
         
            -
                                const availHeight = limitHeight - sumHeight;
         
     | 
| 
       16121 
     | 
    
         
            -
                                //限制的内框尺寸
         
     | 
| 
       16122 
     | 
    
         
            -
                                const limitRenderInnterHeight = ElementUtil.innerRectMaxHeight(tbRender, availHeight);
         
     | 
| 
       16123 
     | 
    
         
            -
                                const cutRow = this.cutRowRenderItem(currRow, limitRenderInnterHeight);
         
     | 
| 
       16124 
     | 
    
         
            -
                                if (cutRow) {
         
     | 
| 
       16125 
     | 
    
         
            -
                                    cloneTbRender.addChild(cutRow);
         
     | 
| 
       16126 
     | 
    
         
            -
                                    sumHeight += cutRow.rect.height;
         
     | 
| 
       16127 
     | 
    
         
            -
                                    cutRows.push(currRow);
         
     | 
| 
       16128 
     | 
    
         
            -
                                    if (currRow === joinRow) {
         
     | 
| 
       16129 
     | 
    
         
            -
                                        break;
         
     | 
| 
       16130 
     | 
    
         
            -
                                    }
         
     | 
| 
       16131 
     | 
    
         
            -
                                    currRow = rows[++j];
         
     | 
| 
       16132 
     | 
    
         
            -
                                }
         
     | 
| 
       16133 
     | 
    
         
            -
                                else {
         
     | 
| 
       16134 
     | 
    
         
            -
                                    break;
         
     | 
| 
       16135 
     | 
    
         
            -
                                }
         
     | 
| 
       16136 
     | 
    
         
            -
                            }
         
     | 
| 
       16137 
     | 
    
         
            -
                            else {
         
     | 
| 
       16138 
     | 
    
         
            -
                                break;
         
     | 
| 
       16139 
     | 
    
         
            -
                            }
         
     | 
| 
       16140 
     | 
    
         
            -
                        }
         
     | 
| 
       16141 
     | 
    
         
            -
                        else {
         
     | 
| 
       16142 
     | 
    
         
            -
                            tbRender.removeChild(currRow);
         
     | 
| 
       16143 
     | 
    
         
            -
                            cloneTbRender.addChild(currRow);
         
     | 
| 
       16144 
     | 
    
         
            -
                            sumHeight += currRow.rect.height;
         
     | 
| 
       16145 
     | 
    
         
            -
                            currRow = rows[++j];
         
     | 
| 
       16146 
     | 
    
         
            -
                        }
         
     | 
| 
       16147 
     | 
    
         
            -
                    }
         
     | 
| 
       16148 
     | 
    
         
            -
                    this.fixCutTable(tbRender, cutRows);
         
     | 
| 
       16149 
     | 
    
         
            -
                    ElementUtil.remeasure(cloneTbRender);
         
     | 
| 
       16150 
     | 
    
         
            -
                    //存在跨页需要重复显示的行头,则需要重新放置行头
         
     | 
| 
       16151 
     | 
    
         
            -
                    if (copyHeaderRows.length) {
         
     | 
| 
       16152 
     | 
    
         
            -
                        copyHeaderRows.forEach((r, i) => tbRender.insertChild(r, i));
         
     | 
| 
       16153 
     | 
    
         
            -
                    }
         
     | 
| 
       16154 
     | 
    
         
            -
                    ElementUtil.remeasure(tbRender);
         
     | 
| 
       16155 
     | 
    
         
            -
                    if (cloneTbRender.length === 0) {
         
     | 
| 
       16156 
     | 
    
         
            -
                        return null;
         
     | 
| 
       16157 
     | 
    
         
            -
                    }
         
     | 
| 
       16158 
     | 
    
         
            -
                    else {
         
     | 
| 
       16159 
     | 
    
         
            -
                        return cloneTbRender;
         
     | 
| 
       16160 
     | 
    
         
            -
                    }
         
     | 
| 
       16161 
     | 
    
         
            -
                }
         
     | 
| 
       16162 
     | 
    
         
            -
                cutRowRenderItem(render, limitHeight) {
         
     | 
| 
       16163 
     | 
    
         
            -
                    if (render.element.props.minHeight > 0 && render.rect.height > limitHeight) {
         
     | 
| 
       16164 
     | 
    
         
            -
                        return null;
         
     | 
| 
       16165 
     | 
    
         
            -
                    }
         
     | 
| 
       16166 
     | 
    
         
            -
                    const cloneRowRender = render.element.createRenderObject();
         
     | 
| 
       16167 
     | 
    
         
            -
                    cloneRowRender.rect.width = render.rect.width;
         
     | 
| 
       16168 
     | 
    
         
            -
                    render.remeasureState = true;
         
     | 
| 
       16169 
     | 
    
         
            -
                    //cloneRowRender.rect.maxWidth = render.rect.height;
         
     | 
| 
       16170 
     | 
    
         
            -
                    const cellRenders = [...render.getItems()];
         
     | 
| 
       16171 
     | 
    
         
            -
                    const cutCellRenders = [];
         
     | 
| 
       16172 
     | 
    
         
            -
                    for (let i = 0; i < cellRenders.length; i++) {
         
     | 
| 
       16173 
     | 
    
         
            -
                        const cellRender = cellRenders[i];
         
     | 
| 
       16174 
     | 
    
         
            -
                        this.markMergeRowRenderDirty(cellRender);
         
     | 
| 
       16175 
     | 
    
         
            -
                        if (cellRender.rect.height > limitHeight) {
         
     | 
| 
       16176 
     | 
    
         
            -
                            //限制的内框尺寸
         
     | 
| 
       16177 
     | 
    
         
            -
                            const limitCellHeight = ElementUtil.innerRectMaxHeight(cellRender, limitHeight);
         
     | 
| 
       16178 
     | 
    
         
            -
                            const cutCellRender = this.cutRenderItem(cellRender, limitCellHeight);
         
     | 
| 
       16179 
     | 
    
         
            -
                            if (cutCellRender) {
         
     | 
| 
       16180 
     | 
    
         
            -
                                cutCellRenders.push(cutCellRender);
         
     | 
| 
       16181 
     | 
    
         
            -
                            }
         
     | 
| 
       16182 
     | 
    
         
            -
                            else {
         
     | 
| 
       16183 
     | 
    
         
            -
                                cutCellRenders.push(null);
         
     | 
| 
       16184 
     | 
    
         
            -
                            }
         
     | 
| 
       16185 
     | 
    
         
            -
                        }
         
     | 
| 
       16186 
     | 
    
         
            -
                        else {
         
     | 
| 
       16187 
     | 
    
         
            -
                            const cloneCellRender = cellRender;
         
     | 
| 
       16188 
     | 
    
         
            -
                            render.removeChild(cellRender);
         
     | 
| 
       16189 
     | 
    
         
            -
                            cutCellRenders.push(cloneCellRender);
         
     | 
| 
       16190 
     | 
    
         
            -
                        }
         
     | 
| 
       16191 
     | 
    
         
            -
                    }
         
     | 
| 
       16192 
     | 
    
         
            -
                    ElementUtil.remeasure(render);
         
     | 
| 
       16193 
     | 
    
         
            -
                    if (cutCellRenders.filter(item => item).length === 0) {
         
     | 
| 
       16194 
     | 
    
         
            -
                        return null;
         
     | 
| 
       16195 
     | 
    
         
            -
                    }
         
     | 
| 
       16196 
     | 
    
         
            -
                    else {
         
     | 
| 
       16197 
     | 
    
         
            -
                        //补齐单元格
         
     | 
| 
       16198 
     | 
    
         
            -
                        for (let i = 0; i < cutCellRenders.length; i++) {
         
     | 
| 
       16199 
     | 
    
         
            -
                            let cellRender = cutCellRenders[i];
         
     | 
| 
       16200 
     | 
    
         
            -
                            if (!cellRender) {
         
     | 
| 
       16201 
     | 
    
         
            -
                                cellRender = cellRenders[i].element.createRenderObject({
         
     | 
| 
       16202 
     | 
    
         
            -
                                    options: this.options,
         
     | 
| 
       16203 
     | 
    
         
            -
                                    renderCtx: this.renderContext
         
     | 
| 
       16204 
     | 
    
         
            -
                                });
         
     | 
| 
       16205 
     | 
    
         
            -
                                cellRender.rect = ElementUtil.cloneRect(cellRenders[i].rect);
         
     | 
| 
       16206 
     | 
    
         
            -
                                ElementUtil.remeasure(cellRender);
         
     | 
| 
       16207 
     | 
    
         
            -
                            }
         
     | 
| 
       16208 
     | 
    
         
            -
                            cloneRowRender.addChild(cellRender);
         
     | 
| 
       16209 
     | 
    
         
            -
                        }
         
     | 
| 
       16210 
     | 
    
         
            -
                        ElementUtil.remeasure(cloneRowRender);
         
     | 
| 
       16211 
     | 
    
         
            -
                        return cloneRowRender;
         
     | 
| 
       16212 
     | 
    
         
            -
                    }
         
     | 
| 
       16213 
     | 
    
         
            -
                }
         
     | 
| 
       16214 
     | 
    
         
            -
                /**
         
     | 
| 
       16215 
     | 
    
         
            -
                 * 标记合并单元格所在行需要重新计算
         
     | 
| 
       16216 
     | 
    
         
            -
                 * @param cellRender
         
     | 
| 
       16217 
     | 
    
         
            -
                 * @private
         
     | 
| 
       16218 
     | 
    
         
            -
                 */
         
     | 
| 
       16219 
     | 
    
         
            -
                markMergeRowRenderDirty(cellRender) {
         
     | 
| 
       16220 
     | 
    
         
            -
                    const cellEle = cellRender.element;
         
     | 
| 
       16221 
     | 
    
         
            -
                    if (cellEle.props.vMerge !== 'restart') {
         
     | 
| 
       16222 
     | 
    
         
            -
                        return;
         
     | 
| 
       16223 
     | 
    
         
            -
                    }
         
     | 
| 
       16224 
     | 
    
         
            -
                    const rowRender = cellRender.parent;
         
     | 
| 
       16225 
     | 
    
         
            -
                    rowRender.element;
         
     | 
| 
       16226 
     | 
    
         
            -
                    const tb = rowRender.parent;
         
     | 
| 
       16227 
     | 
    
         
            -
                    const cellYPos = cellRender.rect.y;
         
     | 
| 
       16228 
     | 
    
         
            -
                    for (let i = rowRender.getIndex() + 1; i < tb.length; i++) {
         
     | 
| 
       16229 
     | 
    
         
            -
                        const nextRowRender = tb.getChild(i);
         
     | 
| 
       16230 
     | 
    
         
            -
                        if (nextRowRender.rect.y <= cellYPos) {
         
     | 
| 
       16231 
     | 
    
         
            -
                            nextRowRender.remeasureState = true;
         
     | 
| 
       16232 
     | 
    
         
            -
                            nextRowRender.getItems().forEach(item => {
         
     | 
| 
       16233 
     | 
    
         
            -
                                this.markMergeRowRenderDirty(item);
         
     | 
| 
       16234 
     | 
    
         
            -
                            });
         
     | 
| 
       16235 
     | 
    
         
            -
                        }
         
     | 
| 
       16236 
     | 
    
         
            -
                        else {
         
     | 
| 
       16237 
     | 
    
         
            -
                            break;
         
     | 
| 
       16238 
     | 
    
         
            -
                        }
         
     | 
| 
       16239 
     | 
    
         
            -
                    }
         
     | 
| 
       16240 
     | 
    
         
            -
                }
         
     | 
| 
       16241 
     | 
    
         
            -
                /**
         
     | 
| 
       16242 
     | 
    
         
            -
                 * 修复->已经截断的合并单元格要向下移动到合适的位置
         
     | 
| 
       16243 
     | 
    
         
            -
                 * @param tbRender
         
     | 
| 
       16244 
     | 
    
         
            -
                 * @param cutRows
         
     | 
| 
       16245 
     | 
    
         
            -
                 * @returns
         
     | 
| 
       16246 
     | 
    
         
            -
                 */
         
     | 
| 
       16247 
     | 
    
         
            -
                fixCutTable(tbRender, cutRows) {
         
     | 
| 
       16248 
     | 
    
         
            -
                    if (!cutRows.length) {
         
     | 
| 
       16249 
     | 
    
         
            -
                        return;
         
     | 
| 
       16250 
     | 
    
         
            -
                    }
         
     | 
| 
       16251 
     | 
    
         
            -
                    const tbEle = tbRender.element;
         
     | 
| 
       16252 
     | 
    
         
            -
                    const belowMergeRows = new Set();
         
     | 
| 
       16253 
     | 
    
         
            -
                    for (let i = 0; i < tbRender.length; i++) {
         
     | 
| 
       16254 
     | 
    
         
            -
                        const row = tbRender.getChild(i);
         
     | 
| 
       16255 
     | 
    
         
            -
                        const nextRow = tbRender.getChild(i + 1);
         
     | 
| 
       16256 
     | 
    
         
            -
                        if (!nextRow) {
         
     | 
| 
       16257 
     | 
    
         
            -
                            break;
         
     | 
| 
       16258 
     | 
    
         
            -
                        }
         
     | 
| 
       16259 
     | 
    
         
            -
                        if (!cutRows.some(item => item === row)) {
         
     | 
| 
       16260 
     | 
    
         
            -
                            break;
         
     | 
| 
       16261 
     | 
    
         
            -
                        }
         
     | 
| 
       16262 
     | 
    
         
            -
                        if (row.length === tbEle.getColsCount()) {
         
     | 
| 
       16263 
     | 
    
         
            -
                            break;
         
     | 
| 
       16264 
     | 
    
         
            -
                        }
         
     | 
| 
       16265 
     | 
    
         
            -
                        if (this.checkFullRow(row)) {
         
     | 
| 
       16266 
     | 
    
         
            -
                            break;
         
     | 
| 
       16267 
     | 
    
         
            -
                        }
         
     | 
| 
       16268 
     | 
    
         
            -
                        for (let j = 0; j < row.length; j++) {
         
     | 
| 
       16269 
     | 
    
         
            -
                            const cell = row.getChild(j);
         
     | 
| 
       16270 
     | 
    
         
            -
                            const cellEle = cell.element;
         
     | 
| 
       16271 
     | 
    
         
            -
                            const colIndex = cellEle.getIndex();
         
     | 
| 
       16272 
     | 
    
         
            -
                            if (!this.existsCellRender(nextRow, colIndex)) {
         
     | 
| 
       16273 
     | 
    
         
            -
                                const insertColIndex = this.getRowInsertCellIndex(cell, nextRow);
         
     | 
| 
       16274 
     | 
    
         
            -
                                if (insertColIndex === -1) {
         
     | 
| 
       16275 
     | 
    
         
            -
                                    this.getRowInsertCellIndex(cell, nextRow);
         
     | 
| 
       16276 
     | 
    
         
            -
                                    throw new Error('未在紧挨下方找到可以放置的位置');
         
     | 
| 
       16277 
     | 
    
         
            -
                                }
         
     | 
| 
       16278 
     | 
    
         
            -
                                //row.removeChild(cell);
         
     | 
| 
       16279 
     | 
    
         
            -
                                nextRow.insertChild(cell, insertColIndex);
         
     | 
| 
       16280 
     | 
    
         
            -
                                belowMergeRows.add(row);
         
     | 
| 
       16281 
     | 
    
         
            -
                                ElementUtil.remeasure(nextRow);
         
     | 
| 
       16282 
     | 
    
         
            -
                            }
         
     | 
| 
       16283 
     | 
    
         
            -
                        }
         
     | 
| 
       16284 
     | 
    
         
            -
                    }
         
     | 
| 
       16285 
     | 
    
         
            -
                    if (belowMergeRows.size) {
         
     | 
| 
       16286 
     | 
    
         
            -
                        for (const row of belowMergeRows) {
         
     | 
| 
       16287 
     | 
    
         
            -
                            tbRender.removeChild(row);
         
     | 
| 
       16288 
     | 
    
         
            -
                            row.clear();
         
     | 
| 
       16289 
     | 
    
         
            -
                        }
         
     | 
| 
       16290 
     | 
    
         
            -
                        ElementUtil.remeasure(tbRender);
         
     | 
| 
       16291 
     | 
    
         
            -
                    }
         
     | 
| 
       16292 
     | 
    
         
            -
                }
         
     | 
| 
       16293 
     | 
    
         
            -
                /**
         
     | 
| 
       16294 
     | 
    
         
            -
                 * 校验当前是否是一个完整的行,没有Null单元格,检查当前是否还需要向下合并
         
     | 
| 
       16295 
     | 
    
         
            -
                 * @param row
         
     | 
| 
       16296 
     | 
    
         
            -
                 */
         
     | 
| 
       16297 
     | 
    
         
            -
                checkFullRow(row) {
         
     | 
| 
       16298 
     | 
    
         
            -
                    let x = 0;
         
     | 
| 
       16299 
     | 
    
         
            -
                    for (let i = 0; i < row.length; i++) {
         
     | 
| 
       16300 
     | 
    
         
            -
                        const cell = row.getChild(i);
         
     | 
| 
       16301 
     | 
    
         
            -
                        if (cell.rect.x !== x) {
         
     | 
| 
       16302 
     | 
    
         
            -
                            return false;
         
     | 
| 
       16303 
     | 
    
         
            -
                        }
         
     | 
| 
       16304 
     | 
    
         
            -
                        x += cell.rect.width;
         
     | 
| 
       16305 
     | 
    
         
            -
                    }
         
     | 
| 
       16306 
     | 
    
         
            -
                    return x === row.rect.width;
         
     | 
| 
       16307 
     | 
    
         
            -
                }
         
     | 
| 
       16308 
     | 
    
         
            -
                existsCellRender(rowRender, cellIndex) {
         
     | 
| 
       16309 
     | 
    
         
            -
                    for (let i = 0; i < rowRender.length; i++) {
         
     | 
| 
       16310 
     | 
    
         
            -
                        const cellRender = rowRender.getChild(i);
         
     | 
| 
       16311 
     | 
    
         
            -
                        const cellEle = cellRender.element;
         
     | 
| 
       16312 
     | 
    
         
            -
                        if (cellEle.getIndex() === cellIndex) {
         
     | 
| 
       16313 
     | 
    
         
            -
                            return true;
         
     | 
| 
       16314 
     | 
    
         
            -
                        }
         
     | 
| 
       16315 
     | 
    
         
            -
                    }
         
     | 
| 
       16316 
     | 
    
         
            -
                    return false;
         
     | 
| 
       16317 
     | 
    
         
            -
                }
         
     | 
| 
       16318 
     | 
    
         
            -
                getBlockLineHeight(render) {
         
     | 
| 
       16319 
     | 
    
         
            -
                    if (render instanceof TableRowRenderObject) {
         
     | 
| 
       16320 
     | 
    
         
            -
                        let maxCellHeight = 0;
         
     | 
| 
       16321 
     | 
    
         
            -
                        for (let i = 0; i < render.length; i++) {
         
     | 
| 
       16322 
     | 
    
         
            -
                            const itemHeight = render.getChild(i).rect.height;
         
     | 
| 
       16323 
     | 
    
         
            -
                            if (itemHeight > maxCellHeight) {
         
     | 
| 
       16324 
     | 
    
         
            -
                                maxCellHeight = itemHeight;
         
     | 
| 
       16325 
     | 
    
         
            -
                            }
         
     | 
| 
       16326 
     | 
    
         
            -
                        }
         
     | 
| 
       16327 
     | 
    
         
            -
                        return maxCellHeight;
         
     | 
| 
       16328 
     | 
    
         
            -
                    }
         
     | 
| 
       16329 
     | 
    
         
            -
                    return render.rect.height;
         
     | 
| 
       16330 
     | 
    
         
            -
                }
         
     | 
| 
       16331 
     | 
    
         
            -
                getRowInsertCellIndex(sourceCell, destRow) {
         
     | 
| 
       16332 
     | 
    
         
            -
                    for (let i = 0; i < destRow.length; i++) {
         
     | 
| 
       16333 
     | 
    
         
            -
                        const cell = destRow.getChild(i);
         
     | 
| 
       16334 
     | 
    
         
            -
                        const rect = cell.rect;
         
     | 
| 
       16335 
     | 
    
         
            -
                        if (sourceCell.rect.x < rect.x) {
         
     | 
| 
       16336 
     | 
    
         
            -
                            return i;
         
     | 
| 
       16337 
     | 
    
         
            -
                        }
         
     | 
| 
       16338 
     | 
    
         
            -
                    }
         
     | 
| 
       16339 
     | 
    
         
            -
                    const lastCell = destRow.getChild(destRow.length - 1);
         
     | 
| 
       16340 
     | 
    
         
            -
                    if (sourceCell.rect.x >= lastCell.rect.x + lastCell.rect.width) {
         
     | 
| 
       16341 
     | 
    
         
            -
                        return destRow.length;
         
     | 
| 
       16342 
     | 
    
         
            -
                    }
         
     | 
| 
       16343 
     | 
    
         
            -
                    return -1;
         
     | 
| 
       16344 
     | 
    
         
            -
                }
         
     | 
| 
       16345 
     | 
    
         
            -
                getHeaderRows(tb) {
         
     | 
| 
       16346 
     | 
    
         
            -
                    const rows = [];
         
     | 
| 
       16347 
     | 
    
         
            -
                    for (let i = 0; i < tb.length; i++) {
         
     | 
| 
       16348 
     | 
    
         
            -
                        const rowRender = tb.getChild(i);
         
     | 
| 
       16349 
     | 
    
         
            -
                        const rowEle = rowRender.element;
         
     | 
| 
       16350 
     | 
    
         
            -
                        if (rowEle.props.headerRow) {
         
     | 
| 
       16351 
     | 
    
         
            -
                            rows.push(rowRender);
         
     | 
| 
       16352 
     | 
    
         
            -
                        }
         
     | 
| 
       16353 
     | 
    
         
            -
                        else {
         
     | 
| 
       16354 
     | 
    
         
            -
                            break;
         
     | 
| 
       16355 
     | 
    
         
            -
                        }
         
     | 
| 
       16356 
     | 
    
         
            -
                    }
         
     | 
| 
       16357 
     | 
    
         
            -
                    return rows;
         
     | 
| 
       16358 
     | 
    
         
            -
                }
         
     | 
| 
       16359 
     | 
    
         
            -
            }
         
     | 
| 
       16360 
     | 
    
         
            -
             
     | 
| 
       16361 
     | 
    
         
            -
            class DocumentPaint {
         
     | 
| 
       16362 
     | 
    
         
            -
                renderContext;
         
     | 
| 
       16363 
     | 
    
         
            -
                docCtx;
         
     | 
| 
       16364 
     | 
    
         
            -
                seo;
         
     | 
| 
       16365 
     | 
    
         
            -
                elementMeasure;
         
     | 
| 
       16366 
     | 
    
         
            -
                elementRenderCut;
         
     | 
| 
       16367 
     | 
    
         
            -
                elementPaint;
         
     | 
| 
       16368 
     | 
    
         
            -
                docPages;
         
     | 
| 
       16369 
     | 
    
         
            -
                docContainer;
         
     | 
| 
       16370 
     | 
    
         
            -
                //commsContainer!: CommsContainerRenderObject;
         
     | 
| 
       16371 
     | 
    
         
            -
                viewOptions;
         
     | 
| 
       16372 
     | 
    
         
            -
                constructor(renderContext, docCtx, seo) {
         
     | 
| 
       16373 
     | 
    
         
            -
                    this.renderContext = renderContext;
         
     | 
| 
       16374 
     | 
    
         
            -
                    this.docCtx = docCtx;
         
     | 
| 
       16375 
     | 
    
         
            -
                    this.seo = seo;
         
     | 
| 
       16376 
     | 
    
         
            -
                    this.viewOptions = this.docCtx.viewOptions;
         
     | 
| 
       16377 
     | 
    
         
            -
                    this.elementMeasure = new ElementMeasure(this.docCtx, this.renderContext);
         
     | 
| 
       16378 
     | 
    
         
            -
                    this.elementRenderCut = new ElementRenderCut(this.viewOptions, this.renderContext);
         
     | 
| 
       16379 
     | 
    
         
            -
                    this.elementPaint = new ElementPaint(this.renderContext, this.docCtx);
         
     | 
| 
       16380 
     | 
    
         
            -
                }
         
     | 
| 
       16381 
     | 
    
         
            -
                rePages() {
         
     | 
| 
       16382 
     | 
    
         
            -
                    if (!this.docCtx.document.length) {
         
     | 
| 
       16383 
     | 
    
         
            -
                        return;
         
     | 
| 
       16384 
     | 
    
         
            -
                    }
         
     | 
| 
       16385 
     | 
    
         
            -
                    this.docContainer = new DocumentContainerRender();
         
     | 
| 
       16386 
     | 
    
         
            -
                    this.docCtx.selectionState.renderContainer = this.docContainer;
         
     | 
| 
       16387 
     | 
    
         
            -
                    this.docContainer.rect.width = this.viewOptions.docPageSettings.width;
         
     | 
| 
       16388 
     | 
    
         
            -
                    // console.time('排版计时');
         
     | 
| 
       16389 
     | 
    
         
            -
                    // const documentRender = this.elementMeasure.measureDocument(this.docCtx.document);
         
     | 
| 
       16390 
     | 
    
         
            -
                    // this.commsContainer = documentRender.getChild(3) as CommsContainerRenderObject;
         
     | 
| 
       16391 
     | 
    
         
            -
                    // if (this.commsContainer) {
         
     | 
| 
       16392 
     | 
    
         
            -
                    //     this.commsContainer = this.commsContainer.clone() as CommsContainerRenderObject;
         
     | 
| 
       16393 
     | 
    
         
            -
                    // }
         
     | 
| 
       16394 
     | 
    
         
            -
                    // //console.timeEnd('排版计时');
         
     | 
| 
       16395 
     | 
    
         
            -
                    // //console.time('断页计时');
         
     | 
| 
       16396 
     | 
    
         
            -
                    // const docPages = this.elementRenderCut.cutPage(documentRender, this.docCtx.document);
         
     | 
| 
       16397 
     | 
    
         
            -
                    const newMeasure = new DocumentArrange(this.docCtx, this.renderContext, this.seo);
         
     | 
| 
       16398 
     | 
    
         
            -
                    const docPages = newMeasure.measureDoc();
         
     | 
| 
       16399 
     | 
    
         
            -
                    // this.commsContainer = newMeasure.commentsRender as CommsContainerRenderObject;
         
     | 
| 
       16400 
     | 
    
         
            -
                    // if (this.commsContainer) {
         
     | 
| 
       16401 
     | 
    
         
            -
                    //     this.commsContainer = this.commsContainer.clone() as CommsContainerRenderObject;
         
     | 
| 
       16402 
     | 
    
         
            -
                    // }
         
     | 
| 
       16403 
     | 
    
         
            -
                    //console.timeEnd('断页计时');
         
     | 
| 
       16404 
     | 
    
         
            -
                    this.setCommRangeMark();
         
     | 
| 
       16405 
     | 
    
         
            -
                    this.docPages = docPages;
         
     | 
| 
       16406 
     | 
    
         
            -
                    this.layoutPages();
         
     | 
| 
      
 15571 
     | 
    
         
            +
                    this.docContainer = new DocumentContainerRender();
         
     | 
| 
      
 15572 
     | 
    
         
            +
                    this.docCtx.selectionState.renderContainer = this.docContainer;
         
     | 
| 
      
 15573 
     | 
    
         
            +
                    this.docContainer.rect.width = this.viewOptions.docPageSettings.width;
         
     | 
| 
      
 15574 
     | 
    
         
            +
                    // console.time('排版计时');
         
     | 
| 
      
 15575 
     | 
    
         
            +
                    // const documentRender = this.elementMeasure.measureDocument(this.docCtx.document);
         
     | 
| 
      
 15576 
     | 
    
         
            +
                    // this.commsContainer = documentRender.getChild(3) as CommsContainerRenderObject;
         
     | 
| 
      
 15577 
     | 
    
         
            +
                    // if (this.commsContainer) {
         
     | 
| 
      
 15578 
     | 
    
         
            +
                    //     this.commsContainer = this.commsContainer.clone() as CommsContainerRenderObject;
         
     | 
| 
      
 15579 
     | 
    
         
            +
                    // }
         
     | 
| 
      
 15580 
     | 
    
         
            +
                    // //console.timeEnd('排版计时');
         
     | 
| 
      
 15581 
     | 
    
         
            +
                    // //console.time('断页计时');
         
     | 
| 
      
 15582 
     | 
    
         
            +
                    // const docPages = this.elementRenderCut.cutPage(documentRender, this.docCtx.document);
         
     | 
| 
      
 15583 
     | 
    
         
            +
                    const newMeasure = new DocumentArrange(this.docCtx, this.renderContext, this.seo);
         
     | 
| 
      
 15584 
     | 
    
         
            +
                    const docPages = newMeasure.measureDoc();
         
     | 
| 
      
 15585 
     | 
    
         
            +
                    // this.commsContainer = newMeasure.commentsRender as CommsContainerRenderObject;
         
     | 
| 
      
 15586 
     | 
    
         
            +
                    // if (this.commsContainer) {
         
     | 
| 
      
 15587 
     | 
    
         
            +
                    //     this.commsContainer = this.commsContainer.clone() as CommsContainerRenderObject;
         
     | 
| 
      
 15588 
     | 
    
         
            +
                    // }
         
     | 
| 
      
 15589 
     | 
    
         
            +
                    //console.timeEnd('断页计时');
         
     | 
| 
      
 15590 
     | 
    
         
            +
                    this.setCommRangeMark();
         
     | 
| 
      
 15591 
     | 
    
         
            +
                    this.docPages = docPages;
         
     | 
| 
      
 15592 
     | 
    
         
            +
                    this.layoutPages();
         
     | 
| 
       16407 
15593 
     | 
    
         
             
                }
         
     | 
| 
       16408 
15594 
     | 
    
         
             
                /**
         
     | 
| 
       16409 
15595 
     | 
    
         
             
                 * 文档页面显示布局
         
     | 
| 
         @@ -16569,8 +15755,6 @@ class PermanentTeethElement extends LeafElement { 
     | 
|
| 
       16569 
15755 
     | 
    
         
             
                }
         
     | 
| 
       16570 
15756 
     | 
    
         
             
            }
         
     | 
| 
       16571 
15757 
     | 
    
         
             
            class PermanentTeethRenderObject extends LeafRenderObject {
         
     | 
| 
       16572 
     | 
    
         
            -
                render(e) {
         
     | 
| 
       16573 
     | 
    
         
            -
                }
         
     | 
| 
       16574 
15758 
     | 
    
         
             
                clone() {
         
     | 
| 
       16575 
15759 
     | 
    
         
             
                    const clone = new PermanentTeethRenderObject(this.element);
         
     | 
| 
       16576 
15760 
     | 
    
         
             
                    clone.rect = ElementUtil.cloneRect(this.rect);
         
     | 
| 
         @@ -16702,6 +15886,7 @@ class ElementReader { 
     | 
|
| 
       16702 
15886 
     | 
    
         
             
                    this.addFactory(PageBreakFactory);
         
     | 
| 
       16703 
15887 
     | 
    
         
             
                    this.addFactory(TabFactory);
         
     | 
| 
       16704 
15888 
     | 
    
         
             
                    this.addFactory(PermanentTeethFactory);
         
     | 
| 
      
 15889 
     | 
    
         
            +
                    this.addFactory(SVGFactory);
         
     | 
| 
       16705 
15890 
     | 
    
         
             
                    // this.registerReadFunc<TrackRunProps>('ins-run', (data) => {
         
     | 
| 
       16706 
15891 
     | 
    
         
             
                    //     const props = new TrackRunProps(data.type);
         
     | 
| 
       16707 
15892 
     | 
    
         
             
                    //     props.userId = data.userId;
         
     | 
| 
         @@ -17842,7 +17027,10 @@ class DocumentEvent { 
     | 
|
| 
       17842 
17027 
     | 
    
         
             
                    if (renderObject instanceof LeafRenderObject) {
         
     | 
| 
       17843 
17028 
     | 
    
         
             
                        if (CommonUtil.isInsideRectByPosition(renderObjectRect, hitPos)) {
         
     | 
| 
       17844 
17029 
     | 
    
         
             
                            const x = hitPos.x - renderObjectRect.x;
         
     | 
| 
       17845 
     | 
    
         
            -
                             
     | 
| 
      
 17030 
     | 
    
         
            +
                            let offset = ElementUtil.getHitRenderOffset(renderObject, x);
         
     | 
| 
      
 17031 
     | 
    
         
            +
                            if (!this.ismousedown && renderObject.element && renderObject.element.type === 'psym') {
         
     | 
| 
      
 17032 
     | 
    
         
            +
                                offset = 0;
         
     | 
| 
      
 17033 
     | 
    
         
            +
                            }
         
     | 
| 
       17846 
17034 
     | 
    
         
             
                            return {
         
     | 
| 
       17847 
17035 
     | 
    
         
             
                                render: renderObject,
         
     | 
| 
       17848 
17036 
     | 
    
         
             
                                offset,
         
     | 
| 
         @@ -17934,7 +17122,10 @@ class DocumentEvent { 
     | 
|
| 
       17934 
17122 
     | 
    
         
             
                            else {
         
     | 
| 
       17935 
17123 
     | 
    
         
             
                                x = position.x - adjacentRender.rect.x;
         
     | 
| 
       17936 
17124 
     | 
    
         
             
                            }
         
     | 
| 
       17937 
     | 
    
         
            -
                             
     | 
| 
      
 17125 
     | 
    
         
            +
                            let offset = ElementUtil.getHitRenderOffset(adjacentRender.render, x);
         
     | 
| 
      
 17126 
     | 
    
         
            +
                            if (!this.ismousedown && renderObject.element && renderObject.element.type === 'psym') {
         
     | 
| 
      
 17127 
     | 
    
         
            +
                                offset = 0;
         
     | 
| 
      
 17128 
     | 
    
         
            +
                            }
         
     | 
| 
       17938 
17129 
     | 
    
         
             
                            return {
         
     | 
| 
       17939 
17130 
     | 
    
         
             
                                render: adjacentRender.render,
         
     | 
| 
       17940 
17131 
     | 
    
         
             
                                absoluteRenderRect: adjacentRender.rect,
         
     | 
| 
         @@ -18024,6 +17215,7 @@ class DocumentEvent { 
     | 
|
| 
       18024 
17215 
     | 
    
         
             
                        startHitInfo: this.startHitInfo,
         
     | 
| 
       18025 
17216 
     | 
    
         
             
                        endHitInfo: this.endHitInfo
         
     | 
| 
       18026 
17217 
     | 
    
         
             
                    });
         
     | 
| 
      
 17218 
     | 
    
         
            +
                    console.log(this.endHitInfo);
         
     | 
| 
       18027 
17219 
     | 
    
         
             
                }
         
     | 
| 
       18028 
17220 
     | 
    
         
             
                /**
         
     | 
| 
       18029 
17221 
     | 
    
         
             
                 * 获取鼠标所在的渲染元素对象
         
     | 
| 
         @@ -28956,7 +28148,7 @@ class DocEditor { 
     | 
|
| 
       28956 
28148 
     | 
    
         
             
                    rule.setRuleOptions({ width: this.viewOptions.docPageSettings.width, pagePL, pagePR, docLeft });
         
     | 
| 
       28957 
28149 
     | 
    
         
             
                }
         
     | 
| 
       28958 
28150 
     | 
    
         
             
                version() {
         
     | 
| 
       28959 
     | 
    
         
            -
                    return "2.1. 
     | 
| 
      
 28151 
     | 
    
         
            +
                    return "2.1.20";
         
     | 
| 
       28960 
28152 
     | 
    
         
             
                }
         
     | 
| 
       28961 
28153 
     | 
    
         
             
                switchPageHeaderEditor() {
         
     | 
| 
       28962 
28154 
     | 
    
         
             
                    this.docCtx.document.switchPageHeaderEditor(this.selectionState, null);
         
     | 
| 
         @@ -28964,7 +28156,7 @@ class DocEditor { 
     | 
|
| 
       28964 
28156 
     | 
    
         
             
                getTextContent() {
         
     | 
| 
       28965 
28157 
     | 
    
         
             
                    const paras = this.docCtx.document.treeFilter(item => item instanceof ParagraphElement);
         
     | 
| 
       28966 
28158 
     | 
    
         
             
                    const paraTexts = paras.map(item => ElementSerialize.serializeString(item, { all: false }));
         
     | 
| 
       28967 
     | 
    
         
            -
                    return paraTexts.join(' 
     | 
| 
      
 28159 
     | 
    
         
            +
                    return paraTexts.join('');
         
     | 
| 
       28968 
28160 
     | 
    
         
             
                }
         
     | 
| 
       28969 
28161 
     | 
    
         
             
                emit(event, args) {
         
     | 
| 
       28970 
28162 
     | 
    
         
             
                    this.eventBus.emit(event, args);
         
     | 
| 
         @@ -29311,6 +28503,10 @@ exports.RenderContext = RenderContext; 
     | 
|
| 
       29311 
28503 
     | 
    
         
             
            exports.RenderObject = RenderObject;
         
     | 
| 
       29312 
28504 
     | 
    
         
             
            exports.ResizeLeafRenderObject = ResizeLeafRenderObject;
         
     | 
| 
       29313 
28505 
     | 
    
         
             
            exports.RunElementFactory = RunElementFactory;
         
     | 
| 
      
 28506 
     | 
    
         
            +
            exports.SVGElement = SVGElement;
         
     | 
| 
      
 28507 
     | 
    
         
            +
            exports.SVGFactory = SVGFactory;
         
     | 
| 
      
 28508 
     | 
    
         
            +
            exports.SVGProps = SVGProps;
         
     | 
| 
      
 28509 
     | 
    
         
            +
            exports.SVGRenderObject = SVGRenderObject;
         
     | 
| 
       29314 
28510 
     | 
    
         
             
            exports.SelectionOverlays = SelectionOverlays;
         
     | 
| 
       29315 
28511 
     | 
    
         
             
            exports.SelectionRange = SelectionRange;
         
     | 
| 
       29316 
28512 
     | 
    
         
             
            exports.SelectionState = SelectionState;
         
     |