@hailin-zheng/editor-core 1.1.33 → 1.1.35

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.
@@ -1,7 +1,8 @@
1
1
  import { DocumentPaint } from "./document-paint";
2
2
  import { SelectionState } from "./document-selection";
3
- import { Element, LeafElement, Position, Rect, ViewOptions } from "./element-define";
3
+ import { Element, ICancelTokenFn, LeafElement, Position, Rect, ViewOptions } from "./element-define";
4
4
  import { ElementEvent, EventStage, EventTypes, HitEventInfo, HitRegion, ITrackTips, MouseElementEvent } from "./element-event-define";
5
+ import { DocumentRenderObject } from "./impl";
5
6
  import { BorderType, CursorType, RenderObject } from "./render-define";
6
7
  import { EditorContext } from "./document-context";
7
8
  import { Subject, Subscription } from "./event-subject";
@@ -142,7 +143,15 @@ export declare class DocumentEvent {
142
143
  /**
143
144
  * 获取点击的doc-page
144
145
  */
145
- private getHitDocPage;
146
+ getHitDocPage(evt: {
147
+ globalX: number;
148
+ globalY: number;
149
+ }): {
150
+ docRender: DocumentRenderObject;
151
+ paintAbsoluteRect: Position;
152
+ hitPagePos: Position;
153
+ docIndex: number;
154
+ } | null;
146
155
  /**
147
156
  * 触发事件
148
157
  * @param type
@@ -221,5 +230,9 @@ export declare class DocumentEvent {
221
230
  */
222
231
  getHitRegion(docEvent: MouseElementEvent): HitRegion | null;
223
232
  private onKeydown;
233
+ /**
234
+ * 开启打印区域
235
+ */
236
+ startPrintArea(editor: NodeCore): ICancelTokenFn;
224
237
  }
225
238
  export {};
@@ -3,7 +3,13 @@ import { DocumentPaint } from "./document-paint";
3
3
  import { ViewOptions } from "./element-define";
4
4
  import { ElementReader } from "./element-reader";
5
5
  import { DocumentElement, DocumentRenderObject } from "./impl/document/doc-impl";
6
- import { RenderContextType } from "./render-context";
6
+ import { IRenderContextContract, RenderContextType } from "./render-context";
7
+ import { Subject } from "./event-subject";
8
+ interface IAfterRenderEvent {
9
+ index: number;
10
+ renderCtx: IRenderContextContract;
11
+ docRender: DocumentRenderObject;
12
+ }
7
13
  /**
8
14
  * 离屏打印
9
15
  */
@@ -13,8 +19,19 @@ export declare abstract class DocumentPrintOffscreenBase {
13
19
  docCtx: EditorContext;
14
20
  renderCtx: RenderContextType;
15
21
  elementReader: ElementReader;
22
+ beforeRenderEvent: Subject<IAfterRenderEvent>;
23
+ afterRenderEvent: Subject<IAfterRenderEvent>;
16
24
  constructor();
17
25
  print(data: any | DocumentElement, ranges?: Array<number> | null): Promise<void>;
26
+ /**
27
+ * 续打
28
+ */
29
+ printForContinuation(data: any | DocumentElement, ranges: number[] | null | undefined, options: {
30
+ startY: number;
31
+ startDocIndex: number;
32
+ endY: number;
33
+ endDocIndex: number;
34
+ }): Promise<void>;
18
35
  /**
19
36
  * 获取绘制的图片,格式为Base64编码
20
37
  */
@@ -39,3 +56,4 @@ export declare class DocumentPrintOffscreen extends DocumentPrintOffscreenBase {
39
56
  ctx: CanvasRenderingContext2D;
40
57
  };
41
58
  }
59
+ export {};
@@ -252,12 +252,12 @@ export declare class ViewOptions {
252
252
  trackDelColor: string;
253
253
  showLineRect: boolean;
254
254
  showCharRect: boolean;
255
- showParaMark: boolean;
256
255
  showTabChar: boolean;
257
256
  showSpaceChar: boolean;
258
257
  showLineBreak: boolean;
259
258
  bodyMarginTop: number;
260
259
  devMode: boolean;
260
+ showParaSymbol: boolean;
261
261
  showDebug: boolean;
262
262
  resourceMode: 'lazy' | 'immediate';
263
263
  secretBrowse: boolean;
@@ -278,6 +278,7 @@ export declare class ViewOptions {
278
278
  width: number;
279
279
  height: number;
280
280
  };
281
+ selectPrintAreaBgColor: string;
281
282
  pageNumFormat: string;
282
283
  pageNumOffset: number;
283
284
  pageLayoutMode: PageLayoutMode;
@@ -343,7 +344,7 @@ export declare type RequiredType<T> = {
343
344
  export declare type ImgLoadStatus = 'no' | 'loading' | 'completed' | 'error';
344
345
  export interface ICancelTokenFn {
345
346
  cancel?: () => void;
346
- onFinish?: () => void;
347
+ onFinish?: (data: any) => void;
347
348
  }
348
349
  declare type IVoidFn = () => void;
349
350
  export declare function onceTask(fn: IVoidFn): IVoidFn;
@@ -3,7 +3,7 @@ import { DocumentProps } from '../../element-props';
3
3
  import { RenderContextType } from "../../render-context";
4
4
  import { DocumentBodyElement } from "./doc-body-impl";
5
5
  import { DocumentHeaderElement } from "./doc-header-impl";
6
- import { BlockContainerRenderObject, IRenderData, RenderObject } from "../../render-define";
6
+ import { BlockContainerRenderObject, ElementExportTypes, IRenderData, RenderObject } from "../../render-define";
7
7
  import { DocumentFooterElement } from "./doc-footer-impl";
8
8
  import { CommsContainerElement } from "../comments/comments-container-impl";
9
9
  import { SelectionState } from "../../document-selection";
@@ -61,6 +61,7 @@ export declare class DocumentRenderObject extends BlockContainerRenderObject {
61
61
  y: number;
62
62
  }): void;
63
63
  clone(): RenderObject;
64
+ export(type: ElementExportTypes): any;
64
65
  }
65
66
  export declare class DocumentFactory extends ElementFactory<DocumentProps> {
66
67
  match(type: string): boolean;
@@ -1,5 +1,5 @@
1
1
  import { TextProps } from "../../element-props";
2
- import { IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
2
+ import { ElementExportTypes, IRenderData, LeafRenderObject, RenderObject } from "../../render-define";
3
3
  import { LeafElement, ElementFactory, Element, SerializeProps, ViewOptions, ICreateRenderData } from "../../element-define";
4
4
  import { TextUnits } from "../../render-context";
5
5
  export declare class TextGroupElement extends LeafElement<TextProps> {
@@ -27,6 +27,7 @@ export declare class TextGroupRenderObject extends LeafRenderObject<TextGroupEle
27
27
  constructor(element: TextGroupElement);
28
28
  clone(): RenderObject;
29
29
  measure(): void;
30
+ export(type: ElementExportTypes): any;
30
31
  }
31
32
  export declare class TextGroupFactory extends ElementFactory<null> {
32
33
  match(type: string): boolean;
@@ -11,18 +11,18 @@ export declare abstract class RenderObject<T extends Element = Element> {
11
11
  rect: Rect;
12
12
  parent: BranchRenderObject;
13
13
  /**
14
- * 可点击性,例如:null-text 占位符元素不具备可点击能力
15
- */
14
+ * 可点击性,例如:null-text 占位符元素不具备可点击能力
15
+ */
16
16
  disableClick: boolean;
17
17
  constructor(element: T);
18
18
  abstract clone(): RenderObject;
19
19
  pagePaintCompleted(e: Omit<IRenderData, 'nextRender'>): void;
20
20
  destroy(): void;
21
21
  /**
22
- * 获取内容区域框体
23
- * @param render
24
- * @returns
25
- */
22
+ * 获取内容区域框体
23
+ * @param render
24
+ * @returns
25
+ */
26
26
  getInnerRect(): Rect;
27
27
  getInnerMaxWidth(): number;
28
28
  /**
@@ -32,7 +32,9 @@ export declare abstract class RenderObject<T extends Element = Element> {
32
32
  updateRenderHeight(innerRect: Rect | number): void;
33
33
  getIndex(): number;
34
34
  abstract render(e: IRenderData): void;
35
+ export(type: ElementExportTypes): any;
35
36
  }
37
+ export declare type ElementExportTypes = 'svg';
36
38
  /**
37
39
  * 叶子节点渲染元素
38
40
  */
@@ -382,6 +382,10 @@ export declare class CanvasTextEditor extends AbsolutePanel {
382
382
  * @param insertRowIndex
383
383
  */
384
384
  insertNewRow(tb: TableElement, insertRowIndex: number): TableRowElement;
385
+ /**
386
+ * 开启打印区域
387
+ */
388
+ startPrintArea(): ICancelTokenFn;
385
389
  }
386
390
  export interface IReaderManager {
387
391
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": "hailin-zheng",
5
5
  "private": false,
6
6
  "license": "ISC",
7
- "version": "1.1.33",
7
+ "version": "1.1.35",
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "bwip-js": "^3.0.5",