@talrace/ngx-noder 0.0.37 → 0.0.38

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.
Files changed (76) hide show
  1. package/assets/i18n/noder.en.json +20 -4
  2. package/assets/i18n/noder.es.json +20 -4
  3. package/assets/i18n/noder.ru.json +20 -4
  4. package/fesm2022/talrace-ngx-noder.mjs +9889 -9338
  5. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  6. package/lib/apart-components/editor-ruler/editor-ruler.component.d.ts +42 -0
  7. package/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.d.ts +2 -1
  8. package/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.d.ts +2 -1
  9. package/lib/apart-components/page-setup/shared/enums/page-orientations.enum.d.ts +4 -0
  10. package/lib/apart-components/page-setup/shared/enums/page-size-units.enum.d.ts +4 -0
  11. package/lib/editor/components/edges/edge.component.d.ts +4 -3
  12. package/lib/editor/components/shared/services/custom-content.service.d.ts +2 -2
  13. package/lib/editor/components/table/components/table-cell.component.d.ts +1 -1
  14. package/lib/editor/content/contents.interface.d.ts +4 -0
  15. package/lib/editor/content/display-data/display-data.d.ts +17 -19
  16. package/lib/editor/content/display-data/page-format.d.ts +30 -0
  17. package/lib/editor/content/display-data/paragraph.d.ts +8 -1
  18. package/lib/editor/content/display-data/text-line-info.d.ts +2 -1
  19. package/lib/editor/content/helpers/page-format.helper.d.ts +6 -0
  20. package/lib/editor/display/layers/layer.config.d.ts +0 -1
  21. package/lib/editor/display/layers/pages.layer.d.ts +1 -1
  22. package/lib/editor/display/layers/selection.layer.d.ts +1 -1
  23. package/lib/editor/display/layers/text.layer.d.ts +1 -1
  24. package/lib/editor/display/print/print.renderer.d.ts +1 -1
  25. package/lib/editor/editor.module.d.ts +6 -5
  26. package/lib/editor/execution/edit.session.d.ts +10 -18
  27. package/lib/editor/execution/editor.d.ts +18 -11
  28. package/lib/editor/execution/helpers/paragraph.helper.d.ts +1 -0
  29. package/lib/editor/execution/regulator.service.d.ts +1 -0
  30. package/lib/editor/gadgets/history/operation-history.d.ts +15 -15
  31. package/lib/editor/gadgets/history/operation.type.d.ts +9 -6
  32. package/lib/editor/gadgets/page-break/break.helper.d.ts +2 -2
  33. package/lib/editor/interaction/editor.service.d.ts +62 -52
  34. package/lib/editor/operations/enums/command-type.enum.d.ts +17 -14
  35. package/lib/editor/operations/helpers/contents-operations.helper.d.ts +2 -2
  36. package/lib/editor/operations/helpers/link-operations.helper.d.ts +1 -1
  37. package/lib/editor/operations/helpers/page-format-operations.helper.d.ts +13 -0
  38. package/lib/editor/operations/helpers/paragraph-operations.helper.d.ts +0 -1
  39. package/lib/editor/operations/helpers/table-operations.helper.d.ts +1 -3
  40. package/lib/editor/operations/operations-helper.helper.d.ts +37 -37
  41. package/lib/editor/operations/save-commands.helper.d.ts +17 -10
  42. package/lib/editor/operations/target-operations.helper.d.ts +3 -3
  43. package/lib/editor/positioning/content.helper.d.ts +0 -2
  44. package/lib/editor/positioning/selection.d.ts +2 -2
  45. package/lib/editor/revision.helper.d.ts +2 -2
  46. package/lib/models/generated/apply-document-page-format.model.d.ts +5 -0
  47. package/lib/models/generated/apply-page-format.model.d.ts +5 -0
  48. package/lib/models/generated/command.model.d.ts +17 -11
  49. package/lib/models/generated/docx.model.d.ts +2 -9
  50. package/lib/models/generated/insert-link.model.d.ts +0 -1
  51. package/lib/models/generated/insert-page-format.model.d.ts +7 -0
  52. package/lib/models/generated/insert-table-columns.model.d.ts +1 -1
  53. package/lib/models/generated/insert-table-rows.model.d.ts +1 -1
  54. package/lib/models/generated/insert-table.model.d.ts +2 -2
  55. package/lib/models/generated/page-format.model.d.ts +14 -0
  56. package/lib/models/generated/remove-inserted-page-format.model.d.ts +7 -0
  57. package/lib/models/generated/remove-with-paragraph.model.d.ts +7 -0
  58. package/lib/models/generated/replace-by-restore.model.d.ts +7 -0
  59. package/lib/models/generated/replace.model.d.ts +0 -2
  60. package/lib/models/generated/restore-page-formats.model.d.ts +5 -0
  61. package/lib/models/generated/restore-with-paragraph.model.d.ts +7 -0
  62. package/lib/models/generated/restore.model.d.ts +3 -2
  63. package/package.json +1 -1
  64. package/src/_ngx-noder.theme.scss +2 -0
  65. package/src/assets/fonts/nc-iconfont.eot +0 -0
  66. package/src/assets/fonts/nc-iconfont.scss +31 -7
  67. package/src/assets/fonts/nc-iconfont.svg +9 -2
  68. package/src/assets/fonts/nc-iconfont.ttf +0 -0
  69. package/src/assets/fonts/nc-iconfont.woff +0 -0
  70. package/src/lib/apart-components/editor-ruler/_theme.scss +31 -0
  71. package/src/lib/apart-components/page-setup/_page-setup.theme.scss +51 -0
  72. package/lib/models/generated/insert-paragraph.model.d.ts +0 -10
  73. package/lib/models/generated/remove-paragraph-and-add-numbering.model.d.ts +0 -10
  74. package/lib/models/generated/remove-table.model.d.ts +0 -4
  75. package/lib/models/generated/restore-paragraph-and-add-numbering.model.d.ts +0 -7
  76. package/lib/models/generated/restore-table.model.d.ts +0 -6
@@ -0,0 +1,42 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ type DragTarget = 'left' | 'first' | 'right';
4
+ interface Tick {
5
+ position: number;
6
+ originalPaddings: number;
7
+ major: boolean;
8
+ half: boolean;
9
+ label: number | null;
10
+ }
11
+ export declare class EditorRulerComponent {
12
+ rulerContainer: ElementRef<HTMLDivElement>;
13
+ readonly pxPerCm = 37.8;
14
+ readonly snapCm = 0.25;
15
+ readonly defaultPadding = 2.5;
16
+ readonly offsetPosition = 5;
17
+ containerWidthPx: number;
18
+ ticks: Tick[];
19
+ leftPx: import("@angular/core").WritableSignal<number>;
20
+ firstLinePx: import("@angular/core").WritableSignal<number>;
21
+ rightPx: import("@angular/core").WritableSignal<number>;
22
+ guideX: import("@angular/core").WritableSignal<number>;
23
+ showGuide: import("@angular/core").WritableSignal<boolean>;
24
+ private maxRulePosition;
25
+ private dragging;
26
+ private dragOffsetX;
27
+ ngAfterViewInit(): void;
28
+ onResize(): void;
29
+ private recalcGeometry;
30
+ private cmToPx;
31
+ private pxToCm;
32
+ private snapPx;
33
+ private buildTicks;
34
+ startDrag(ev: MouseEvent | TouchEvent, target: DragTarget): void;
35
+ private readonly onMove;
36
+ private readonly onUp;
37
+ private getClientX;
38
+ private getCurrentDraggedPx;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<EditorRulerComponent, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<EditorRulerComponent, "app-nod-editor-ruler", never, {}, {}, never, never, true, never>;
41
+ }
42
+ export {};
@@ -19,6 +19,7 @@ export declare class MenuDropdownsComponent extends BaseToolbarComponent {
19
19
  downloadPdf: EventEmitter<void>;
20
20
  insertPageBreak: EventEmitter<void>;
21
21
  createDocument: EventEmitter<void>;
22
+ pageSetup: EventEmitter<void>;
22
23
  rename: EventEmitter<void>;
23
24
  delete: EventEmitter<void>;
24
25
  openEditMenu: EventEmitter<void>;
@@ -36,5 +37,5 @@ export declare class MenuDropdownsComponent extends BaseToolbarComponent {
36
37
  onSelectNumberingTemplate(numberingTemplateType: NumberingTemplateType): void;
37
38
  onTableInsertMenuClosed(): void;
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuDropdownsComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuDropdownsComponent, "app-nod-menu-dropdowns", never, { "showFile": { "alias": "showFile"; "required": false; }; "showEdit": { "alias": "showEdit"; "required": false; }; "showInsert": { "alias": "showInsert"; "required": false; }; "showLayout": { "alias": "showLayout"; "required": false; }; "showFormat": { "alias": "showFormat"; "required": false; }; }, { "openFileFromDisk": "openFileFromDisk"; "saveAs": "saveAs"; "downloadPdf": "downloadPdf"; "insertPageBreak": "insertPageBreak"; "createDocument": "createDocument"; "rename": "rename"; "delete": "delete"; "openEditMenu": "openEditMenu"; "cutSelected": "cutSelected"; "copySelected": "copySelected"; "pasteClipboardData": "pasteClipboardData"; "selectAll": "selectAll"; "removeSelected": "removeSelected"; }, never, never, false, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuDropdownsComponent, "app-nod-menu-dropdowns", never, { "showFile": { "alias": "showFile"; "required": false; }; "showEdit": { "alias": "showEdit"; "required": false; }; "showInsert": { "alias": "showInsert"; "required": false; }; "showLayout": { "alias": "showLayout"; "required": false; }; "showFormat": { "alias": "showFormat"; "required": false; }; }, { "openFileFromDisk": "openFileFromDisk"; "saveAs": "saveAs"; "downloadPdf": "downloadPdf"; "insertPageBreak": "insertPageBreak"; "createDocument": "createDocument"; "pageSetup": "pageSetup"; "rename": "rename"; "delete": "delete"; "openEditMenu": "openEditMenu"; "cutSelected": "cutSelected"; "copySelected": "copySelected"; "pasteClipboardData": "pasteClipboardData"; "selectAll": "selectAll"; "removeSelected": "removeSelected"; }, never, never, false, never>;
40
41
  }
@@ -14,6 +14,7 @@ export declare class EditorToolbarComponent {
14
14
  print: EventEmitter<void>;
15
15
  insertPageBreak: EventEmitter<any>;
16
16
  createDocument: EventEmitter<any>;
17
+ pageSetup: EventEmitter<any>;
17
18
  insertImage: EventEmitter<void>;
18
19
  rename: EventEmitter<any>;
19
20
  delete: EventEmitter<void>;
@@ -37,5 +38,5 @@ export declare class EditorToolbarComponent {
37
38
  }>;
38
39
  constructor(editorService: EditorService);
39
40
  static ɵfac: i0.ɵɵFactoryDeclaration<EditorToolbarComponent, never>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<EditorToolbarComponent, "app-nod-editor-toolbar", never, {}, { "openFileFromDisk": "openFileFromDisk"; "addCustomElement": "addCustomElement"; "saveAs": "saveAs"; "downloadPdf": "downloadPdf"; "print": "print"; "insertPageBreak": "insertPageBreak"; "createDocument": "createDocument"; "insertImage": "insertImage"; "rename": "rename"; "delete": "delete"; "openEditMenu": "openEditMenu"; "redo": "redo"; "undo": "undo"; "cutSelected": "cutSelected"; "copySelected": "copySelected"; "pasteClipboardData": "pasteClipboardData"; "selectAll": "selectAll"; "removeSelected": "removeSelected"; "insertLink": "insertLink"; "createElement": "createElement"; "changeParagraphStyle": "changeParagraphStyle"; "changeTextStyle": "changeTextStyle"; "setNumberingTemplateType": "setNumberingTemplateType"; "removeNumberings": "removeNumberings"; "insertTable": "insertTable"; }, never, never, false, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<EditorToolbarComponent, "app-nod-editor-toolbar", never, {}, { "openFileFromDisk": "openFileFromDisk"; "addCustomElement": "addCustomElement"; "saveAs": "saveAs"; "downloadPdf": "downloadPdf"; "print": "print"; "insertPageBreak": "insertPageBreak"; "createDocument": "createDocument"; "pageSetup": "pageSetup"; "insertImage": "insertImage"; "rename": "rename"; "delete": "delete"; "openEditMenu": "openEditMenu"; "redo": "redo"; "undo": "undo"; "cutSelected": "cutSelected"; "copySelected": "copySelected"; "pasteClipboardData": "pasteClipboardData"; "selectAll": "selectAll"; "removeSelected": "removeSelected"; "insertLink": "insertLink"; "createElement": "createElement"; "changeParagraphStyle": "changeParagraphStyle"; "changeTextStyle": "changeTextStyle"; "setNumberingTemplateType": "setNumberingTemplateType"; "removeNumberings": "removeNumberings"; "insertTable": "insertTable"; }, never, never, false, never>;
41
42
  }
@@ -0,0 +1,4 @@
1
+ export declare enum PageOrientations {
2
+ Portrait = 1,
3
+ Landscape = 2
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum PageSizeUnits {
2
+ Millimeters = 0,
3
+ Inches = 1
4
+ }
@@ -15,8 +15,8 @@ import * as i0 from "@angular/core";
15
15
  export declare class NoderEdgeComponent extends DestroyComponent {
16
16
  private regulatorService;
17
17
  private editorService;
18
- private cdr;
19
18
  private translateService;
19
+ private cdr;
20
20
  model: EdgeModel;
21
21
  generalProperties: GeneralPropertiesModel;
22
22
  margins: MarginModel;
@@ -38,14 +38,15 @@ export declare class NoderEdgeComponent extends DestroyComponent {
38
38
  container: ElementRef<HTMLElement>;
39
39
  typeContainer: ElementRef<HTMLElement>;
40
40
  private _height;
41
- constructor(regulatorService: RegulatorService, editorService: EditorService, cdr: ChangeDetectorRef, translateService: TranslateService);
41
+ constructor(regulatorService: RegulatorService, editorService: EditorService, translateService: TranslateService, cdr: ChangeDetectorRef);
42
42
  ngOnDestroy(): void;
43
43
  initialize(): void;
44
+ setPageWidth(width: number): void;
44
45
  enterEditMode(): void;
45
46
  leaveEditMode(): void;
46
47
  private getEdgeNameByType;
47
48
  private applyHeight;
48
- private pagesCountChangedHandler;
49
+ private readonly pagesCountChangedHandler;
49
50
  static ɵfac: i0.ɵɵFactoryDeclaration<NoderEdgeComponent, never>;
50
51
  static ɵcmp: i0.ɵɵComponentDeclaration<NoderEdgeComponent, "app-nod-edge", never, { "model": { "alias": "model"; "required": false; }; "generalProperties": { "alias": "generalProperties"; "required": false; }; "margins": { "alias": "margins"; "required": false; }; "width": { "alias": "width"; "required": false; }; "parentSessionId": { "alias": "parentSessionId"; "required": false; }; "isEvenEdgesExist": { "alias": "isEvenEdgesExist"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, never, false, never>;
51
52
  }
@@ -1,7 +1,7 @@
1
1
  import { ComponentRef, Injector, Type } from '@angular/core';
2
2
  import { BaseNoderComponent } from '../abstract/base.component';
3
3
  import { ComponentService } from './component.service';
4
- import { ContentsInterface } from '../../../content/contents.interface';
4
+ import { ContentType } from '../../../content/contents.interface';
5
5
  import { DisplayToken } from '../../../content/display-data/display-token.model';
6
6
  import { DistanceModel } from '../../../execution/distance.model';
7
7
  import { ExternalElementModel } from '../../external-element/models/external-element.model';
@@ -15,7 +15,7 @@ export declare class CustomContentService {
15
15
  private injector;
16
16
  elements: ExternalElementModel[];
17
17
  constructor(componentService: ComponentService, injector: Injector);
18
- generateComponent(model: ContentsInterface, components: ICustomComponents, sessionId: number, generalProperties: GeneralPropertiesModel, contentWidth: number, charIndex: number): ComponentRef<BaseNoderComponent> | null;
18
+ generateComponent(model: ContentType, components: ICustomComponents, sessionId: number, generalProperties: GeneralPropertiesModel, contentWidth: number, charIndex: number): ComponentRef<BaseNoderComponent> | null;
19
19
  isFragmentContainComponent(components: ICustomComponents, textFragment: string, fragmentDistance: DistanceModel): boolean;
20
20
  getComponents(components: ICustomComponents, distance: DistanceModel): ComponentRef<BaseNoderComponent>[];
21
21
  getComponent(components: ICustomComponents, char: string, charIndex: number): ComponentRef<BaseNoderComponent>;
@@ -1,8 +1,8 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import { CellModel } from '../../../../models/generated/cell.model';
3
3
  import { CellResizerParametersModel } from '../../../components/table/models/cell-resizer-parameters.model';
4
- import { EditSession } from '../../../execution/edit.session';
5
4
  import { EditorService } from '../../../interaction/editor.service';
5
+ import { EditSession } from '../../../execution/edit.session';
6
6
  import { GeneralPropertiesModel } from '../../../content/display-data/general-properties.model';
7
7
  import { RegulatorService } from '../../../execution/regulator.service';
8
8
  import { Renderer } from '../../../display/renderer';
@@ -1,5 +1,8 @@
1
1
  import { BreakModel } from '../../models/generated/break.model';
2
+ import { CellModel } from '../../models/generated/cell.model';
2
3
  import { ColumnSectionModel } from '../../models/generated/column-section.model';
4
+ import { DocxModel } from '../../models/generated/docx.model';
5
+ import { EdgeModel } from '../../models/generated/edge.model';
3
6
  import { ElementModel } from '../../models/generated/element.model';
4
7
  import { FormatModel } from '../../models/generated/format.model';
5
8
  import { ImageModel } from '../../models/generated/image.model';
@@ -7,6 +10,7 @@ import { LinkModel } from '../../models/generated/link.model';
7
10
  import { ParagraphModel } from '../../models/generated/paragraph.model';
8
11
  import { TableModel } from '../../models/generated/table.model';
9
12
  import { TabModel } from '../../models/generated/tab.model';
13
+ export type ContentType = EdgeModel | DocxModel | CellModel;
10
14
  export interface ContentsInterface {
11
15
  content: string;
12
16
  paragraphs: ParagraphModel[];
@@ -1,20 +1,18 @@
1
1
  import { ComponentRef } from '@angular/core';
2
2
  import { BreakTypes } from '../../gadgets/page-break/break-types.enum';
3
- import { ContentsInterface } from '../contents.interface';
3
+ import { ContentType } from '../contents.interface';
4
4
  import { CursorParagraph } from '../../positioning/cursor-paragraph';
5
5
  import { CustomContentService } from '../../components/shared/services/custom-content.service';
6
6
  import { DisplayToken } from './display-token.model';
7
- import { EdgeType } from '../../components/edges/edge-type.enum';
8
7
  import { EditorService } from '../../interaction/editor.service';
9
8
  import { EventEmitting } from '../../core/event-emitting';
10
9
  import { GeneralPropertiesModel } from './general-properties.model';
11
10
  import { ICustomComponents } from '../../components/shared/custom-components.interface';
12
11
  import { LineInfoModel } from './line-info.model';
13
- import { MarginModel } from '../margin.model';
14
12
  import { NoderTableComponent } from '../../components/table/components/table.component';
15
13
  import { NumberingDataModel } from '../../gadgets/numbering/numbering-data.model';
16
- import { PageType } from '../../components/edges/page-type.enum';
17
- import { PageVerticalDataModel } from '../page-vertical-data.model';
14
+ import { PageFormat } from './page-format';
15
+ import { PageFormatModel } from '../../../models/generated/page-format.model';
18
16
  import { Paragraph } from './paragraph';
19
17
  import { ParagraphInfoModel } from './models/paragraph-info.model';
20
18
  import { Range } from '../../positioning/range';
@@ -23,22 +21,18 @@ export declare class DisplayData extends EventEmitting {
23
21
  private model;
24
22
  private generalProperties;
25
23
  private sessionId;
26
- pageMargin: MarginModel;
24
+ pageFormatModels: PageFormatModel[];
27
25
  pagesSpace: number;
28
- pageWidth: number;
29
- pageHeight: number;
30
26
  customComponents: ICustomComponents;
31
27
  customContentService: CustomContentService;
32
28
  editorService: EditorService;
33
29
  paragraphs: ParagraphInfoModel[];
34
- contentWidth: number;
30
+ pagesFormat: PageFormat[];
35
31
  allPagesHeight: number;
36
- minHeight: number;
37
32
  tabTokens: DisplayToken[];
38
- pagesVerticalData: PageVerticalDataModel[];
39
- get defaultVerticalData(): PageVerticalDataModel;
40
- private processTextLinesProperties;
41
- constructor(model: ContentsInterface, generalProperties: GeneralPropertiesModel, sessionId: number, pageMargin: MarginModel, pagesSpace: number, pageWidth: number, pageHeight: number, customComponents: ICustomComponents, customContentService: CustomContentService, editorService: EditorService);
33
+ get maxPageWidth(): number;
34
+ constructor(model: ContentType, generalProperties: GeneralPropertiesModel, sessionId: number, pageFormatModels: PageFormatModel[], pagesSpace: number, customComponents: ICustomComponents, customContentService: CustomContentService, editorService: EditorService);
35
+ recreatePageFormatsNotMainSession(width: number): void;
42
36
  insertText(position: CursorParagraph, text: string): CursorParagraph;
43
37
  removeRange(range: Range): void;
44
38
  getParagraphContent(index: number): string;
@@ -49,7 +43,6 @@ export declare class DisplayData extends EventEmitting {
49
43
  positionToIndex(position: CursorParagraph, startRow?: number): number;
50
44
  indexToPosition(positionIndex: number, startRow: number): CursorParagraph;
51
45
  indexesToRange(startIndex: number, endIndex: number): Range;
52
- isNewLineSymbol(index: number): boolean;
53
46
  getSelectedParagraphsByRange(range: Range): {
54
47
  start: number;
55
48
  end: number;
@@ -63,7 +56,6 @@ export declare class DisplayData extends EventEmitting {
63
56
  processParagraphsProperties(startParagraphIndex: number): void;
64
57
  getAllParagraphsHeight(): number;
65
58
  destroy(): void;
66
- updatePageVerticalData(edgeType: EdgeType, pageType: PageType): void;
67
59
  updateParagraphLineNumber(first: number): void;
68
60
  updateParagraphStartIndex(first: number): void;
69
61
  updateParagraphSettingsNumberingData(index: number): void;
@@ -76,11 +68,15 @@ export declare class DisplayData extends EventEmitting {
76
68
  /**
77
69
  * Given a string, returns an array of the display characters, including tabs and spaces and custom components.
78
70
  */
79
- getDisplayTokens(model: ContentsInterface, str: string, startIndex: number): DisplayToken[];
71
+ getDisplayTokens(model: ContentType, str: string, startIndex: number): DisplayToken[];
80
72
  private fillLineTokens;
81
73
  private getOrGenerateComponent;
82
74
  private processCharSizes;
83
- getLineTokens(model: ContentsInterface, line: string, startIndex: number): DisplayToken[];
75
+ private getPageFormatParagraphs;
76
+ getPageFormatByPageNumber(pageNumber: number): PageFormat;
77
+ getPageFormatAtPosition(startParagraphIndex: number): PageFormat | undefined;
78
+ getPageFormatIndexAtPosition(startParagraphIndex: number): number;
79
+ getLineTokens(model: ContentType, line: string, startIndex: number): DisplayToken[];
84
80
  private findSameNumberingIndex;
85
81
  private getEmptyDisplayTokens;
86
82
  private getEmptyLineTokens;
@@ -98,8 +94,10 @@ export declare class DisplayData extends EventEmitting {
98
94
  private computeWrapIndex;
99
95
  private getPreviousParagraphInfo;
100
96
  private getVisiblePages;
97
+ private calculateVisiblePageCount;
98
+ calculateHeightForPage(page: number): number;
99
+ calculateFirstVisiblePage(height: number): number;
101
100
  private insertTextAndReturnEndCursorPosition;
102
101
  private splitByParagraphs;
103
102
  private setParagraphIndexes;
104
- private initPagesVerticalData;
105
103
  }
@@ -0,0 +1,30 @@
1
+ import { ComponentRef } from '@angular/core';
2
+ import { EdgeType } from '../../components/edges/edge-type.enum';
3
+ import { ICustomComponents } from '../../components/shared/custom-components.interface';
4
+ import { NoderTableComponent } from '../../components/table/components/table.component';
5
+ import { PageFormatModel } from '../../../models/generated/page-format.model';
6
+ import { PageType } from '../../components/edges/page-type.enum';
7
+ import { PageVerticalDataModel } from '../page-vertical-data.model';
8
+ import { Paragraph } from './paragraph';
9
+ export declare class PageFormat {
10
+ pageFormatModel: PageFormatModel;
11
+ pagesSpace: number;
12
+ customComponents: ICustomComponents;
13
+ contentWidth: number;
14
+ minHeight: number;
15
+ pagesVerticalData: PageVerticalDataModel[];
16
+ get defaultVerticalData(): PageVerticalDataModel;
17
+ processTextLinesProperties: (currentParagraph: Paragraph, prevParagraphInfo: {
18
+ lastPage: number;
19
+ paragraphHeight: number;
20
+ paragraphLastLine: number;
21
+ paragraphIsDiffFormat: boolean;
22
+ }, pagesInfo: {
23
+ pagesVerticalData: PageVerticalDataModel[];
24
+ pagesSpace: number;
25
+ }, tables: ComponentRef<NoderTableComponent>[]) => void;
26
+ constructor(pageFormatModel: PageFormatModel, pagesSpace: number, customComponents: ICustomComponents);
27
+ private initPagesVerticalData;
28
+ updatePageVerticalData(edgeType: EdgeType, pageType: PageType): void;
29
+ updateData(paragraphsHeight: number): void;
30
+ }
@@ -13,6 +13,7 @@ export declare class Paragraph {
13
13
  pagePreviousContentHeight: number;
14
14
  width: number;
15
15
  height: number;
16
+ offsetMargin: number;
16
17
  distanceFromTop: number;
17
18
  pageNumbers: number[];
18
19
  get firstPageNumber(): number;
@@ -25,13 +26,18 @@ export declare class Paragraph {
25
26
  lastPage: number;
26
27
  paragraphHeight: number;
27
28
  paragraphLastLine: number;
29
+ paragraphIsDiffFormat: boolean;
28
30
  }, pagesInfo: {
29
31
  pagesVerticalData: PageVerticalDataModel[];
30
32
  pagesSpace: number;
31
33
  }, tables: ComponentRef<NoderTableComponent>[]) => void);
32
34
  setTextLinesInfo(linesInfos: LineInfoModel[]): void;
35
+ setOffsetMargin(value: number): void;
33
36
  setIsAfterPageBreak(value: boolean): void;
34
- calculateDistanceFromTop(pageHeight: number, pagesSpace: number, marginTop: number): void;
37
+ calculateDistanceFromTop(pageHeight: number, pagesSpace: number, marginTop: number, prevFormatsData: {
38
+ lastPageNumber: number;
39
+ height: number;
40
+ }): void;
35
41
  getParagraphData(): {
36
42
  lastPage: number;
37
43
  paragraphHeight: number;
@@ -41,6 +47,7 @@ export declare class Paragraph {
41
47
  lastPage: number;
42
48
  paragraphHeight: number;
43
49
  paragraphLastLine: number;
50
+ paragraphIsDiffFormat: boolean;
44
51
  }, pagesInfo: {
45
52
  pagesVerticalData: PageVerticalDataModel[];
46
53
  pagesSpace: number;
@@ -5,6 +5,7 @@ export declare class TextLineInfo {
5
5
  height: number;
6
6
  page?: number;
7
7
  paddingLeft: number;
8
+ offsetMargin: number;
8
9
  offsetBefore: number;
9
10
  offsetAfter: number;
10
11
  firstLinePageOffset: number;
@@ -18,5 +19,5 @@ export declare class TextLineInfo {
18
19
  indentLeft: number;
19
20
  wordSpacing?: number;
20
21
  wordSpacingWidth?: number;
21
- constructor(contentWidth: number, align: number, indent: IndentModel, fields?: Partial<LineInfoModel>);
22
+ constructor(offsetMargin: number, contentWidth: number, align: number, indent: IndentModel, fields?: Partial<LineInfoModel>);
22
23
  }
@@ -0,0 +1,6 @@
1
+ import { ContentType } from '../contents.interface';
2
+ import { PageFormatModel } from '../../../models/generated/page-format.model';
3
+ export declare class PageFormatHelper {
4
+ static sliceSection(content: ContentType, start: number, end: number): PageFormatModel[];
5
+ static shiftIndexes(pagesFormats: PageFormatModel[], offset: number): void;
6
+ }
@@ -4,7 +4,6 @@ export interface ILayerConfig {
4
4
  contentRange: DistanceModel;
5
5
  width: number;
6
6
  height: number;
7
- minHeight: number;
8
7
  maxHeight: number;
9
8
  offset: number;
10
9
  scrollTop: number;
@@ -22,5 +22,5 @@ export declare class PagesLayer extends EventEmitting {
22
22
  private removePages;
23
23
  private addPages;
24
24
  private setContainerSize;
25
- private pagesCountChangedHandler;
25
+ private readonly pagesCountChangedHandler;
26
26
  }
@@ -2,7 +2,7 @@ import { EditSession } from '../../execution/edit.session';
2
2
  import { ILayerConfig } from './layer.config';
3
3
  import { Range } from '../../positioning/range';
4
4
  export declare class SelectionLayer {
5
- private session;
5
+ private readonly session;
6
6
  element: HTMLElement;
7
7
  marker: Range | null;
8
8
  selectionIndex: number;
@@ -16,5 +16,5 @@ export declare class TextLayer {
16
16
  protected getParagraphTop(row: number): number;
17
17
  private renderTextParagraph;
18
18
  private renderTextLines;
19
- private pagesCountChangedHandler;
19
+ private readonly pagesCountChangedHandler;
20
20
  }
@@ -3,7 +3,7 @@ import { EditSession } from '../../execution/edit.session';
3
3
  import { PagesLayer } from '../layers/pages.layer';
4
4
  import { PrintTextLayer } from '../layers/print.text.layer';
5
5
  export declare class PrintRenderer {
6
- private mainSession;
6
+ private readonly mainSession;
7
7
  content: HTMLElement;
8
8
  textLayer: PrintTextLayer;
9
9
  pagesLayer: PagesLayer;
@@ -15,10 +15,11 @@ import * as i9 from "@angular/common";
15
15
  import * as i10 from "@angular/material/button";
16
16
  import * as i11 from "@angular/material/dialog";
17
17
  import * as i12 from "@angular/material/icon";
18
- import * as i13 from "@angular/material/sidenav";
19
- import * as i14 from "@angular/material/tooltip";
20
- import * as i15 from "@angular/forms";
21
- import * as i16 from "@ngx-translate/core";
18
+ import * as i13 from "../apart-components/editor-ruler/editor-ruler.component";
19
+ import * as i14 from "@angular/material/sidenav";
20
+ import * as i15 from "@angular/material/tooltip";
21
+ import * as i16 from "@angular/forms";
22
+ import * as i17 from "@ngx-translate/core";
22
23
  export interface INoderOptions {
23
24
  sidenav?: Partial<ExternalSidenavModel>;
24
25
  imageApiService?: Type<ImageApiService>;
@@ -27,6 +28,6 @@ export interface INoderOptions {
27
28
  export declare class EditorModule {
28
29
  static forRoot(options?: INoderOptions): ModuleWithProviders<EditorModule>;
29
30
  static ɵfac: i0.ɵɵFactoryDeclaration<EditorModule, never>;
30
- static ɵmod: i0.ɵɵNgModuleDeclaration<EditorModule, [typeof i1.EditorComponent, typeof i2.NoderEdgeComponent, typeof i3.NoderImageComponent, typeof i4.NoderTabComponent, typeof i5.NoderTableCellComponent, typeof i6.NoderTableComponent, typeof i7.ResizerComponent, typeof i8.TableOverlayMenuComponent], [typeof i9.CommonModule, typeof i10.MatButtonModule, typeof i11.MatDialogModule, typeof i12.MatIconModule, typeof i13.MatSidenavModule, typeof i14.MatTooltipModule, typeof i15.ReactiveFormsModule, typeof i16.TranslateModule], [typeof i1.EditorComponent]>;
31
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EditorModule, [typeof i1.EditorComponent, typeof i2.NoderEdgeComponent, typeof i3.NoderImageComponent, typeof i4.NoderTabComponent, typeof i5.NoderTableCellComponent, typeof i6.NoderTableComponent, typeof i7.ResizerComponent, typeof i8.TableOverlayMenuComponent], [typeof i9.CommonModule, typeof i10.MatButtonModule, typeof i11.MatDialogModule, typeof i12.MatIconModule, typeof i13.EditorRulerComponent, typeof i14.MatSidenavModule, typeof i15.MatTooltipModule, typeof i16.ReactiveFormsModule, typeof i17.TranslateModule], [typeof i1.EditorComponent]>;
31
32
  static ɵinj: i0.ɵɵInjectorDeclaration<EditorModule>;
32
33
  }
@@ -2,7 +2,7 @@ import { ComponentRef, Type } from '@angular/core';
2
2
  import { ApplyImageStyleModel } from '../../models/generated/apply-image-style.model';
3
3
  import { BaseNoderComponent } from '../components/shared/abstract/base.component';
4
4
  import { BreakTypes } from '../gadgets/page-break/break-types.enum';
5
- import { ContentsInterface } from '../content/contents.interface';
5
+ import { ContentType } from '../content/contents.interface';
6
6
  import { CursorParagraph } from '../positioning/cursor-paragraph';
7
7
  import { CustomContent } from '../components/shared/custom-content';
8
8
  import { CustomContentService } from '../components/shared/services/custom-content.service';
@@ -18,7 +18,6 @@ import { InsertBreakModel } from '../../models/generated/insert-break.model';
18
18
  import { InsertElementModel } from '../../models/generated/insert-element.model';
19
19
  import { InsertImageModel } from '../../models/generated/insert-image.model';
20
20
  import { InsertLinkModel } from '../../models/generated/insert-link.model';
21
- import { InsertParagraphModel } from '../../models/generated/insert-paragraph.model';
22
21
  import { InsertTableModel } from '../../models/generated/insert-table.model';
23
22
  import { InsertTabModel } from '../../models/generated/insert-tab.model';
24
23
  import { LinkDataModel } from '../../models/generated/link-data.model';
@@ -30,20 +29,20 @@ import { PageType } from '../components/edges/page-type.enum';
30
29
  import { ParagraphModel } from '../../models/generated/paragraph.model';
31
30
  import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
32
31
  import { Range } from '../positioning/range';
33
- import { RemoveParagraphAndAddNumberingModel } from '../../models/generated/remove-paragraph-and-add-numbering.model';
32
+ import { RemoveWithParagraphModel } from '../../models/generated/remove-with-paragraph.model';
33
+ import { ReplaceByRestoreModel } from '../../models/generated/replace-by-restore.model';
34
34
  import { ReplaceModel } from '../../models/generated/replace.model';
35
35
  import { ResizeTableColumnsModel } from '../../models/generated/resize-table-columns.model';
36
36
  import { RestoreModel } from '../../models/generated/restore.model';
37
- import { RestoreParagraphAndAddNumberingModel } from '../../models/generated/restore-paragraph-and-add-numbering.model';
37
+ import { RestoreWithParagraphModel } from '../../models/generated/restore-with-paragraph.model';
38
38
  import { ScrollBar } from '../gadgets/scrollbar';
39
39
  import { Selection } from '../positioning/selection';
40
- import { TableModel } from '../../models/generated/table.model';
41
40
  import { TextStyleModel } from '../../models/generated/text-style.model';
42
41
  export declare class EditSession {
43
42
  displayData: DisplayData;
44
43
  sessionId: number;
45
44
  customContentService: CustomContentService;
46
- model: ContentsInterface;
45
+ model: ContentType;
47
46
  selection: Selection;
48
47
  generalProperties: GeneralPropertiesModel;
49
48
  editorService: EditorService;
@@ -54,7 +53,7 @@ export declare class EditSession {
54
53
  nonTokenRe: RegExp;
55
54
  get scrollTop(): number;
56
55
  get scrollBarHeight(): number;
57
- constructor(displayData: DisplayData, sessionId: number, customContentService: CustomContentService, model: ContentsInterface, selection: Selection, generalProperties: GeneralPropertiesModel, editorService: EditorService, customComponents: ICustomComponents, type: 'cell' | 'edge' | 'main' | 'cellWithinEdge', scrollBar?: ScrollBar);
56
+ constructor(displayData: DisplayData, sessionId: number, customContentService: CustomContentService, model: ContentType, selection: Selection, generalProperties: GeneralPropertiesModel, editorService: EditorService, customComponents: ICustomComponents, type: 'cell' | 'edge' | 'main' | 'cellWithinEdge', scrollBar?: ScrollBar);
58
57
  destroy(): void;
59
58
  getRowLength(row: number): number;
60
59
  getRowCacheIndex(cacheArray: number[], value: number): number;
@@ -82,7 +81,6 @@ export declare class EditSession {
82
81
  insertImageByDocumentIndex(insertElement: InsertImageModel): CursorParagraph;
83
82
  insertTableByDocumentIndex(insertElement: InsertTableModel): CursorParagraph;
84
83
  insertLinkByDocumentIndex(insertElement: InsertLinkModel): CursorParagraph;
85
- insertParagraphByDocumentIndex(insertElement: InsertParagraphModel): CursorParagraph;
86
84
  applyTextStyle(startIndex: number, endIndex: number, textStyle: TextStyleModel): void;
87
85
  applyParagraphStyle(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleModel): void;
88
86
  rerender(insertIndex: number): void;
@@ -93,14 +91,10 @@ export declare class EditSession {
93
91
  restoreTextStyles(formats: FormatModel[], linkFormats: FormatModel[]): void;
94
92
  restoreParagraphStyles(paragraphs: ParagraphModel[]): void;
95
93
  setTextStyle(textStyle: TextStyleModel): void;
96
- /**
97
- * Removes the `range` from the document.
98
- * If `range` is empty, this function returns the unmodified value of `range.start`.
99
- */
100
94
  remove(range: Range): void;
101
95
  replace(model: ReplaceModel): CursorParagraph;
102
- removeParagraphAndAddNumbering(model: RemoveParagraphAndAddNumberingModel): void;
103
- restoreParagraphAndAddNumbering(model: RestoreParagraphAndAddNumberingModel): void;
96
+ removeWithParagraph(model: RemoveWithParagraphModel): void;
97
+ restoreWithParagraph(model: RestoreWithParagraphModel): void;
104
98
  insertText(position: CursorParagraph, text: string, cursorStyle?: TextStyleModel): CursorParagraph;
105
99
  insertElement(position: CursorParagraph, element: ElementDataModel): CursorParagraph;
106
100
  insertBreak(position: CursorParagraph, breakType: BreakTypes): CursorParagraph;
@@ -108,14 +102,14 @@ export declare class EditSession {
108
102
  insertImage(position: CursorParagraph, imageData: ImageDataModel): CursorParagraph;
109
103
  insertLink(position: CursorParagraph, linkData: LinkDataModel): CursorParagraph;
110
104
  insertTable(position: CursorParagraph, tableModel: InsertTableModel): CursorParagraph;
111
- insertParagraph(position: CursorParagraph, paragraphModel: InsertParagraphModel): CursorParagraph;
112
105
  removeMoveRange(moveModel: MoveRangeModel): RestoreModel;
113
106
  restoreMoveRange(restoreModel: RestoreModel, moveModel: MoveRangeModel, _sourceSessionId: number): Range;
114
107
  isPositionInRange(position: CursorParagraph, range: Range): boolean;
115
- createRestoreFromSlice(paragraphStart: number, indexInStart: number, paragraphEnd: number, indexInEnd: number): RestoreModel;
108
+ createRestoreFromSlice(start: CursorParagraph, end: CursorParagraph): RestoreModel;
116
109
  addComponent<T extends BaseNoderComponent>(customElements: ComponentRef<T>[], model: CustomContent, componentType: Type<T>): void;
117
110
  applyToolbarStyles(): void;
118
111
  getStyleForCursor(index: number): TextStyleModel[];
112
+ replaceByRestore(model: ReplaceByRestoreModel): void;
119
113
  restore(model: RestoreModel): void;
120
114
  restoreComponents<T extends BaseNoderComponent>(models: CustomContent[], components: ComponentRef<BaseNoderComponent>[], componentType: Type<T>, restoreIndex: number, restoreEndIndex: number): void;
121
115
  restoreElementComponents(elements: ElementModel[], restoreIndex: number, restoreEndIndex: number): void;
@@ -124,9 +118,7 @@ export declare class EditSession {
124
118
  insertTableColumns(insertIndex: number, columnsCount: number, targetIndex: number, inheritIndex: number): void;
125
119
  removeTableRows(insertIndex: number, startIndex: number, endIndex: number): void;
126
120
  removeTableColumns(insertIndex: number, startIndex: number, endIndex: number): void;
127
- removeTable(insertIndex: number): void;
128
121
  resizeTableColumns(resizeTableColumns: ResizeTableColumnsModel): void;
129
- restoreTable(insertIndex: number, table: TableModel): void;
130
122
  paragraphIsNumbering(row: number): boolean;
131
123
  createEdges(pageType: PageType): void;
132
124
  removeEmptyEdges(pageType: PageType): void;