@hailin-zheng/editor-core 2.2.2 → 2.2.4
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/editor.css +96 -12
- package/index-cjs.d.ts +1 -0
- package/index-cjs.js +757 -278
- package/index-cjs.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +752 -278
- package/index.js.map +1 -1
- package/med_editor/doc-editor.d.ts +37 -5
- package/med_editor/framework/document-change.d.ts +21 -2
- package/med_editor/framework/document-context.d.ts +5 -0
- package/med_editor/framework/document-input-cursor.d.ts +4 -15
- package/med_editor/framework/element-define.d.ts +7 -0
- package/med_editor/framework/element-event-define.d.ts +2 -5
- package/med_editor/framework/element-type-handler.d.ts +0 -1
- package/med_editor/framework/impl/data-element/data-container-impl.d.ts +25 -0
- package/med_editor/framework/impl/document/doc-body-impl.d.ts +0 -1
- package/med_editor/framework/impl/document/doc-impl.d.ts +1 -0
- package/med_editor/framework/impl/index.d.ts +1 -0
- package/med_editor/framework/impl/table/table-split-cell.d.ts +3 -2
- package/med_editor/framework/infrastructure/event-subject.d.ts +1 -0
- package/med_editor/framework/selection/document-selection.d.ts +1 -6
- package/med_editor/framework/suggestions/input-suggestions.d.ts +29 -0
- package/med_editor/framework/util/common-util.d.ts +1 -1
- package/package.json +1 -1
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            import { ContentMenuItem } from './framework/element-event-define';
         | 
| 2 2 | 
             
            import { ElementReader } from './framework/element-reader';
         | 
| 3 3 | 
             
            import { SelectionState } from './framework/selection/document-selection';
         | 
| 4 | 
            -
            import {  | 
| 4 | 
            +
            import { BlockContainerElement, Element, ICancelTokenFn, LeafElement, MarginProps, OrientType, PageLayoutMode, Position, Rect, SerializeProps, ViewOptions } from './framework/element-define';
         | 
| 5 5 | 
             
            import { DataElementInlineGroup, DataElementLeaf, DocumentElement, ParagraphElement, TableCellElement, TableElement, TableRowElement } from './framework/impl';
         | 
| 6 6 | 
             
            import { CellDiagonal, ParagraphNumberType, ParagraphProps, TextProps } from './framework/element-props';
         | 
| 7 7 | 
             
            import { EditorContext } from './framework/document-context';
         | 
| @@ -10,8 +10,10 @@ import { Subject } from './framework/infrastructure/event-subject'; | |
| 10 10 | 
             
            import { init, VNode } from "snabbdom";
         | 
| 11 11 | 
             
            import { IVNodeRenderFunc } from "./editor-core";
         | 
| 12 12 | 
             
            import { DocRule } from "./doc-rule";
         | 
| 13 | 
            +
            import { ISuggestionData, ISuggestionProvider } from './framework/suggestions/input-suggestions';
         | 
| 13 14 | 
             
            export declare class DocEditor {
         | 
| 14 15 | 
             
                private svgContainer;
         | 
| 16 | 
            +
                __v_skip: boolean;
         | 
| 15 17 | 
             
                private contentCtx;
         | 
| 16 18 | 
             
                viewOptions: ViewOptions;
         | 
| 17 19 | 
             
                docCtx: EditorContext;
         | 
| @@ -43,14 +45,17 @@ export declare class DocEditor { | |
| 43 45 | 
             
                onDestroy: Subject<void>;
         | 
| 44 46 | 
             
                beforeNodePatch: Subject<void>;
         | 
| 45 47 | 
             
                afterNodePatch: Subject<void>;
         | 
| 48 | 
            +
                onTextChanged: Subject<void>;
         | 
| 49 | 
            +
                onSuggestionsProcess: Subject<ISuggestionProvider>;
         | 
| 46 50 | 
             
                private eventBus;
         | 
| 47 51 | 
             
                private editInput;
         | 
| 48 52 | 
             
                private scrollContainer;
         | 
| 53 | 
            +
                onKeyDownEvent: Subject<KeyboardEvent>;
         | 
| 49 54 | 
             
                constructor(svgContainer: HTMLElement);
         | 
| 50 55 | 
             
                private createCanvasContext;
         | 
| 51 56 | 
             
                private renderRoot;
         | 
| 52 57 | 
             
                private updateViewOption;
         | 
| 53 | 
            -
                 | 
| 58 | 
            +
                adjustPageLayout(): void;
         | 
| 54 59 | 
             
                private destroyDOM;
         | 
| 55 60 | 
             
                createDocViewer(): void;
         | 
| 56 61 | 
             
                measureMMToPixs(): number;
         | 
| @@ -78,11 +83,16 @@ export declare class DocEditor { | |
| 78 83 | 
             
                 * @private
         | 
| 79 84 | 
             
                 */
         | 
| 80 85 | 
             
                private updateSelection;
         | 
| 86 | 
            +
                /**
         | 
| 87 | 
            +
                 * 根据当前选区,更新待输入文本字体信息
         | 
| 88 | 
            +
                 * @private
         | 
| 89 | 
            +
                 */
         | 
| 90 | 
            +
                private updateInputFont;
         | 
| 81 91 | 
             
                private hitInfoChanged;
         | 
| 82 92 | 
             
                /**
         | 
| 83 93 | 
             
                 * 设置光标
         | 
| 84 94 | 
             
                 */
         | 
| 85 | 
            -
                 | 
| 95 | 
            +
                setCursor(): void;
         | 
| 86 96 | 
             
                private getCursorRect;
         | 
| 87 97 | 
             
                /**
         | 
| 88 98 | 
             
                 * 设置虚拟光标的可见性
         | 
| @@ -174,6 +184,7 @@ export declare class DocEditor { | |
| 174 184 | 
             
                 * @param cols
         | 
| 175 185 | 
             
                 */
         | 
| 176 186 | 
             
                insertTable(rows: number, cols: number): TableElement;
         | 
| 187 | 
            +
                insertLayoutContainer(ele: BlockContainerElement): void;
         | 
| 177 188 | 
             
                /**
         | 
| 178 189 | 
             
                 * 插入软换行符
         | 
| 179 190 | 
             
                 */
         | 
| @@ -242,7 +253,7 @@ export declare class DocEditor { | |
| 242 253 | 
             
                /**
         | 
| 243 254 | 
             
                 * 插入批注
         | 
| 244 255 | 
             
                 */
         | 
| 245 | 
            -
                insertComment(): void;
         | 
| 256 | 
            +
                insertComment(text: string): void;
         | 
| 246 257 | 
             
                /**
         | 
| 247 258 | 
             
                 * 清除所有批注
         | 
| 248 259 | 
             
                 */
         | 
| @@ -278,7 +289,10 @@ export declare class DocEditor { | |
| 278 289 | 
             
                 * 是否可以恢复
         | 
| 279 290 | 
             
                 */
         | 
| 280 291 | 
             
                canRedo(): boolean;
         | 
| 281 | 
            -
                 | 
| 292 | 
            +
                /**
         | 
| 293 | 
            +
                 * 切换文档留痕开关
         | 
| 294 | 
            +
                 */
         | 
| 295 | 
            +
                switchTrackChanges(): void;
         | 
| 282 296 | 
             
                get trackTipsChanged(): Subject<{
         | 
| 283 297 | 
             
                    pos: Position;
         | 
| 284 298 | 
             
                    tips: import("./framework/element-event-define").ITrackTips;
         | 
| @@ -447,6 +461,24 @@ export declare class DocEditor { | |
| 447 461 | 
             
                emit(event: string, args: any): void;
         | 
| 448 462 | 
             
                createResizableElement(): VNode;
         | 
| 449 463 | 
             
                private readDocChangeLog;
         | 
| 464 | 
            +
                /**
         | 
| 465 | 
            +
                 * 处理候选词
         | 
| 466 | 
            +
                 * @private
         | 
| 467 | 
            +
                 */
         | 
| 468 | 
            +
                private processSuggestionsHandle;
         | 
| 469 | 
            +
                createAutoCompleteOptions(): void;
         | 
| 470 | 
            +
                private processKeyDownEvent;
         | 
| 471 | 
            +
                /**
         | 
| 472 | 
            +
                 * 处理候选词,键盘选择定位
         | 
| 473 | 
            +
                 * @private
         | 
| 474 | 
            +
                 */
         | 
| 475 | 
            +
                private onSuggestionsKeydown;
         | 
| 476 | 
            +
                /**
         | 
| 477 | 
            +
                 * 渲染联想、候选词
         | 
| 478 | 
            +
                 * @private
         | 
| 479 | 
            +
                 */
         | 
| 480 | 
            +
                private renderSuggestions;
         | 
| 481 | 
            +
                insertSuggestion(suggestion: ISuggestionData): void;
         | 
| 450 482 | 
             
            }
         | 
| 451 483 | 
             
            export interface IReaderManager {
         | 
| 452 484 | 
             
            }
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            import { DocumentInput, InputData } from "./document-input-cursor";
         | 
| 2 2 | 
             
            import { SelectionState } from "./selection/document-selection";
         | 
| 3 | 
            -
            import { Element, LeafElement, SelectionContentRange } from "./element-define";
         | 
| 3 | 
            +
            import { BlockContainerElement, Element, LeafElement, SelectionContentRange } from "./element-define";
         | 
| 4 4 | 
             
            import { ParagraphElement, TableElement, TextGroupElement, TrackRunTypeEnum } from "./impl";
         | 
| 5 5 | 
             
            import { ParagraphNumberType, ParagraphProps, TextProps } from "./element-props";
         | 
| 6 6 | 
             
            import { ElementReader } from "./element-reader";
         | 
| @@ -18,6 +18,7 @@ export declare class DocumentChange { | |
| 18 18 | 
             
                private viewOptions;
         | 
| 19 19 | 
             
                constructor(eleReader: ElementReader, docCtx: EditorContext, docComment: DocumentComment, documentInput: DocumentInput);
         | 
| 20 20 | 
             
                newInput(data: InputData): void;
         | 
| 21 | 
            +
                private correctInputEle;
         | 
| 21 22 | 
             
                /**
         | 
| 22 23 | 
             
                 * 选中区域后进行输入
         | 
| 23 24 | 
             
                 * 需要处理将选中的区域删除后,进行输入的情况
         | 
| @@ -142,6 +143,11 @@ export declare class DocumentChange { | |
| 142 143 | 
             
                 */
         | 
| 143 144 | 
             
                private updateDeletedTrackText;
         | 
| 144 145 | 
             
                private getNextTrackInputElement;
         | 
| 146 | 
            +
                /**
         | 
| 147 | 
            +
                 * 创建一个待输入的文本元素
         | 
| 148 | 
            +
                 * @private
         | 
| 149 | 
            +
                 */
         | 
| 150 | 
            +
                private createNewInputText;
         | 
| 145 151 | 
             
                private getNextTrackElement;
         | 
| 146 152 | 
             
                /**
         | 
| 147 153 | 
             
                 * 删除元素并定位光标
         | 
| @@ -167,6 +173,11 @@ export declare class DocumentChange { | |
| 167 173 | 
             
                 * @returns
         | 
| 168 174 | 
             
                 */
         | 
| 169 175 | 
             
                insertTable(tb: TableElement): void;
         | 
| 176 | 
            +
                /**
         | 
| 177 | 
            +
                 * 插入布局容器,比如表格、数据容器等
         | 
| 178 | 
            +
                 * @param ele
         | 
| 179 | 
            +
                 */
         | 
| 180 | 
            +
                insertLayoutContainer(ele: BlockContainerElement): void;
         | 
| 170 181 | 
             
                /**
         | 
| 171 182 | 
             
                 * 分割当前段落用于插入表格或者粘贴的内容
         | 
| 172 183 | 
             
                 * @param insertItems 分割后插入的内容,内容需要是block或者表格对象
         | 
| @@ -264,6 +275,14 @@ export declare class DocumentChange { | |
| 264 275 | 
             
                 * @param text
         | 
| 265 276 | 
             
                 */
         | 
| 266 277 | 
             
                private pastePlainText;
         | 
| 278 | 
            +
                /**
         | 
| 279 | 
            +
                 * 向当前光标追加文本
         | 
| 280 | 
            +
                 * @param appendStr
         | 
| 281 | 
            +
                 * @param inputOffset
         | 
| 282 | 
            +
                 * @param replaceLength
         | 
| 283 | 
            +
                 * @private
         | 
| 284 | 
            +
                 */
         | 
| 285 | 
            +
                appendText(appendStr: string, replaceText: string): void;
         | 
| 267 286 | 
             
                /**
         | 
| 268 287 | 
             
                 * 设置当前段落项目符号类型
         | 
| 269 288 | 
             
                 */
         | 
| @@ -271,7 +290,7 @@ export declare class DocumentChange { | |
| 271 290 | 
             
                /**
         | 
| 272 291 | 
             
                 * 插入批注
         | 
| 273 292 | 
             
                 */
         | 
| 274 | 
            -
                insertComment(): void;
         | 
| 293 | 
            +
                insertComment(text: string): void;
         | 
| 275 294 | 
             
                validate(): boolean;
         | 
| 276 295 | 
             
                /**
         | 
| 277 296 | 
             
                 * 移除空字符串
         | 
| @@ -4,6 +4,8 @@ import { ElementEvent, EventTypes } from "./element-event-define"; | |
| 4 4 | 
             
            import { DataElementValueStruct } from "./element-serialize";
         | 
| 5 5 | 
             
            import { DataElementCheck, DataElementInlineGroup, DataElementLeaf, DocumentElement, TrackRunElement, TrackRunTypeEnum } from "./impl";
         | 
| 6 6 | 
             
            import { DocumentChange } from "./document-change";
         | 
| 7 | 
            +
            import { Subject } from "./infrastructure/event-subject";
         | 
| 8 | 
            +
            import { DocInputSuggestions } from "./suggestions/input-suggestions";
         | 
| 7 9 | 
             
            /**
         | 
| 8 10 | 
             
             * 当前打开的文档的上下文信息,当前文档所有的属性设置都暴露在上下文中
         | 
| 9 11 | 
             
             */
         | 
| @@ -19,6 +21,8 @@ export declare class EditorContext { | |
| 19 21 | 
             
                nextViewFns: Array<() => void>;
         | 
| 20 22 | 
             
                commentFlag: boolean;
         | 
| 21 23 | 
             
                trackFlag: boolean;
         | 
| 24 | 
            +
                suggestions: DocInputSuggestions;
         | 
| 25 | 
            +
                onKeyDownEvent: Subject<KeyboardEvent>;
         | 
| 22 26 | 
             
                constructor(selectionState: SelectionState, viewOptions: ViewOptions);
         | 
| 23 27 | 
             
                onNextView(cb: (() => void) | null): void;
         | 
| 24 28 | 
             
                get document(): DocumentElement;
         | 
| @@ -41,6 +45,7 @@ export declare class EditorContext { | |
| 41 45 | 
             
                 * 替换数据元
         | 
| 42 46 | 
             
                 */
         | 
| 43 47 | 
             
                replaceDataElement(oldDataElement: DataElementLeaf | DataElementInlineGroup, newElement: DataElementLeaf | DataElementInlineGroup, ss: SelectionState): void;
         | 
| 48 | 
            +
                currentRefreshType: RefreshType | null;
         | 
| 44 49 | 
             
                get refreshType(): RefreshType | null;
         | 
| 45 50 | 
             
                adaptiveScale(): number;
         | 
| 46 51 | 
             
            }
         | 
| @@ -7,8 +7,8 @@ export interface ICompositionStartInfo { | |
| 7 7 | 
             
            }
         | 
| 8 8 | 
             
            export interface InputData {
         | 
| 9 9 | 
             
                composition?: boolean;
         | 
| 10 | 
            -
                compositionStartInfo | 
| 11 | 
            -
                 | 
| 10 | 
            +
                compositionStartInfo: ICompositionStartInfo;
         | 
| 11 | 
            +
                prevInputDataLength?: number;
         | 
| 12 12 | 
             
                data: string;
         | 
| 13 13 | 
             
            }
         | 
| 14 14 | 
             
            /**
         | 
| @@ -17,25 +17,14 @@ export interface InputData { | |
| 17 17 | 
             
            export declare class DocumentInput {
         | 
| 18 18 | 
             
                private docCtx;
         | 
| 19 19 | 
             
                onInputEvent: Subject<InputData>;
         | 
| 20 | 
            -
                onBackspaceEvent: Subject<KeyboardEvent>;
         | 
| 21 | 
            -
                onDeleteEvent: Subject<KeyboardEvent>;
         | 
| 22 | 
            -
                onEnterEvent: Subject<void>;
         | 
| 23 | 
            -
                onLeftEvent: Subject<void>;
         | 
| 24 | 
            -
                onRightEvent: Subject<void>;
         | 
| 25 20 | 
             
                onCopyEvent: Subject<ClipboardEvent>;
         | 
| 26 21 | 
             
                onCutEvent: Subject<ClipboardEvent>;
         | 
| 27 22 | 
             
                onPasteEvent: Subject<ClipboardEvent>;
         | 
| 28 | 
            -
                 | 
| 29 | 
            -
                onSelectAllEvent: Subject<void>;
         | 
| 30 | 
            -
                onHomeEvent: Subject<void>;
         | 
| 31 | 
            -
                onEndEvent: Subject<void>;
         | 
| 32 | 
            -
                onUpEvent: Subject<void>;
         | 
| 33 | 
            -
                onDownEvent: Subject<void>;
         | 
| 34 | 
            -
                onTabKeyEvent: Subject<void>;
         | 
| 23 | 
            +
                onKeyDownEvent: Subject<KeyboardEvent>;
         | 
| 35 24 | 
             
                constructor(docCtx: EditorContext);
         | 
| 36 25 | 
             
                composition: boolean;
         | 
| 37 26 | 
             
                inputTargetStrPosition: number;
         | 
| 38 | 
            -
                 | 
| 27 | 
            +
                inputTargetStrLength: number;
         | 
| 39 28 | 
             
                inputEle: any;
         | 
| 40 29 | 
             
                correctInputEle(ele: any, str: string | undefined, pos: number): void;
         | 
| 41 30 | 
             
                getEventListener(): Object;
         | 
| @@ -15,6 +15,7 @@ export interface SerializeProps { | |
| 15 15 | 
             
                children?: Array<SerializeProps>;
         | 
| 16 16 | 
             
                complete?: boolean;
         | 
| 17 17 | 
             
            }
         | 
| 18 | 
            +
            export declare const TEXT_HEIGHT_FACTOR = 1.4;
         | 
| 18 19 | 
             
            /**
         | 
| 19 20 | 
             
             * 刷新类型
         | 
| 20 21 | 
             
             * 刷新外观,不需要进行测量,直接进入绘制
         | 
| @@ -239,6 +240,7 @@ export declare type OrientType = 'landscape' | 'portrait'; | |
| 239 240 | 
             
            export declare type PageLayoutMode = 'singlePage' | 'multiPage' | 'fit-page';
         | 
| 240 241 | 
             
            export declare class ViewOptions {
         | 
| 241 242 | 
             
                copyRightInfo: string;
         | 
| 243 | 
            +
                trialVersion: boolean;
         | 
| 242 244 | 
             
                watermark?: string;
         | 
| 243 245 | 
             
                drawLineRectColor: string;
         | 
| 244 246 | 
             
                drawCharRectColor: string;
         | 
| @@ -247,6 +249,8 @@ export declare class ViewOptions { | |
| 247 249 | 
             
                editorVersion: string;
         | 
| 248 250 | 
             
                defaultFontSize: number;
         | 
| 249 251 | 
             
                defaultColor: string;
         | 
| 252 | 
            +
                currentFontSize: number;
         | 
| 253 | 
            +
                currentFontName: string;
         | 
| 250 254 | 
             
                selectionOverlaysColor: string;
         | 
| 251 255 | 
             
                dataEleOverlaysColor: string;
         | 
| 252 256 | 
             
                dataEleFocusedBgColor: string;
         | 
| @@ -284,6 +288,7 @@ export declare class ViewOptions { | |
| 284 288 | 
             
                printHeaderFooterLine: boolean;
         | 
| 285 289 | 
             
                showEnterSymbol: boolean;
         | 
| 286 290 | 
             
                enableVisibleExpression: boolean;
         | 
| 291 | 
            +
                shapeRendering: string;
         | 
| 287 292 | 
             
                get fullPageView(): boolean;
         | 
| 288 293 | 
             
                set fullPageView(value: boolean);
         | 
| 289 294 | 
             
                mmToPixelsRatio: number;
         | 
| @@ -308,6 +313,7 @@ export declare class ViewOptions { | |
| 308 313 | 
             
                docMode: DocMode;
         | 
| 309 314 | 
             
                private _showTrackChanges;
         | 
| 310 315 | 
             
                private _showTrackChangesTip;
         | 
| 316 | 
            +
                enableTrackChanges: boolean;
         | 
| 311 317 | 
             
                get showTrackChanges(): boolean;
         | 
| 312 318 | 
             
                set showTrackChanges(value: boolean);
         | 
| 313 319 | 
             
                get showTrackChangesTip(): boolean;
         | 
| @@ -317,6 +323,7 @@ export declare class ViewOptions { | |
| 317 323 | 
             
                trackChangePeriod: number;
         | 
| 318 324 | 
             
                onChange: Subject<'demand' | 'force'>;
         | 
| 319 325 | 
             
                printMode: 'normal' | 'continuation';
         | 
| 326 | 
            +
                enableSuggestions: boolean;
         | 
| 320 327 | 
             
                constructor();
         | 
| 321 328 | 
             
            }
         | 
| 322 329 | 
             
            export declare class MarginProps {
         | 
| @@ -43,13 +43,10 @@ export declare class ElementEvent { | |
| 43 43 | 
             
                buttons: number;
         | 
| 44 44 | 
             
                get selectionState(): import("./selection/document-selection").SelectionState;
         | 
| 45 45 | 
             
            }
         | 
| 46 | 
            -
            export interface MenuListener {
         | 
| 47 | 
            -
                [listener: string]: <T extends Event>(evt: T) => void;
         | 
| 48 | 
            -
            }
         | 
| 49 46 | 
             
            export declare class ContentMenuItem {
         | 
| 50 | 
            -
                icon: string;
         | 
| 51 47 | 
             
                caption: string;
         | 
| 52 | 
            -
                 | 
| 48 | 
            +
                checked?: boolean;
         | 
| 49 | 
            +
                click?: () => void;
         | 
| 53 50 | 
             
                subItems?: Array<ContentMenuItem>;
         | 
| 54 51 | 
             
            }
         | 
| 55 52 | 
             
            /**
         | 
| @@ -5,5 +5,4 @@ import { ElementHandler } from "./element-define"; | |
| 5 5 | 
             
             * @param evt
         | 
| 6 6 | 
             
             */
         | 
| 7 7 | 
             
            export declare const deleteCurrentParagraph: ElementHandler<ContextMenuElementEvent>;
         | 
| 8 | 
            -
            export declare const setDataElementProps: ElementHandler<ContextMenuElementEvent>;
         | 
| 9 8 | 
             
            export declare const onTableContextmenu: ElementHandler<ContextMenuElementEvent>;
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, readElementProps, SerializeProps } from "../../element-define";
         | 
| 2 | 
            +
            import { IEditorVNodeOptions, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
         | 
| 3 | 
            +
            /**
         | 
| 4 | 
            +
             * 数据块容器,包裹多个段落
         | 
| 5 | 
            +
             */
         | 
| 6 | 
            +
            export declare class DataContainerElement extends BlockContainerElement<DataContainerProps> {
         | 
| 7 | 
            +
                constructor();
         | 
| 8 | 
            +
                createRenderObject(): DataContainerRenderObject;
         | 
| 9 | 
            +
                beginMeasure(data: IBeginMeasureData): void;
         | 
| 10 | 
            +
                serialize(): SerializeProps;
         | 
| 11 | 
            +
                clone(data: boolean): DataContainerElement;
         | 
| 12 | 
            +
            }
         | 
| 13 | 
            +
            export declare class DataContainerRenderObject extends MuiltBlockLineRenderObject<DataContainerElement> {
         | 
| 14 | 
            +
                clone(cloneData?: boolean): RenderObject;
         | 
| 15 | 
            +
                exportSVG(event: IEditorVNodeOptions): any;
         | 
| 16 | 
            +
            }
         | 
| 17 | 
            +
            export declare class DataContainerFactory extends ElementFactory<DataContainerProps> {
         | 
| 18 | 
            +
                match(type: string): boolean;
         | 
| 19 | 
            +
                createElement(data: readElementProps<DataContainerProps>): Element<any>;
         | 
| 20 | 
            +
            }
         | 
| 21 | 
            +
            export declare class DataContainerProps {
         | 
| 22 | 
            +
                caption: string;
         | 
| 23 | 
            +
                id: string;
         | 
| 24 | 
            +
                name: string;
         | 
| 25 | 
            +
            }
         | 
| @@ -2,7 +2,6 @@ import { BlockContainerElement, Element, ElementFactory, IBeginMeasureData, Seri | |
| 2 2 | 
             
            import { MouseElementEvent } from "../../element-event-define";
         | 
| 3 3 | 
             
            import { IEditorVNodeOptions, MuiltBlockLineRenderObject, RenderObject } from "../../render-define";
         | 
| 4 4 | 
             
            export declare class DocumentBodyElement extends BlockContainerElement {
         | 
| 5 | 
            -
                trackChanges: boolean;
         | 
| 6 5 | 
             
                constructor();
         | 
| 7 6 | 
             
                createRenderObject(): DocumentBodyRenderObject;
         | 
| 8 7 | 
             
                serialize(): SerializeProps;
         | 
| @@ -63,6 +63,7 @@ export declare class DocumentRenderObject extends BlockContainerRenderObject { | |
| 63 63 | 
             
                private exportPageNumHTML;
         | 
| 64 64 | 
             
                exportSVG(event: IEditorVNodeOptions): any;
         | 
| 65 65 | 
             
                private exportPageCornerHTML;
         | 
| 66 | 
            +
                private exportCopyRight;
         | 
| 66 67 | 
             
            }
         | 
| 67 68 | 
             
            export declare class DocumentFactory extends ElementFactory<DocumentProps> {
         | 
| 68 69 | 
             
                match(type: string): boolean;
         | 
| @@ -12,6 +12,7 @@ export * from './data-element/data-element-group-impl'; | |
| 12 12 | 
             
            export * from './data-element/data-element-image-impl';
         | 
| 13 13 | 
             
            export * from './data-element/data-element-list-impl';
         | 
| 14 14 | 
             
            export * from './data-element/data-element-text-impl';
         | 
| 15 | 
            +
            export * from './data-element/data-container-impl';
         | 
| 15 16 | 
             
            export * from './decorate/fill-null-space-imple';
         | 
| 16 17 | 
             
            export * from './document/doc-body-impl';
         | 
| 17 18 | 
             
            export * from './document/doc-body-part-impl';
         | 
| @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            import { SelectionState } from "../../selection/document-selection";
         | 
| 2 | 
            +
            import { TableElement } from "./table-impl";
         | 
| 2 3 | 
             
            /**
         | 
| 3 4 | 
             
             * 拆分单元格
         | 
| 4 5 | 
             
             * 蜀道难,难于上青天;拆分单元格,头发秃,精神衰,眼睛昏,身体废。
         | 
| @@ -81,12 +82,12 @@ export declare class TableSplitCell { | |
| 81 82 | 
             
                 * @param rowIndex
         | 
| 82 83 | 
             
                 * @param colIndex
         | 
| 83 84 | 
             
                 */
         | 
| 84 | 
            -
                 | 
| 85 | 
            +
                static getVMergeRowsCount(tb: TableElement, rowIndex: number, colIndex: number): number;
         | 
| 85 86 | 
             
                /**
         | 
| 86 87 | 
             
                 * 获取纵向合并的行数
         | 
| 87 88 | 
             
                 * @param tb
         | 
| 88 89 | 
             
                 * @param rowIndex
         | 
| 89 90 | 
             
                 * @param colIndex
         | 
| 90 91 | 
             
                 */
         | 
| 91 | 
            -
                 | 
| 92 | 
            +
                static getHMergeColsCount(tb: TableElement, rowIndex: number, colIndex: number): number;
         | 
| 92 93 | 
             
            }
         | 
| @@ -11,6 +11,7 @@ export declare abstract class Subscription<T = any> { | |
| 11 11 | 
             
            export declare abstract class EventSourceCore<T> {
         | 
| 12 12 | 
             
                protected closed: boolean;
         | 
| 13 13 | 
             
                subs: Array<Subscription>;
         | 
| 14 | 
            +
                state: 'pause' | 'running';
         | 
| 14 15 | 
             
                next(data?: T): void;
         | 
| 15 16 | 
             
                protected addSub(sub: Subscription): void;
         | 
| 16 17 | 
             
                protected removeSub(sub: Subscription): void;
         | 
| @@ -28,11 +28,7 @@ export declare class DocumentSelection { | |
| 28 28 | 
             
                 * @private
         | 
| 29 29 | 
             
                 */
         | 
| 30 30 | 
             
                updateSelectionState(): boolean;
         | 
| 31 | 
            -
                 | 
| 32 | 
            -
                 * 获取当前选区区域内是否支持留痕
         | 
| 33 | 
            -
                 * @private
         | 
| 34 | 
            -
                 */
         | 
| 35 | 
            -
                private getEnableTrackChanges;
         | 
| 31 | 
            +
                isSelectionChanged(): boolean;
         | 
| 36 32 | 
             
                /**
         | 
| 37 33 | 
             
                 * 转换选区内容
         | 
| 38 34 | 
             
                 * 处理结束选区在开始选区之前
         | 
| @@ -61,7 +57,6 @@ export declare class SelectionState { | |
| 61 57 | 
             
                editable: boolean;
         | 
| 62 58 | 
             
                renderContainer: DocumentContainerRender;
         | 
| 63 59 | 
             
                cursorPos: Rect | null;
         | 
| 64 | 
            -
                enableTrackChanges: boolean;
         | 
| 65 60 | 
             
                constructor();
         | 
| 66 61 | 
             
                destroy(): void;
         | 
| 67 62 | 
             
                clear(): void;
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            import { TextGroupElement } from "../impl";
         | 
| 2 | 
            +
            /**
         | 
| 3 | 
            +
             * 处理文档输入联想
         | 
| 4 | 
            +
             */
         | 
| 5 | 
            +
            export declare class DocInputSuggestions {
         | 
| 6 | 
            +
                currentInputTextGroup: TextGroupElement | undefined;
         | 
| 7 | 
            +
                currentMatchedText: string;
         | 
| 8 | 
            +
                currentInputOffset: number;
         | 
| 9 | 
            +
                suggestionsList: Array<ISuggestionData>;
         | 
| 10 | 
            +
                prepareSuggestions: Array<ISuggestionData>;
         | 
| 11 | 
            +
                selectedIndex: number;
         | 
| 12 | 
            +
                clear(): void;
         | 
| 13 | 
            +
                destroy(): void;
         | 
| 14 | 
            +
            }
         | 
| 15 | 
            +
            /**
         | 
| 16 | 
            +
             * 联想词数据
         | 
| 17 | 
            +
             */
         | 
| 18 | 
            +
            export interface ISuggestionData {
         | 
| 19 | 
            +
                label: string;
         | 
| 20 | 
            +
                value?: string;
         | 
| 21 | 
            +
                desc?: string;
         | 
| 22 | 
            +
                action?: (data: ISuggestionData) => void;
         | 
| 23 | 
            +
            }
         | 
| 24 | 
            +
            export interface ISuggestionProvider {
         | 
| 25 | 
            +
                filterSuggestions: Array<ISuggestionData>;
         | 
| 26 | 
            +
                inputTextGroup: TextGroupElement;
         | 
| 27 | 
            +
                inputOffset: number;
         | 
| 28 | 
            +
                findText: string;
         | 
| 29 | 
            +
            }
         | 
| @@ -61,7 +61,7 @@ export declare class CommonUtil { | |
| 61 61 | 
             
                static getNowDiffSeconds(date: Date | string): number;
         | 
| 62 62 | 
             
                static isDate(str: string): boolean;
         | 
| 63 63 | 
             
                static cloneValue(val: any): any;
         | 
| 64 | 
            -
                static cloneDeep<T>(source: T, visited?: WeakMap<object, any>): T;
         | 
| 64 | 
            +
                static cloneDeep<T extends object>(source: T, visited?: WeakMap<object, any>): T;
         | 
| 65 65 | 
             
                static isConstructor(f: any): boolean;
         | 
| 66 66 | 
             
                static toArray<T>(item: Array<T> | T): Array<T>;
         | 
| 67 67 | 
             
                static removeChild(ele: HTMLElement): void;
         |