@talrace/ngx-noder 19.0.37 → 19.0.39

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 (45) hide show
  1. package/assets/i18n/noder.en.json +7 -2
  2. package/assets/i18n/noder.es.json +7 -2
  3. package/assets/i18n/noder.ru.json +7 -2
  4. package/fesm2022/talrace-ngx-noder.mjs +566 -392
  5. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  6. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +4 -1
  7. package/lib/apart-components/editor-toolbar/components/buttons/spacing/spacing.component.d.ts +16 -0
  8. package/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.d.ts +3 -0
  9. package/lib/apart-components/editor-toolbar/editor-toolbar.module.d.ts +24 -23
  10. package/lib/editor/content/display-data/display-data.d.ts +1 -1
  11. package/lib/editor/content/display-data/toolbar-styles.interface.d.ts +1 -0
  12. package/lib/editor/display/layers/highlight.layer.d.ts +2 -1
  13. package/lib/editor/display/renderer.d.ts +1 -8
  14. package/lib/editor/display/virtual.renderer.d.ts +1 -2
  15. package/lib/editor/editor.module.d.ts +3 -1
  16. package/lib/editor/execution/edit.session.d.ts +2 -3
  17. package/lib/editor/execution/editor.d.ts +13 -4
  18. package/lib/editor/execution/regulator.service.d.ts +4 -2
  19. package/lib/editor/{components → gadgets/comment}/comment-popup/comment-popup.component.d.ts +6 -4
  20. package/lib/editor/gadgets/comment/comment-popup/comment-type.model.d.ts +6 -0
  21. package/lib/editor/gadgets/comment/comment-types.const.d.ts +3 -0
  22. package/lib/editor/gadgets/history/operation-history.d.ts +2 -2
  23. package/lib/editor/gadgets/numbering/numbering.helper.d.ts +7 -2
  24. package/lib/editor/interaction/editor.service.d.ts +32 -6
  25. package/lib/editor/operations/helpers/paragraph-operations.helper.d.ts +3 -2
  26. package/lib/editor/operations/operations-helper.helper.d.ts +4 -4
  27. package/lib/editor/operations/save-commands.helper.d.ts +2 -2
  28. package/lib/editor/positioning/position.helper.d.ts +20 -36
  29. package/lib/editor/positioning/range.d.ts +1 -7
  30. package/lib/models/generated/apply-paragraph-style.model.d.ts +2 -2
  31. package/lib/models/generated/paragraph-style-ext.model.d.ts +8 -0
  32. package/lib/models/generated/remove-with-paragraph.model.d.ts +2 -2
  33. package/lib/models/generated/restore-with-paragraph.model.d.ts +2 -2
  34. package/package.json +1 -1
  35. package/public-api.d.ts +2 -0
  36. package/src/_ngx-noder.theme.scss +1 -1
  37. package/src/assets/fonts/nc-iconfont.eot +0 -0
  38. package/src/assets/fonts/nc-iconfont.scss +24 -12
  39. package/src/assets/fonts/nc-iconfont.svg +5 -1
  40. package/src/assets/fonts/nc-iconfont.ttf +0 -0
  41. package/src/assets/fonts/nc-iconfont.woff +0 -0
  42. package/src/lib/apart-components/editor-toolbar/_theme.scss +2 -0
  43. package/src/lib/apart-components/editor-toolbar/components/buttons/spacing/_spacing.theme.scss +24 -0
  44. package/lib/editor/content/display-data/paragraph-info.interface.d.ts +0 -7
  45. /package/src/lib/editor/{components → gadgets/comment}/comment-popup/_theme.scss +0 -0
@@ -35,6 +35,9 @@ export declare abstract class BaseToolbarComponent extends DestroyComponent {
35
35
  updateTableBorderStyle: EventEmitter<LineStyles>;
36
36
  updateTableBorderWidth: EventEmitter<number>;
37
37
  updateTableBorders: EventEmitter<Borders>;
38
+ selectSpacing: EventEmitter<number>;
39
+ selectBefore: EventEmitter<number>;
40
+ selectAfter: EventEmitter<number>;
38
41
  styles: IToolbarStyles;
39
42
  canUndo: boolean;
40
43
  canRedo: boolean;
@@ -50,5 +53,5 @@ export declare abstract class BaseToolbarComponent extends DestroyComponent {
50
53
  private historyInfoSubscription;
51
54
  private stylesSubscription;
52
55
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseToolbarComponent, never>;
53
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseToolbarComponent, never, never, {}, { "print": "print"; "redo": "redo"; "undo": "undo"; "createElement": "createElement"; "changeTextStyle": "changeTextStyle"; "changeParagraphStyle": "changeParagraphStyle"; "setNumberingTemplateType": "setNumberingTemplateType"; "removeNumberings": "removeNumberings"; "insertImage": "insertImage"; "insertLink": "insertLink"; "insertTable": "insertTable"; "updateTableBorderStyle": "updateTableBorderStyle"; "updateTableBorderWidth": "updateTableBorderWidth"; "updateTableBorders": "updateTableBorders"; }, never, never, true, never>;
56
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseToolbarComponent, never, never, {}, { "print": "print"; "redo": "redo"; "undo": "undo"; "createElement": "createElement"; "changeTextStyle": "changeTextStyle"; "changeParagraphStyle": "changeParagraphStyle"; "setNumberingTemplateType": "setNumberingTemplateType"; "removeNumberings": "removeNumberings"; "insertImage": "insertImage"; "insertLink": "insertLink"; "insertTable": "insertTable"; "updateTableBorderStyle": "updateTableBorderStyle"; "updateTableBorderWidth": "updateTableBorderWidth"; "updateTableBorders": "updateTableBorders"; "selectSpacing": "selectSpacing"; "selectBefore": "selectBefore"; "selectAfter": "selectAfter"; }, never, never, true, never>;
54
57
  }
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class SpacingComponent {
3
+ isDisabled: import("@angular/core").InputSignal<boolean>;
4
+ spacing: import("@angular/core").InputSignal<number>;
5
+ before: import("@angular/core").InputSignal<number>;
6
+ after: import("@angular/core").InputSignal<number>;
7
+ selectSpacing: import("@angular/core").OutputEmitterRef<number>;
8
+ selectBefore: import("@angular/core").OutputEmitterRef<number>;
9
+ selectAfter: import("@angular/core").OutputEmitterRef<number>;
10
+ readonly spacings: string[];
11
+ onSelectSpacing(value: number): void;
12
+ onSelectBefore(value: number): void;
13
+ onSelectAfter(value: number): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpacingComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpacingComponent, "app-nod-spacing", never, { "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "before": { "alias": "before"; "required": false; "isSignal": true; }; "after": { "alias": "after"; "required": false; "isSignal": true; }; }, { "selectSpacing": "selectSpacing"; "selectBefore": "selectBefore"; "selectAfter": "selectAfter"; }, never, never, false, never>;
16
+ }
@@ -16,6 +16,9 @@ export declare class ToolbarActionsComponent extends BaseToolbarComponent {
16
16
  onApplyFontColor(color: string): void;
17
17
  onApplyHighlightColor(color: string): void;
18
18
  onApplyAlignment(alignment: Alignment): void;
19
+ onApplySpacing(value: number): void;
20
+ onApplyBefore(value: number): void;
21
+ onApplyAfter(value: number): void;
19
22
  onSetNumberingTemplateType(templateType: NumberingTemplateType): void;
20
23
  onTableInsertMenuClosed(): void;
21
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarActionsComponent, never>;
@@ -7,30 +7,31 @@ import * as i5 from "./components/menu-dropdowns/menu-dropdowns.component";
7
7
  import * as i6 from "./components/menu-dropdowns-mobile/menu-dropdowns-mobile.component";
8
8
  import * as i7 from "./components/buttons/numbering/numbering.component";
9
9
  import * as i8 from "./components/buttons/print/print.component";
10
- import * as i9 from "./components/toolbar-actions/toolbar-actions.component";
11
- import * as i10 from "./components/buttons/undo-redo/undo-redo.component";
12
- import * as i11 from "./components/buttons/zoom/zoom.component";
13
- import * as i12 from "./components/buttons/color-picker/color-picker.component";
14
- import * as i13 from "@angular/common";
15
- import * as i14 from "./components/buttons/font/font.component";
16
- import * as i15 from "./components/buttons/font-size/font-size.component";
17
- import * as i16 from "../insert-table/insert-table.component";
18
- import * as i17 from "../insert-table-mobile/insert-table-mobile.component";
19
- import * as i18 from "@angular/material/autocomplete";
20
- import * as i19 from "@angular/material/button";
21
- import * as i20 from "@angular/material/button-toggle";
22
- import * as i21 from "@angular/material/expansion";
23
- import * as i22 from "@angular/material/icon";
24
- import * as i23 from "@angular/material/menu";
25
- import * as i24 from "@angular/material/tooltip";
26
- import * as i25 from "@angular/forms";
27
- import * as i26 from "./components/buttons/table-borders/table-borders.component";
28
- import * as i27 from "./components/buttons/table-border-style/table-border-style.component";
29
- import * as i28 from "./components/buttons/table-border-width/table-border-width.component";
30
- import * as i29 from "../text-format-mobile/text-format-mobile.component";
31
- import * as i30 from "@ngx-translate/core";
10
+ import * as i9 from "./components/buttons/spacing/spacing.component";
11
+ import * as i10 from "./components/toolbar-actions/toolbar-actions.component";
12
+ import * as i11 from "./components/buttons/undo-redo/undo-redo.component";
13
+ import * as i12 from "./components/buttons/zoom/zoom.component";
14
+ import * as i13 from "./components/buttons/color-picker/color-picker.component";
15
+ import * as i14 from "@angular/common";
16
+ import * as i15 from "./components/buttons/font/font.component";
17
+ import * as i16 from "./components/buttons/font-size/font-size.component";
18
+ import * as i17 from "../insert-table/insert-table.component";
19
+ import * as i18 from "../insert-table-mobile/insert-table-mobile.component";
20
+ import * as i19 from "@angular/material/autocomplete";
21
+ import * as i20 from "@angular/material/button";
22
+ import * as i21 from "@angular/material/button-toggle";
23
+ import * as i22 from "@angular/material/expansion";
24
+ import * as i23 from "@angular/material/icon";
25
+ import * as i24 from "@angular/material/menu";
26
+ import * as i25 from "@angular/material/tooltip";
27
+ import * as i26 from "@angular/forms";
28
+ import * as i27 from "./components/buttons/table-borders/table-borders.component";
29
+ import * as i28 from "./components/buttons/table-border-style/table-border-style.component";
30
+ import * as i29 from "./components/buttons/table-border-width/table-border-width.component";
31
+ import * as i30 from "../text-format-mobile/text-format-mobile.component";
32
+ import * as i31 from "@ngx-translate/core";
32
33
  export declare class EditorToolbarModule {
33
34
  static ɵfac: i0.ɵɵFactoryDeclaration<EditorToolbarModule, never>;
34
- static ɵmod: i0.ɵɵNgModuleDeclaration<EditorToolbarModule, [typeof i1.EditorMobileToolbarComponent, typeof i2.EditorToolbarComponent, typeof i3.FontStyleComponent, typeof i4.FormatComponent, typeof i5.MenuDropdownsComponent, typeof i6.MenuDropdownsMobileComponent, typeof i7.NumberingComponent, typeof i8.PrintComponent, typeof i9.ToolbarActionsComponent, typeof i10.UndoRedoComponent, typeof i11.ZoomComponent], [typeof i12.ColorPickerComponent, typeof i13.CommonModule, typeof i14.FontComponent, typeof i15.FontSizeComponent, typeof i16.InsertTableComponent, typeof i17.InsertTableMobileComponent, typeof i18.MatAutocompleteModule, typeof i19.MatButtonModule, typeof i20.MatButtonToggleModule, typeof i21.MatExpansionModule, typeof i22.MatIconModule, typeof i23.MatMenuModule, typeof i24.MatTooltipModule, typeof i25.ReactiveFormsModule, typeof i26.TableBordersComponent, typeof i27.TableBorderStyleComponent, typeof i28.TableBorderWidthComponent, typeof i29.TextFormatMobileComponent, typeof i30.TranslateModule], [typeof i1.EditorMobileToolbarComponent, typeof i2.EditorToolbarComponent, typeof i5.MenuDropdownsComponent, typeof i6.MenuDropdownsMobileComponent, typeof i9.ToolbarActionsComponent]>;
35
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EditorToolbarModule, [typeof i1.EditorMobileToolbarComponent, typeof i2.EditorToolbarComponent, typeof i3.FontStyleComponent, typeof i4.FormatComponent, typeof i5.MenuDropdownsComponent, typeof i6.MenuDropdownsMobileComponent, typeof i7.NumberingComponent, typeof i8.PrintComponent, typeof i9.SpacingComponent, typeof i10.ToolbarActionsComponent, typeof i11.UndoRedoComponent, typeof i12.ZoomComponent], [typeof i13.ColorPickerComponent, typeof i14.CommonModule, typeof i15.FontComponent, typeof i16.FontSizeComponent, typeof i17.InsertTableComponent, typeof i18.InsertTableMobileComponent, typeof i19.MatAutocompleteModule, typeof i20.MatButtonModule, typeof i21.MatButtonToggleModule, typeof i22.MatExpansionModule, typeof i23.MatIconModule, typeof i24.MatMenuModule, typeof i25.MatTooltipModule, typeof i26.ReactiveFormsModule, typeof i27.TableBordersComponent, typeof i28.TableBorderStyleComponent, typeof i29.TableBorderWidthComponent, typeof i30.TextFormatMobileComponent, typeof i31.TranslateModule], [typeof i1.EditorMobileToolbarComponent, typeof i2.EditorToolbarComponent, typeof i5.MenuDropdownsComponent, typeof i6.MenuDropdownsMobileComponent, typeof i10.ToolbarActionsComponent]>;
35
36
  static ɵinj: i0.ɵɵInjectorDeclaration<EditorToolbarModule>;
36
37
  }
@@ -68,7 +68,7 @@ export declare class DisplayData extends EventEmitting {
68
68
  private updateNumberingsDataOnChange;
69
69
  private splitParagraphByLines;
70
70
  private getParagraphTokens;
71
- getParagraphLineTokens(paragraphIndex: number, lineIndex: number): DisplayToken[];
71
+ getParagraphLineTokens(paragraphIndex: number, paragraphLine: number): DisplayToken[];
72
72
  getTokens(contentIndex: number, content: string, paragraphSymbolIndex: number): {
73
73
  tokens: DisplayToken[];
74
74
  paragraphToken: DisplayToken;
@@ -9,6 +9,7 @@ export interface IToolbarStyles {
9
9
  bold?: boolean;
10
10
  strikethrough?: boolean;
11
11
  underline?: boolean;
12
+ lineSpacing?: number;
12
13
  spaceAfter?: number;
13
14
  spaceBefore?: number;
14
15
  indentLeft?: number;
@@ -9,7 +9,8 @@ export declare abstract class HighlightLayer {
9
9
  config: ILayerConfig;
10
10
  constructor(parentEl: HTMLElement, cssClass: string, session: EditSession);
11
11
  renderHighlight(cssPosition: string, cssClass: string): HTMLElement;
12
- getTop(row: number): number;
12
+ getTopByDocumentLine(documentLine: number): number;
13
+ getTopByParagraphLine(paragraph: number, paragraphLine: number): number;
13
14
  drawMultiLineMarker(range: Range, cssClass: string): HTMLElement[];
14
15
  drawSingleLineMarker(range: Range, cssClass: string): HTMLElement;
15
16
  drawCustomElementHighlight(elementInfo: CustomElementInfo, cssClass: string, screenParentRange: Range): void;
@@ -63,14 +63,7 @@ export declare class Renderer extends EventEmitting {
63
63
  updateTextAndCursor(): void;
64
64
  updateMarker(): void;
65
65
  updateCursor(): void;
66
- /**
67
- * Converts screen coordinates to text coordinates by mapping to the closest token midpoint.
68
- */
69
- screenToTextCoordinatesUsingMidpoint(x: number, y: number, rect?: DOMRect): CursorParagraph;
70
- /**
71
- * Converts screen coordinates to text coordinates by mapping to the next token boundary.
72
- */
73
- screenToTextCoordinatesUsingBoundary(x: number, y: number, rect?: DOMRect): CursorParagraph;
66
+ screenToParagraph(x: number, y: number, tokenDivider?: number, rect?: DOMRect): CursorParagraph;
74
67
  showCursor(): void;
75
68
  showStaticCursor(): void;
76
69
  hideCursor(): void;
@@ -77,8 +77,7 @@ export declare class VirtualRenderer {
77
77
  **/
78
78
  scrollCursorIntoView(cursor?: CursorParagraph, offset?: number): void;
79
79
  scrollBy(deltaY: number): void;
80
- screenToTextCoordinatesUsingMidpoint(x: number, y: number, rect?: DOMRect): CursorParagraph;
81
- screenToTextCoordinatesUsingBoundary(x: number, y: number, rect?: DOMRect): CursorParagraph;
80
+ screenToParagraph(x: number, y: number, tokenDivider?: number, rect?: DOMRect): CursorParagraph;
82
81
  showCursor(): void;
83
82
  hideCursor(): void;
84
83
  showStaticCursor(): void;
@@ -1,13 +1,14 @@
1
1
  import { ComponentType } from '@angular/cdk/portal';
2
2
  import { ModuleWithProviders, Type } from '@angular/core';
3
3
  import { BaseCommentComponent } from './gadgets/comment/base-comment.component';
4
+ import { CommentTypeModel } from './gadgets/comment/comment-popup/comment-type.model';
4
5
  import { ImageApiService } from './components/image/image-api.service';
5
6
  import { ExternalElementInterface } from '../editor/components/external-element/external-element.service';
6
7
  import { ExternalSidenavModel } from './components/external-element/models/external-sidenav.model';
7
8
  import { InsertOverlayComponentInterface } from './gadgets/insert-overlays/insert-overlay-component.interface';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "./components/editor.component";
10
- import * as i2 from "./components/comment-popup/comment-popup.component";
11
+ import * as i2 from "./gadgets/comment/comment-popup/comment-popup.component";
11
12
  import * as i3 from "./components/edges/edge.component";
12
13
  import * as i4 from "./components/image/components/image.component";
13
14
  import * as i5 from "./components/tab/tab.component";
@@ -36,6 +37,7 @@ export interface INoderOptions {
36
37
  }[];
37
38
  elementService: Type<ExternalElementInterface>;
38
39
  commentComponent?: Type<BaseCommentComponent>;
40
+ commentTypes?: CommentTypeModel[];
39
41
  }
40
42
  export declare class EditorModule {
41
43
  static forRoot(options?: INoderOptions): ModuleWithProviders<EditorModule>;
@@ -31,7 +31,7 @@ import { NumberingLevelModel } from '../../models/generated/numbering-level.mode
31
31
  import { NumberingModel } from '../../models/generated/numbering.model';
32
32
  import { PageType } from '../components/edges/page-type.enum';
33
33
  import { ParagraphModel } from '../../models/generated/paragraph.model';
34
- import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
34
+ import { ParagraphStyleExtModel } from '../../models/generated/paragraph-style-ext.model';
35
35
  import { Range } from '../positioning/range';
36
36
  import { RemoveWithParagraphModel } from '../../models/generated/remove-with-paragraph.model';
37
37
  import { ReplaceByRestoreModel } from '../../models/generated/replace-by-restore.model';
@@ -63,7 +63,6 @@ export declare class EditSession {
63
63
  get paragraphInfoChanges$(): import("rxjs").Observable<import("../content/display-data/models/paragraph-info-added.model").ParagraphInfoAdded | import("../content/display-data/models/paragraph-info-content-changed.model").ParagraphInfoContentChanged | import("../content/display-data/models/paragraph-info-content-inserted.model").ParagraphInfoContentInserted | import("../content/display-data/models/paragraphs-infos-removed.model").ParagraphInfosRemoved>;
64
64
  constructor(displayData: DisplayData, sessionId: number, customContentService: CustomContentService, commentRenderService: CommentRenderService, model: ContentType, selection: Selection, generalProperties: GeneralPropertiesModel, editorService: EditorService, customComponents: ICustomComponents, type: 'cell' | 'edge' | 'main' | 'cellWithinEdge', scrollBar?: ScrollBar, edgeType?: EdgeType, pageType?: PageType);
65
65
  destroy(): void;
66
- getRowLength(row: number): number;
67
66
  getRowCacheIndex(cacheArray: number[], value: number): number;
68
67
  /**
69
68
  * Calculates the width of the string `str` on the screen while assuming that the string starts at the first column on the screen.
@@ -91,7 +90,7 @@ export declare class EditSession {
91
90
  insertTableByDocumentIndex(insertElement: InsertTableModel): CursorParagraph;
92
91
  insertLinkByDocumentIndex(insertElement: InsertLinkModel): CursorParagraph;
93
92
  applyTextStyle(startIndex: number, endIndex: number, textStyle: TextStyleModel): void;
94
- applyParagraphStyle(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleModel): void;
93
+ applyParagraphStyle(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleExtModel): void;
95
94
  rerender(insertIndex: number): void;
96
95
  addNumbering(levels: NumberingLevelModel[], startIndex: number, endIndex: number, numberingId: number | null): void;
97
96
  removeNumberings(startIndex: number, endIndex: number): void;
@@ -6,6 +6,7 @@ import { BaseNoderComponent } from '../components/shared/abstract/base.component
6
6
  import { BreakTypes } from '../gadgets/page-break/break-types.enum';
7
7
  import { CommandsService } from '../operations/commands.service';
8
8
  import { CommentModel } from '../../models/generated/comment.model';
9
+ import { CommentTypeModel } from '../gadgets/comment/comment-popup/comment-type.model';
9
10
  import { CreateEdgesModel } from '../../models/generated/create-edges.model';
10
11
  import { DocumentHandler } from '../interaction/document.handler';
11
12
  import { DocxModel } from '../../models/generated/docx.model';
@@ -38,6 +39,7 @@ import { PageFormatModel } from '../../models/generated/page-format.model';
38
39
  import { PageType } from '../components/edges/page-type.enum';
39
40
  import { ParagraphInfoModel } from '../content/display-data/models/paragraph-info.model';
40
41
  import { ParagraphModel } from '../../models/generated/paragraph.model';
42
+ import { ParagraphStyleExtModel } from '../../models/generated/paragraph-style-ext.model';
41
43
  import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
42
44
  import { Range } from '../positioning/range';
43
45
  import { RegulatorService } from './regulator.service';
@@ -131,7 +133,7 @@ export declare class Editor {
131
133
  applyTextStyleUnderline(): void;
132
134
  applyTextStyles(textStyle: TextStyleModel): void;
133
135
  setTextStyle(textStyle: TextStyleModel): void;
134
- applyParagraphStyles(paragraphStyle: ParagraphStyleModel): void;
136
+ applyParagraphStyles(paragraphStyle: ParagraphStyleExtModel): void;
135
137
  applyParagraphsMargin(value: Partial<ParagraphStyleModel>): void;
136
138
  setNumberingTemplate(templateLevels: NumberingLevelModel[]): void;
137
139
  removeNumberingsFromParagraphs(): void;
@@ -161,7 +163,7 @@ export declare class Editor {
161
163
  saveApplyTableCellsStylesToHistory(table: TableModel, model: ApplyTableCellsStylesModel, targets: TargetModel[]): void;
162
164
  saveApplyTextStyleToHistory(startIndex: number, endIndex: number, textStyle: TextStyleModel): void;
163
165
  saveApplyParagraphsToHistory(oldParagraphs: ParagraphModel[], updatedParagraphs: ParagraphModel[]): void;
164
- saveApplyParagraphStyleToHistory(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleModel): void;
166
+ saveApplyParagraphStyleToHistory(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleExtModel): void;
165
167
  saveAddNumberingToHistory(templateLevels: NumberingLevelModel[], startIndex: number, endIndex: number): void;
166
168
  saveRemoveNumberingToHistory(startIndex: number, endIndex: number): void;
167
169
  private saveApplyImageStyleToHistory;
@@ -180,9 +182,11 @@ export declare class Editor {
180
182
  onCut(event: ClipboardEvent): void;
181
183
  onCopy(event: ClipboardEvent): void;
182
184
  onPaste(event: ClipboardEvent): void;
183
- onCreateComment(): void;
185
+ onCreateComment(commentType: CommentTypeModel): void;
184
186
  onCommentCreated(reqId: number, commentId: number): void;
185
187
  onCommentRemoved(id: number): void;
188
+ onCommentTextReplace(commentId: number, newText: string): void;
189
+ onGetCommentText(commentId: number, continueWith: (text: string) => void): void;
186
190
  onSetCommentsVisibility(value: boolean): void;
187
191
  private initResizeListener;
188
192
  private destroyResizeListener;
@@ -280,6 +284,9 @@ export declare class Editor {
280
284
  updateTableBorderStyleSubscription(): Subscription;
281
285
  updateTableBorderWidthSubscription(): Subscription;
282
286
  updateTableBordersSubscription(): Subscription;
287
+ selectSpacingSubscription(): Subscription;
288
+ selectBeforeSubscription(): Subscription;
289
+ selectAfterSubscription(): Subscription;
283
290
  insertTextSubscription(): Subscription;
284
291
  undoSubscription(): Subscription;
285
292
  redoSubscription(): Subscription;
@@ -300,8 +307,10 @@ export declare class Editor {
300
307
  private commentCreationSubscriptions;
301
308
  private rerenderCommentsSubscription;
302
309
  private selectCommentSubscription;
303
- private removeCommentSubscription;
310
+ private removeCommentSubscriptions;
304
311
  private setComentsVisibilitySubscription;
312
+ private getCommentTextSubscription;
313
+ private replaceCommentTextSubscription;
305
314
  private recreateMainSession;
306
315
  private changeColumnsWidth;
307
316
  private changeCellsWidth;
@@ -1,4 +1,5 @@
1
1
  import { ElementRef } from '@angular/core';
2
+ import { CommentModel } from '../../models/generated/comment.model';
2
3
  import { CommentRenderService } from '../gadgets/comment/comment-render.service';
3
4
  import { ComponentService } from '../components/shared/services/component.service';
4
5
  import { CustomContentService } from '../components/shared/services/custom-content.service';
@@ -46,9 +47,10 @@ export declare class RegulatorService {
46
47
  getCurrentSessionTargets(): TargetModel[];
47
48
  getTargets(session: SessionModel): TargetModel[];
48
49
  getTargetedSession(targets: TargetModel[]): EditSession;
49
- getCommentTarget(commentId: number): {
50
+ getCommentSessionModel(commentId: number): SessionModel | null;
51
+ getComment(commentId: number): {
50
52
  session: SessionModel;
51
- target: TargetModel;
53
+ comment: CommentModel;
52
54
  } | null;
53
55
  setCommentsVisibility(value: boolean): void;
54
56
  isWithinEdge(sessionId: number): boolean;
@@ -1,11 +1,13 @@
1
- import { EditorService } from '../../../editor/interaction/editor.service';
2
- import { OverlayService } from '../shared/services/overlay.service';
1
+ import { CommentTypeModel } from './comment-type.model';
2
+ import { EditorService } from '../../../interaction/editor.service';
3
+ import { OverlayService } from '../../../components/shared/services/overlay.service';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class CommentPopupComponent {
5
6
  private editorService;
6
7
  private overlayService;
7
- constructor(editorService: EditorService, overlayService: OverlayService);
8
- addComment(): void;
8
+ commentTypes: CommentTypeModel[];
9
+ constructor(editorService: EditorService, overlayService: OverlayService, commentTypes: CommentTypeModel[]);
10
+ addComment(type: CommentTypeModel): void;
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<CommentPopupComponent, never>;
10
12
  static ɵcmp: i0.ɵɵComponentDeclaration<CommentPopupComponent, "app-nod-comment-popup", never, {}, {}, never, never, false, never>;
11
13
  }
@@ -0,0 +1,6 @@
1
+ export declare class CommentTypeModel {
2
+ typeId: number;
3
+ nameTranslated: string;
4
+ icon: string;
5
+ constructor(typeId: number, nameTranslated: string, icon: string);
6
+ }
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { CommentTypeModel } from './comment-popup/comment-type.model';
3
+ export declare const COMMENT_TYPES: InjectionToken<CommentTypeModel[]>;
@@ -19,7 +19,7 @@ import { Operation } from './operation.type';
19
19
  import { PageFormatModel } from '../../../models/generated/page-format.model';
20
20
  import { PageType } from '../../components/edges/page-type.enum';
21
21
  import { ParagraphModel } from '../../../models/generated/paragraph.model';
22
- import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
22
+ import { ParagraphStyleExtModel } from '../../../models/generated/paragraph-style-ext.model';
23
23
  import { Range } from '../../positioning/range';
24
24
  import { RegulatorService } from '../../execution/regulator.service';
25
25
  import { RemoveInsertedPageFormatModel } from '../../../models/generated/remove-inserted-page-format.model';
@@ -52,7 +52,7 @@ export declare class OperationHistory {
52
52
  pushInsertStyledText(insertIndex: number, text: string, style: TextStyleModel): void;
53
53
  pushDelete(model: RestoreModel): void;
54
54
  pushApplyTextStyle(startIndex: number, endIndex: number, style: TextStyleModel, formats: FormatModel[], linkFormats: FormatModel[]): void;
55
- pushApplyParagraphStyle(startIndex: number, endIndex: number, style: ParagraphStyleModel, paragraphs: ParagraphModel[]): void;
55
+ pushApplyParagraphStyle(startIndex: number, endIndex: number, style: ParagraphStyleExtModel, paragraphs: ParagraphModel[]): void;
56
56
  pushApplyParagraphs(oldParagraphs: ParagraphModel[], updatedParagraphs: ParagraphModel[]): void;
57
57
  pushInsertTableRows(insertIndex: number, rowsCount: number, targetIndex: number, inheritIndex: number): void;
58
58
  pushInsertTableColumns(insertIndex: number, columnsCount: number, targetIndex: number, inheritIndex: number): void;
@@ -1,6 +1,7 @@
1
1
  import { NumberingDataModel } from './numbering-data.model';
2
2
  import { NumberingInfo } from '../../content/display-data/general-properties.model';
3
3
  import { NumberingLevelModel } from '../../../models/generated/numbering-level.model';
4
+ import { NumberingMarkerType } from './numbering-marker-type.enum';
4
5
  import { NumberingModel } from '../../../models/generated/numbering.model';
5
6
  import { NumberingParagraphStyleModel } from './numbering-paragraph-style.model';
6
7
  import { Paragraph } from '../../content/display-data/paragraph';
@@ -9,6 +10,7 @@ import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.m
9
10
  import { TextLineInfo } from '../../content/display-data/text-line-info';
10
11
  import { TextStyleModel } from '../../../models/generated/text-style.model';
11
12
  export declare class NumberingHelper {
13
+ static romanMap: Map<number, string>;
12
14
  static addValueToNumberingInfo(numberingId: number, numberingInfo: NumberingInfo, numberingLevels: NumberingLevelModel[]): void;
13
15
  static setNumberingNeedToRecalculate(numberingInfo: NumberingInfo, numberingId: number): void;
14
16
  static setAllNumberingIsCalculated(numberingInfo: NumberingInfo): void;
@@ -25,11 +27,14 @@ export declare class NumberingHelper {
25
27
  width: number;
26
28
  };
27
29
  static updateNumberingInfo(numberingInfo: NumberingInfo, marker: string, numberingId: number, level: number): void;
28
- private static getLevelInfo;
29
- static createMarkerString(numberingInfo: NumberingInfo, numberingId: number, splittedMarker: string[]): string;
30
+ static createMarkerString(numberingInfo: NumberingInfo, numberingId: number, splittedMarker: string[], markerType: NumberingMarkerType): string;
30
31
  static getMarkerOffset(paragraphSettings: Paragraph): {
31
32
  offset: number;
32
33
  markerWidth: number;
33
34
  };
34
35
  static getOffsetCausedByMarker(numberingData: NumberingDataModel, info: TextLineInfo): number;
36
+ private static markerTypeToMarker;
37
+ private static getLevelInfo;
38
+ private static numberToLetters;
39
+ private static numberToRoman;
35
40
  }
@@ -3,6 +3,7 @@ import { Type } from '@angular/core';
3
3
  import { BaseNoderComponent } from '../components/shared/abstract/base.component';
4
4
  import { Borders } from '../components/shared/enums/borders.enum';
5
5
  import { BreakTypes } from '../gadgets/page-break/break-types.enum';
6
+ import { CommentTypeModel } from '../gadgets/comment/comment-popup/comment-type.model';
6
7
  import { EdgeType } from '../components/edges/edge-type.enum';
7
8
  import { ElementDataModel } from '../components/external-element/models/element-data.model';
8
9
  import { ElementModel } from '../../models/generated/element.model';
@@ -17,6 +18,7 @@ import { NumberingModel } from '../../models/generated/numbering.model';
17
18
  import { OperationsHistoryInfoModel } from '../../editor/gadgets/history/operations-history-info.model';
18
19
  import { PageFormatModel } from '../../models/generated/page-format.model';
19
20
  import { PageType } from '../components/edges/page-type.enum';
21
+ import { ParagraphStyleExtModel } from '../../models/generated/paragraph-style-ext.model';
20
22
  import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
21
23
  import { ResizeTableColumnsModel } from '../../models/generated/resize-table-columns.model';
22
24
  import { TabSettingModel } from '../../models/generated/tab-setting.model';
@@ -78,7 +80,7 @@ export declare class EditorService {
78
80
  private readonly _searchResultCount$;
79
81
  get setTextStyles$(): Observable<TextStyleModel>;
80
82
  private readonly _setTextStyles$;
81
- get setParagraphStyles$(): Observable<ParagraphStyleModel>;
83
+ get setParagraphStyles$(): Observable<ParagraphStyleExtModel>;
82
84
  private readonly _setParagraphStyles$;
83
85
  get setNumberingTemplateType$(): Observable<NumberingLevelModel[]>;
84
86
  private readonly _setNumberingTemplateType$;
@@ -124,7 +126,7 @@ export declare class EditorService {
124
126
  private readonly _imageLoaded$;
125
127
  get changedEdge$(): Observable<number>;
126
128
  private readonly _changedEdge$;
127
- get addCommentAtSelection$(): Observable<void>;
129
+ get addCommentAtSelection$(): Observable<CommentTypeModel>;
128
130
  private readonly _addCommentAtSelection$;
129
131
  get insertTableRows$(): Observable<{
130
132
  insertIndex: number;
@@ -179,6 +181,12 @@ export declare class EditorService {
179
181
  private readonly _updateTableBorderWidth$;
180
182
  get updateTableBorders$(): Observable<Borders>;
181
183
  private readonly _updateTableBorders$;
184
+ get selectSpacing$(): Observable<number>;
185
+ private readonly _selectSpacing$;
186
+ get selectBefore$(): Observable<number>;
187
+ private readonly _selectBefore$;
188
+ get selectAfter$(): Observable<number>;
189
+ private readonly _selectAfter$;
182
190
  get isTableSelected(): boolean;
183
191
  get isTableSelected$(): Observable<boolean>;
184
192
  private readonly _isTableSelected$;
@@ -248,7 +256,10 @@ export declare class EditorService {
248
256
  private readonly _paragraphStyle$;
249
257
  get commentSizeChanged$(): Observable<void>;
250
258
  private readonly _commentSizeChanged$;
251
- get createComment$(): Observable<number>;
259
+ get createComment$(): Observable<{
260
+ reqId: number;
261
+ commentType: CommentTypeModel;
262
+ }>;
252
263
  private readonly _createComment$;
253
264
  get commentCreated$(): Observable<{
254
265
  commentId: number;
@@ -261,6 +272,16 @@ export declare class EditorService {
261
272
  private readonly _setCommentSelected$;
262
273
  get setCommentsVisibility$(): Observable<boolean>;
263
274
  private readonly _setCommentsVisibility$;
275
+ get getCommentText$(): Observable<{
276
+ commentId: number;
277
+ continueWith: (commentedText: string) => void;
278
+ }>;
279
+ private readonly _getCommentText$;
280
+ get replaceCommentText$(): Observable<{
281
+ commentId: number;
282
+ newContent: string;
283
+ }>;
284
+ private readonly _replaceCommentText$;
264
285
  tabSettings(value: TabSettingModel[]): void;
265
286
  applyFirstLinePosition(value: number): void;
266
287
  applyLeftIndentParagraph(value: number): void;
@@ -279,7 +300,7 @@ export declare class EditorService {
279
300
  setHasSelection(value: boolean): void;
280
301
  setClipboardData(value: string): void;
281
302
  setTextStyles(value: TextStyleModel): void;
282
- setParagraphStyles(value: ParagraphStyleModel): void;
303
+ setParagraphStyles(value: ParagraphStyleExtModel): void;
283
304
  setNumberingTemplateType(value: NumberingLevelModel[]): void;
284
305
  removeNumberings(): void;
285
306
  changeImageStyle(value: ImageModel): void;
@@ -312,6 +333,9 @@ export declare class EditorService {
312
333
  updateTableBorderStyle(style: LineStyles): void;
313
334
  updateTableBorderWidth(width: number): void;
314
335
  updateTableBorders(borders: Borders): void;
336
+ selectSpacing(value: number): void;
337
+ selectBefore(value: number): void;
338
+ selectAfter(value: number): void;
315
339
  setIsTableSelected(value: boolean): void;
316
340
  undo(): void;
317
341
  redo(): void;
@@ -341,13 +365,15 @@ export declare class EditorService {
341
365
  showGrammarError(error: GrammarError): void;
342
366
  applyGrammarSuggestion(error: GrammarError, suggestionIndex: number, paragraphIndex: number): void;
343
367
  ignoreGrammarSuggestion(error: GrammarError): void;
344
- addCommentAtSelection(): void;
368
+ addCommentAtSelection(commentType: CommentTypeModel): void;
345
369
  commentSizeChanged(): void;
346
- createComment(reqId: number): void;
370
+ createComment(reqId: number, commentType: CommentTypeModel): void;
347
371
  commentCreated(commentId: number, reqId: number): void;
348
372
  removeComment(id: number): void;
349
373
  setCommentSelected(id: number): void;
350
374
  setCommentsVisibility(value: boolean): void;
375
+ getCommentText(commentId: number, continueWith: (commentedText: string) => void): void;
376
+ replaceCommentText(commentId: number, content: string): void;
351
377
  static ɵfac: i0.ɵɵFactoryDeclaration<EditorService, never>;
352
378
  static ɵprov: i0.ɵɵInjectableDeclaration<EditorService>;
353
379
  }
@@ -1,4 +1,5 @@
1
1
  import { ParagraphModel } from '../../../models/generated/paragraph.model';
2
+ import { ParagraphStyleExtModel } from '../../../models/generated/paragraph-style-ext.model';
2
3
  import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
3
4
  export declare class ParagraphOperationsHelper {
4
5
  static insertContent(paragraphs: ParagraphModel[], text: string, textIndex: number): void;
@@ -8,7 +9,7 @@ export declare class ParagraphOperationsHelper {
8
9
  static restoreNumberingParagraphs(paragraphs: ParagraphModel[], paragraphsToRestore: ParagraphModel[]): number[];
9
10
  static applySingle(paragraphs: ParagraphModel[], index: number, style: ParagraphStyleModel): void;
10
11
  static applyNumbering(paragraphs: ParagraphModel[], startIndex: number, endIndex: number, numberingId?: number): number[];
11
- static apply(paragraphs: ParagraphModel[], startIndex: number, endIndex: number, style: ParagraphStyleModel): void;
12
+ static apply(paragraphs: ParagraphModel[], startIndex: number, endIndex: number, style: ParagraphStyleExtModel): void;
12
13
  static applyParagraphs(paragraphs: ParagraphModel[], updatedParagraphs: ParagraphModel[]): void;
13
- static applyParagraphStyles(target: ParagraphStyleModel, value: ParagraphStyleModel): void;
14
+ static applyParagraphStyles(target: ParagraphStyleModel, value: ParagraphStyleExtModel): void;
14
15
  }
@@ -16,7 +16,7 @@ import { NumberingModel } from '../../models/generated/numbering.model';
16
16
  import { PageFormatModel } from '../../models/generated/page-format.model';
17
17
  import { PageType } from '../components/edges/page-type.enum';
18
18
  import { ParagraphModel } from '../../models/generated/paragraph.model';
19
- import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
19
+ import { ParagraphStyleExtModel } from '../../models/generated/paragraph-style-ext.model';
20
20
  import { ReplaceModel } from '../../models/generated/replace.model';
21
21
  import { ResizeTableColumnsModel } from '../../models/generated/resize-table-columns.model';
22
22
  import { RestoreModel } from '../../models/generated/restore.model';
@@ -34,8 +34,8 @@ export declare class OperationsHelper {
34
34
  static insertLink(document: ContentType, text: string, link: string, index: number): void;
35
35
  static addNumbering(target: ContentType, numberings: NumberingModel[], startIndex: number, endIndex: number, levels: NumberingLevelModel[], numberingId?: number | null): void;
36
36
  static removeNumberings(target: ContentType, numberings: NumberingModel[], startIndex: number, endIndex: number): void;
37
- static removeWithParagraph(target: ContentType, numberings: NumberingModel[], startIndex: number, count: number, paragraphStyle: ParagraphStyleModel): void;
38
- static restoreWithParagraph(target: ContentType, numberings: NumberingModel[], restore: RestoreModel, paragraphStyle: ParagraphStyleModel): void;
37
+ static removeWithParagraph(target: ContentType, numberings: NumberingModel[], startIndex: number, count: number, paragraphStyle: ParagraphStyleExtModel): void;
38
+ static restoreWithParagraph(target: ContentType, numberings: NumberingModel[], restore: RestoreModel, paragraphStyle: ParagraphStyleExtModel): void;
39
39
  static restoreNumberings(target: ContentType, numberings: NumberingModel[], paragraphsToRestore: ParagraphModel[], numberingsToRestore: NumberingModel[]): void;
40
40
  static insertImage(document: ContentType, index: number, imageData: ImageDataModel): void;
41
41
  static insertTable(document: ContentType, tableModel: InsertTableModel, contentWidth: number): string;
@@ -50,7 +50,7 @@ export declare class OperationsHelper {
50
50
  static applyTextStyle(document: ContentType, startIndex: number, endIndex: number, style: TextStyleModel): void;
51
51
  static restoreTextStyles(document: ContentType, textFormats: FormatModel[], linkFormats: FormatModel[]): void;
52
52
  static restoreParagraphStyles(document: ContentType, paragraphs: ParagraphModel[]): void;
53
- static applyParagraphStyle(document: ContentType, startIndex: number, endIndex: number, style: ParagraphStyleModel): void;
53
+ static applyParagraphStyle(document: ContentType, startIndex: number, endIndex: number, style: ParagraphStyleExtModel): void;
54
54
  static applyParagraphs(document: ContentType, paragraphs: ParagraphModel[]): void;
55
55
  static applyImageStyle(document: ContentType, image: ApplyImageStyleModel): void;
56
56
  static insertTableRows(document: ContentType, insertIndex: number, rowsCount: number, targetIndex: number, inheritIndex: number): void;
@@ -15,7 +15,7 @@ import { InsertTabModel } from '../../models/generated/insert-tab.model';
15
15
  import { MoveRangeModel } from '../../models/generated/move-range.model';
16
16
  import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
17
17
  import { ParagraphModel } from '../../models/generated/paragraph.model';
18
- import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
18
+ import { ParagraphStyleExtModel } from '../../models/generated/paragraph-style-ext.model';
19
19
  import { RemoveCommentModel } from '../../models/generated/remove-comment.model';
20
20
  import { RemoveEdgesModel } from '../../models/generated/remove-edges.model';
21
21
  import { RemoveInsertedPageFormatModel } from '../../models/generated/remove-inserted-page-format.model';
@@ -34,7 +34,7 @@ export declare class SaveCommandsHelper {
34
34
  static getRemoveNumberingsCommand(startIndex: number, endIndex: number, targets: TargetModel[]): CommandModel;
35
35
  static getRestoreNumberingsCommand(restoreNumberings: RestoreNumberingsModel, targets: TargetModel[]): CommandModel;
36
36
  static getApplyImageStyleCommand(height: number, width: number, insertIndex: number, targets: TargetModel[]): CommandModel;
37
- static getApplyParagraphStyleCommand(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleModel, targets: TargetModel[]): CommandModel;
37
+ static getApplyParagraphStyleCommand(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleExtModel, targets: TargetModel[]): CommandModel;
38
38
  static getApplyTextStyleCommand(startIndex: number, endIndex: number, textStyle: TextStyleModel, targets: TargetModel[]): CommandModel;
39
39
  static getDeleteCommand(startIndex: number, count: number, targets: TargetModel[]): CommandModel;
40
40
  static getInsertTextCommand(text: string, insertIndex: number, targets: TargetModel[]): CommandModel;