@talrace/ngx-noder 19.0.45 → 19.0.47

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 (43) 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 +9117 -8793
  5. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  6. package/lib/editor/components/external-element/external.component.d.ts +1 -0
  7. package/lib/editor/components/shared/enums/after-close-overlay-actions.enum.d.ts +3 -0
  8. package/lib/editor/components/table/cell-resizer/cell-resizer.d.ts +8 -2
  9. package/lib/editor/components/table/components/table.component.d.ts +1 -0
  10. package/lib/editor/content/display-data/display-data.d.ts +5 -4
  11. package/lib/editor/content/display-data/line-info.model.d.ts +1 -0
  12. package/lib/editor/content/display-data/paragraph.d.ts +1 -1
  13. package/lib/editor/content/display-data/text-line-info.d.ts +1 -1
  14. package/lib/editor/content/helpers/display-token.helper.d.ts +1 -0
  15. package/lib/editor/content/helpers/line-info.helper.d.ts +1 -1
  16. package/lib/editor/content/helpers/link.helper.d.ts +1 -1
  17. package/lib/editor/content/helpers/paragraph-numbering.helper.d.ts +5 -0
  18. package/lib/editor/display/layers/grammar-highlight.layer.d.ts +1 -0
  19. package/lib/editor/display/renderer.d.ts +4 -3
  20. package/lib/editor/display/virtual.renderer.d.ts +3 -2
  21. package/lib/editor/execution/edit.session.d.ts +1 -0
  22. package/lib/editor/execution/editor.d.ts +10 -1
  23. package/lib/editor/execution/regulator.service.d.ts +2 -0
  24. package/lib/editor/gadgets/editor-menu/context-menu.component.d.ts +23 -0
  25. package/lib/editor/gadgets/history/operation-history.d.ts +1 -0
  26. package/lib/editor/gadgets/history/operation.type.d.ts +2 -1
  27. package/lib/editor/gadgets/numbering/numbering-data.model.d.ts +1 -0
  28. package/lib/editor/gadgets/numbering/numbering.helper.d.ts +1 -1
  29. package/lib/editor/gadgets/set-numbering-value/set-numbering-value.component.d.ts +17 -0
  30. package/lib/editor/interaction/document.handler.d.ts +1 -0
  31. package/lib/editor/interaction/editor.service.d.ts +12 -0
  32. package/lib/editor/operations/enums/command-type.enum.d.ts +2 -2
  33. package/lib/editor/operations/helpers/paragraph-operations.helper.d.ts +1 -0
  34. package/lib/editor/operations/operations-helper.helper.d.ts +1 -1
  35. package/lib/editor/operations/save-commands.helper.d.ts +1 -0
  36. package/lib/models/generated/apply-new-numbering-for-paragraphs.model.d.ts +6 -0
  37. package/lib/models/generated/command.model.d.ts +2 -2
  38. package/package.json +1 -1
  39. package/src/_ngx-noder.theme.scss +8 -0
  40. package/src/assets/fonts/nc-iconfont.scss +21 -0
  41. package/src/lib/editor/gadgets/editor-menu/_theme.scss +12 -0
  42. package/src/lib/editor/gadgets/set-numbering-value/_theme.scss +8 -0
  43. package/lib/models/generated/replace-by-text.model.d.ts +0 -6
@@ -9,6 +9,7 @@ export declare abstract class ExternalComponent extends BaseNoderComponent {
9
9
  protected focusSidenav: boolean;
10
10
  isText: boolean;
11
11
  getText(): string;
12
+ getAdditionalClasses(): string[];
12
13
  protected skipSidenav(): boolean;
13
14
  focus(): void;
14
15
  blur(): void;
@@ -0,0 +1,3 @@
1
+ export declare enum AfterCloseOverlayActions {
2
+ OpenSetNumberingValue = 0
3
+ }
@@ -16,13 +16,19 @@ export declare class CellResizer {
16
16
  startX: number;
17
17
  startY: number;
18
18
  splitRowIndex: number;
19
- maxExpansionSpace: number;
19
+ maxExpansionSpace: {
20
+ left: number;
21
+ right: number;
22
+ };
20
23
  documentMouseMove$: Subscription;
21
24
  documentMouseUp$: Subscription;
22
25
  readonly resizerBorderSize = 1;
23
26
  readonly minCellWidth = 15;
24
27
  constructor(table: TableModel, tableEl: HTMLTableElement, editorService: EditorService, resizerEl: HTMLDivElement);
25
- onStartResizing(cellResizerParameters: CellResizerParametersModel, maxExpansionSpace?: number): void;
28
+ onStartResizing(cellResizerParameters: CellResizerParametersModel, maxExpansionSpace: {
29
+ left: number;
30
+ right: number;
31
+ }): void;
26
32
  startResizingFromLeft(): void;
27
33
  startResizingFromRight(): void;
28
34
  addHorizontalMouseSubscriptions(): void;
@@ -27,6 +27,7 @@ export declare class NoderTableComponent extends BaseNoderComponent {
27
27
  splits: number[];
28
28
  readonly minRowHeight = 19;
29
29
  readonly borderSize = 1;
30
+ private readonly RESIZE_MIN_OFFSET;
30
31
  constructor(componentService: ComponentService, el: ElementRef, overlayService: OverlayService, regulatorService: RegulatorService);
31
32
  ngOnDestroy(): void;
32
33
  initialize(): void;
@@ -32,8 +32,8 @@ export declare class DisplayData extends EventEmitting {
32
32
  pagesFormat: PageFormat[];
33
33
  allPagesHeight: number;
34
34
  get maxPageWidth(): number;
35
- private readonly ParagraphInfoChanges;
36
- get ParagraphInfoChanges$(): import("rxjs").Observable<ParagraphInfoAdded | ParagraphInfoContentChanged | ParagraphInfoContentInserted | ParagraphInfosRemoved>;
35
+ private readonly paragraphInfoChanges;
36
+ get paragraphInfoChanges$(): import("rxjs").Observable<ParagraphInfoAdded | ParagraphInfoContentChanged | ParagraphInfoContentInserted | ParagraphInfosRemoved>;
37
37
  private lastParagraphId;
38
38
  constructor(model: ContentType, generalProperties: GeneralPropertiesModel, sessionId: number, pageFormatModels: PageFormatModel[], pagesSpace: number, customComponents: ICustomComponents, customContentService: CustomContentService, editorService: EditorService);
39
39
  updateDataForModel(): void;
@@ -64,11 +64,12 @@ export declare class DisplayData extends EventEmitting {
64
64
  updateParagraphStartIndex(first: number): void;
65
65
  updateParagraphSettingsNumberingData(index: number): void;
66
66
  updateNextLineIndexes(firstParagraph: number, lastParagraph: number): void;
67
- isSameNumberingId(paragraphIndex: number, numberingId: number): boolean;
67
+ findFirstNumberingParagraph(paragraphIndex: number, numberingId: number): number;
68
68
  private updateNumberingsDataOnChange;
69
69
  private splitParagraphByLines;
70
70
  getParagraphLineTokens(paragraphIndex: number, paragraphLine: number): DisplayToken[];
71
- getTokens(contentIndex: number, content: string, paragraphSymbolIndex: number): DisplayToken[];
71
+ getTokens(contentIndex: number, content: string, paragraphSymbolIndex: number, withNumbering: boolean): DisplayToken[];
72
+ getParagraphToken(paragraphIndex: number): DisplayToken;
72
73
  private getOrGenerateComponent;
73
74
  private getPageFormatParagraphs;
74
75
  getPageFormatByPageNumber(pageNumber: number): PageFormat;
@@ -6,6 +6,7 @@ export declare class LineInfoModel {
6
6
  ascent: number;
7
7
  align: number;
8
8
  indent: IndentModel;
9
+ tableIndentLeft: number;
9
10
  offsetBefore: number;
10
11
  offsetAfter: number;
11
12
  lineSpacing: number;
@@ -1,5 +1,5 @@
1
1
  import { ComponentRef } from '@angular/core';
2
- import { LineInfoModel } from './line-info.model';
2
+ import { LineInfoModel } from '../../../editor/content/display-data/line-info.model';
3
3
  import { NoderTableComponent } from '../../components/table/components/table.component';
4
4
  import { NumberingDataModel } from '../../gadgets/numbering/numbering-data.model';
5
5
  import { PageVerticalDataModel } from '../page-vertical-data.model';
@@ -2,7 +2,7 @@ import { IndentModel } from './indent.model';
2
2
  import { LineInfoModel } from './line-info.model';
3
3
  export declare class TextLineInfo extends LineInfoModel {
4
4
  page?: number;
5
- paddingLeft: number;
5
+ marginLeft: number;
6
6
  offsetMargin: number;
7
7
  firstLinePageOffset: number;
8
8
  endPageOffset: number;
@@ -8,6 +8,7 @@ export declare class DisplayTokenHelper {
8
8
  static getBreakToken(symbol: string, fontString: string, breakType: BreakTypes, index: number): DisplayToken;
9
9
  static getSymbolToken(symbol: string, fontString: string, index: number): DisplayToken;
10
10
  static getComponentTokens(component: ComponentRef<BaseNoderComponent>, fontString: string, index: number): DisplayToken[];
11
+ static getTableTokens(component: ComponentRef<BaseNoderComponent>, fontString: string, index: number, withNumbering: boolean): DisplayToken[];
11
12
  private static getBreakDisplayValue;
12
13
  private static getSymbolDisplayValue;
13
14
  private static getComponentDisplayValue;
@@ -5,7 +5,7 @@ import { IndentModel } from '../display-data/indent.model';
5
5
  import { LineInfoModel } from '../display-data/line-info.model';
6
6
  import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
7
7
  export declare class LineInfoHelper {
8
- static get(tokens: DisplayToken[], style: ParagraphStyleModel, indent: IndentModel, width: number, paragraphStartIndex: number, position: {
8
+ static get(tokens: DisplayToken[], paragraphToken: DisplayToken, style: ParagraphStyleModel, indent: IndentModel, width: number, paragraphStartIndex: number, position: {
9
9
  isAfterPageBreak: boolean;
10
10
  isLastLine: boolean;
11
11
  isNumbering: boolean;
@@ -1,4 +1,4 @@
1
- import { FormatModel } from './../../../models/generated/format.model';
1
+ import { FormatModel } from '../../../models/generated/format.model';
2
2
  import { LinkModel } from '../../../models/generated/link.model';
3
3
  export declare class LinkHelper {
4
4
  static sliceSection(links: LinkModel[], start: number, end: number): LinkModel[];
@@ -0,0 +1,5 @@
1
+ import { ParagraphModel } from '../../../models/generated/paragraph.model';
2
+ export declare class ParagraphNumberingHelper {
3
+ static getNextParagraphsWithNumbering(paragraphs: ParagraphModel[], paragraphIndex: number, numberingId: number): ParagraphModel[];
4
+ static getPrevNumberingId(paragraphs: ParagraphModel[], paragraphIndex: number): number | null;
5
+ }
@@ -9,4 +9,5 @@ export declare class GrammarHighlightLayer extends HighlightLayer {
9
9
  update(config: ILayerConfig): void;
10
10
  setErrors(paragraphId: number, errors: GrammarError[]): void;
11
11
  removeParagraphHighlights(paragraphId: number): void;
12
+ clearHighlights(): void;
12
13
  }
@@ -32,8 +32,8 @@ export declare class Renderer extends EventEmitting {
32
32
  layerConfig: ILayerConfig;
33
33
  isVisible: boolean;
34
34
  changes: RenderChangesModel;
35
- readonly ParagraphsAppeared: Subject<ParagraphInfoModel[]>;
36
- get ParagraphsAppeared$(): import("rxjs").Observable<ParagraphInfoModel[]>;
35
+ readonly paragraphsAppeared: Subject<ParagraphInfoModel[]>;
36
+ get paragraphsAppeared$(): import("rxjs").Observable<ParagraphInfoModel[]>;
37
37
  private visibilitySubject;
38
38
  private visibilitySubscription;
39
39
  readonly textareaSize: {
@@ -53,6 +53,8 @@ export declare class Renderer extends EventEmitting {
53
53
  updateActiveSearchHighlight(active: Range | CustomElementInfo): void;
54
54
  updateGrammarHighlights(paragraphId: number, errors: GrammarError[]): void;
55
55
  removeGrammarHighlights(paragraphId: number): void;
56
+ clearGrammarHighlights(): void;
57
+ paragraphsScrolledIntoView(): void;
56
58
  updateDragAndDropSelection(range: Range | null): void;
57
59
  clearDragAndDropSelection(): void;
58
60
  setVisibility(isVisible: boolean): void;
@@ -81,5 +83,4 @@ export declare class Renderer extends EventEmitting {
81
83
  private computeLayerConfig;
82
84
  private pagesCountChangedHandler;
83
85
  private createContentContainer;
84
- private paragraphsScrolledIntoView;
85
86
  }
@@ -40,7 +40,7 @@ export declare class VirtualRenderer {
40
40
  private scrollSubscription;
41
41
  private paragraphsScrolledIntoViewSubject;
42
42
  private paragraphsScrolledIntoViewSubscription;
43
- get ParagraphsAppeared$(): import("rxjs").Observable<import("../content/display-data/models/paragraph-info.model").ParagraphInfoModel[]>;
43
+ get paragraphsAppeared$(): import("rxjs").Observable<import("../content/display-data/models/paragraph-info.model").ParagraphInfoModel[]>;
44
44
  constructor(parentContainer: HTMLElement, mainSession: EditSession, commentService: CommentRenderService, scrollBar: ScrollBar);
45
45
  renderChanges(changes: RenderChangesModel, force?: boolean): void;
46
46
  /**
@@ -81,6 +81,8 @@ export declare class VirtualRenderer {
81
81
  showCursor(): void;
82
82
  hideCursor(): void;
83
83
  showStaticCursor(): void;
84
+ clearGrammarHighlights(): void;
85
+ paragraphsScrolledIntoView(): void;
84
86
  destroy(): void;
85
87
  private computeLayerConfig;
86
88
  private createScroller;
@@ -94,5 +96,4 @@ export declare class VirtualRenderer {
94
96
  private renderGrammarHighlights;
95
97
  private renderDragAndDropSelection;
96
98
  private renderComments;
97
- private paragraphsScrolledIntoView;
98
99
  }
@@ -93,6 +93,7 @@ export declare class EditSession {
93
93
  applyParagraphStyle(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleExtModel): void;
94
94
  rerender(insertIndex: number): void;
95
95
  addNumbering(levels: NumberingLevelModel[], startIndex: number, endIndex: number, numberingId: number | null): void;
96
+ applyNewNumberingForParagraphs(levels: NumberingLevelModel[], insertIndexes: number[]): void;
96
97
  applyNumbering(levels: NumberingLevelModel[], numberingId: number): void;
97
98
  removeNumberings(startIndex: number, endIndex: number): void;
98
99
  restoreNumberings(paragraphs: ParagraphModel[], numberings: NumberingModel[]): void;
@@ -32,6 +32,7 @@ import { LinkModel } from '../../models/generated/link.model';
32
32
  import { MouseHandler } from '../interaction/mouse.handler';
33
33
  import { MoveRangeModel } from '../../models/generated/move-range.model';
34
34
  import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
35
+ import { NumberingModel } from '../../models/generated/numbering.model';
35
36
  import { Operation } from '../gadgets/history/operation.type';
36
37
  import { OperationHistory } from '../gadgets/history/operation-history';
37
38
  import { OverlayService } from '../components/shared/services/overlay.service';
@@ -131,6 +132,8 @@ export declare class Editor {
131
132
  applyParagraphStyles(paragraphStyle: ParagraphStyleExtModel): void;
132
133
  applyParagraphsMargin(value: Partial<ParagraphStyleModel>): void;
133
134
  setNumberingTemplate(newLevels: NumberingLevelModel[], updateOnlySelectedLevels: boolean): void;
135
+ startNewList(startValue: number): void;
136
+ continueNumbering(): void;
134
137
  private getUniformNumberingLevels;
135
138
  removeNumberingsFromParagraphs(): void;
136
139
  applyImageStyles(image: ImageModel): void;
@@ -161,6 +164,7 @@ export declare class Editor {
161
164
  saveApplyParagraphsToHistory(oldParagraphs: ParagraphModel[], updatedParagraphs: ParagraphModel[]): void;
162
165
  saveApplyParagraphStyleToHistory(startIndex: number, endIndex: number, paragraphStyle: ParagraphStyleExtModel): void;
163
166
  saveAddNumberingToHistory(templateLevels: NumberingLevelModel[], startIndex: number, endIndex: number): void;
167
+ saveApplyNewNumberingForParagraphsToHistory(templateLevels: NumberingLevelModel[], oldParagraphs: ParagraphModel[], oldNumbering: NumberingModel, insertIndexes: number[]): void;
164
168
  saveApplyNumberingListsToHistory(newNumberingLevels: NumberingLevelModel[], oldNumberingLevels: NumberingLevelModel[], numberingId: number): void;
165
169
  saveRemoveNumberingToHistory(startIndex: number, endIndex: number): void;
166
170
  private saveApplyImageStyleToHistory;
@@ -192,6 +196,7 @@ export declare class Editor {
192
196
  onBlur(): void;
193
197
  onFocus(): void;
194
198
  onMouseClick(event: MouseEvent): void;
199
+ private openContextMenu;
195
200
  onLeftClick(event: MouseEvent): void;
196
201
  onSelectionLeftClick(event: MouseEvent): void;
197
202
  onShortLeftClick(event: MouseEvent, isSelectionClick?: boolean): void;
@@ -249,6 +254,7 @@ export declare class Editor {
249
254
  replaceSubscription(): Subscription[];
250
255
  grammarReplaceSubscription(): Subscription;
251
256
  ignoreGrammarErrorSubscription(): Subscription;
257
+ toggleGrammarChecksSubscription(): Subscription;
252
258
  setTextStylesSubscription(): Subscription;
253
259
  setParagraphStylesSubscription(): Subscription;
254
260
  setNumberingTemplateTypeSubscription(): Subscription;
@@ -304,10 +310,13 @@ export declare class Editor {
304
310
  private commentCreationSubscriptions;
305
311
  private rerenderCommentsSubscription;
306
312
  private selectCommentSubscription;
307
- private removeCommentSubscriptions;
313
+ private removeCommentSubscription;
308
314
  private setComentsVisibilitySubscription;
309
315
  private getCommentTextSubscription;
310
316
  private replaceCommentTextSubscription;
317
+ private startNewListSubscription;
318
+ private continueNumberingSubscription;
319
+ private setNumberingValueSubscription;
311
320
  private recreateMainSession;
312
321
  private changeColumnsWidth;
313
322
  private changeCellsWidth;
@@ -28,6 +28,7 @@ export declare class RegulatorService {
28
28
  currentSession: SessionModel;
29
29
  selection: Selection;
30
30
  sessionIdIncrement: number;
31
+ grammarEnabled: boolean;
31
32
  readonly grammarChecker: GrammarChecker;
32
33
  constructor(customContentService: CustomContentService, editorService: EditorService, componentService: ComponentService, grammarService: GrammarService, commentRenderService: CommentRenderService);
33
34
  addMainSession(model: DocxModel, scalingRatio: number, container: ElementRef<HTMLElement>): void;
@@ -56,6 +57,7 @@ export declare class RegulatorService {
56
57
  isWithinEdge(sessionId: number): boolean;
57
58
  arrangeEdgeChange(sessionId: number): void;
58
59
  forceUpdateDataForEdges(): void;
60
+ toggleGrammarChecks(value: boolean): void;
59
61
  private getEdgeSessionId;
60
62
  private arrangeEdgesForSessionChange;
61
63
  private getPageFormats;
@@ -0,0 +1,23 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { EditorService } from '../../interaction/editor.service';
3
+ import { OverlayService } from '../../components/shared/services/overlay.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare const CONTEXT_MENU_HEIGHT = 210;
6
+ export declare const CONTEXT_MENU_WIDTH = 320;
7
+ export declare class ContextMenuComponent implements OnDestroy {
8
+ private readonly editorService;
9
+ private readonly overlayService;
10
+ hasNumbering: boolean;
11
+ hasSelection: boolean;
12
+ disableContinueNumber: boolean;
13
+ constructor(editorService: EditorService, overlayService: OverlayService);
14
+ ngOnDestroy(): void;
15
+ onCopy(): void;
16
+ onPaste(): void;
17
+ onCut(): void;
18
+ onStartNewList(): void;
19
+ onContinueNumbering(): void;
20
+ onSetNumberingValue(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenuComponent, "app-nod-context-menu", never, { "hasNumbering": { "alias": "hasNumbering"; "required": false; }; "hasSelection": { "alias": "hasSelection"; "required": false; }; "disableContinueNumber": { "alias": "disableContinueNumber"; "required": false; }; }, {}, never, never, true, never>;
23
+ }
@@ -61,6 +61,7 @@ export declare class OperationHistory {
61
61
  pushResizeTableColumns(resizeTableColumns: ResizeTableColumnsModel): void;
62
62
  pushApplyImageStyle(previous: ImageModel, current: ImageModel): void;
63
63
  pushAddNumbering(startIndex: number, endIndex: number, levels: NumberingLevelModel[], paragraphs: ParagraphModel[], numberings: NumberingModel[]): void;
64
+ pushApplyNewNumberingForParagraphs(oldParagraphs: ParagraphModel[], levels: NumberingLevelModel[], oldNumbering: NumberingModel, insertIndexes: number[]): void;
64
65
  pushApplyNumbering(numberingId: number, newLevels: NumberingLevelModel[], oldLevels: NumberingLevelModel[]): void;
65
66
  pushRemoveNumberings(startIndex: number, endIndex: number, numberings: NumberingModel[], paragraphs: ParagraphModel[]): void;
66
67
  pushMoveRange(restore: MoveRangeModel, replace: MoveRangeModel, selection: Range): void;
@@ -1,6 +1,7 @@
1
1
  import { AddNumberingModel } from '../../../models/generated/add-numbering.model';
2
2
  import { ApplyDocumentPageFormatModel } from '../../../models/generated/apply-document-page-format.model';
3
3
  import { ApplyImageStyleModel } from '../../../models/generated/apply-image-style.model';
4
+ import { ApplyNewNumberingForParagraphsModel } from '../../../models/generated/apply-new-numbering-for-paragraphs.model';
4
5
  import { ApplyNumberingLevelsModel } from '../../../models/generated/apply-numbering-levels.model';
5
6
  import { ApplyPageFormatModel } from '../../../models/generated/apply-page-format.model';
6
7
  import { ApplyParagraphsModel } from '../../../models/generated/apply-paragraphs.model';
@@ -36,4 +37,4 @@ import { RestorePageFormatsModel } from '../../../models/generated/restore-page-
36
37
  import { RestoreParagraphStylesModel } from '../../../models/generated/restore-paragraph-styles.model';
37
38
  import { RestoreTextStylesModel } from '../../../models/generated/restore-text-styles.model';
38
39
  import { RestoreWithParagraphModel } from '../../../models/generated/restore-with-paragraph.model';
39
- export type Operation = InsertTextModel | DeleteModel | InsertStyledTextModel | RestoreModel | ApplyTextStyleModel | RestoreTextStylesModel | RestoreParagraphStylesModel | InsertElementModel | InsertBreakModel | ApplyImageStyleModel | AddNumberingModel | RestoreNumberingsModel | InsertTabModel | InsertTableColumnsModel | InsertTableRowsModel | RemoveTableColumnsModel | RemoveTableRowsModel | ResizeTableColumnsModel | InsertTableModel | InsertImageModel | RemoveNumberingsModel | ReplaceModel | MoveRangeModel | CreateEdgesModel | RemoveEdgesModel | RemoveWithParagraphModel | RestoreWithParagraphModel | ApplyDocumentPageFormatModel | InsertPageFormatModel | ApplyPageFormatModel | RemoveInsertedPageFormatModel | RestorePageFormatsModel | ApplyParagraphsModel | ReplaceByRestoreModel | ApplyTableCellsStylesModel | AttachCommentModel | RemoveCommentModel | ApplyNumberingLevelsModel;
40
+ export type Operation = InsertTextModel | DeleteModel | InsertStyledTextModel | RestoreModel | ApplyTextStyleModel | RestoreTextStylesModel | RestoreParagraphStylesModel | InsertElementModel | InsertBreakModel | ApplyImageStyleModel | AddNumberingModel | RestoreNumberingsModel | InsertTabModel | InsertTableColumnsModel | InsertTableRowsModel | RemoveTableColumnsModel | RemoveTableRowsModel | ResizeTableColumnsModel | InsertTableModel | InsertImageModel | RemoveNumberingsModel | ReplaceModel | MoveRangeModel | CreateEdgesModel | RemoveEdgesModel | RemoveWithParagraphModel | RestoreWithParagraphModel | ApplyDocumentPageFormatModel | InsertPageFormatModel | ApplyPageFormatModel | RemoveInsertedPageFormatModel | RestorePageFormatsModel | ApplyParagraphsModel | ReplaceByRestoreModel | ApplyTableCellsStylesModel | AttachCommentModel | RemoveCommentModel | ApplyNumberingLevelsModel | ApplyNewNumberingForParagraphsModel;
@@ -2,6 +2,7 @@ import { TextStyleModel } from '../../../models/generated/text-style.model';
2
2
  export declare class NumberingDataModel {
3
3
  numberingId: number;
4
4
  level: number;
5
+ markerValue: number;
5
6
  marker: string;
6
7
  markerTextStyle: TextStyleModel;
7
8
  height: number;
@@ -13,7 +13,7 @@ export declare class NumberingHelper {
13
13
  static romanMap: Map<number, string>;
14
14
  static addValueToNumberingInfo(numberingId: number, numberingInfo: NumberingInfo, numberingLevels: NumberingLevelModel[]): void;
15
15
  static setNumberingNeedToRecalculate(numberingInfo: NumberingInfo, numberingId: number): void;
16
- static setAllNumberingIsCalculated(numberingInfo: NumberingInfo): void;
16
+ static setAllNumberingIsCalculated(numberingInfo: NumberingInfo, numberingIds: Set<number>): void;
17
17
  static getStyles(paragraphStyle: ParagraphStyleModel, numberings: NumberingModel[]): NumberingParagraphStyleModel;
18
18
  static findNumberingLevel(numberings: NumberingModel[], id: number, level: number): NumberingLevelModel;
19
19
  static findNumberingLevels(numberings: NumberingModel[], id: number): NumberingLevelModel[];
@@ -0,0 +1,17 @@
1
+ import { FormControl } from '@angular/forms';
2
+ import { EditorService } from '../../interaction/editor.service';
3
+ import { OverlayService } from '../../components/shared/services/overlay.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare const SET_NUMBERING_VALUE_HEIGHT = 175;
6
+ export declare const SET_NUMBERING_VALUE_WIDTH = 280;
7
+ export declare class SetNumberingValueComponent {
8
+ private readonly editorService;
9
+ private readonly overlayService;
10
+ markerValue: FormControl<number>;
11
+ constructor(editorService: EditorService, overlayService: OverlayService);
12
+ ngOnDestroy(): void;
13
+ onClose(): void;
14
+ onSetNumberingValue(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<SetNumberingValueComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<SetNumberingValueComponent, "app-set-numbering-value", never, {}, {}, never, never, true, never>;
17
+ }
@@ -3,6 +3,7 @@ import { BaseHandler } from './base.handler';
3
3
  import { Editor } from '../execution/editor';
4
4
  export declare class DocumentHandler extends BaseHandler {
5
5
  readonly documentKeyDown$: Subscription;
6
+ readonly contextMenu$: Subscription;
6
7
  constructor(editor: Editor);
7
8
  destroy(): void;
8
9
  private onKeyDown;
@@ -59,6 +59,8 @@ export declare class EditorService {
59
59
  private readonly _applyGrammarSuggestion$;
60
60
  get ignoreGrammarError$(): Observable<GrammarError>;
61
61
  private readonly _ignoreGrammarError$;
62
+ get toggleGrammarChecks$(): Observable<boolean>;
63
+ private readonly _toggleGrammarChecks$;
62
64
  get displaySearchBar$(): Observable<boolean>;
63
65
  private readonly _displaySearchBar$;
64
66
  get searchTerm$(): Observable<string>;
@@ -282,6 +284,15 @@ export declare class EditorService {
282
284
  newContent: string;
283
285
  }>;
284
286
  private readonly _replaceCommentText$;
287
+ get startNewList$(): Observable<void>;
288
+ private readonly _startNewList$;
289
+ get continueNumbering$(): Observable<void>;
290
+ private readonly _continueNumbering$;
291
+ get setNumberingValue$(): Observable<number>;
292
+ private readonly _setNumberingValue$;
293
+ startNewList(): void;
294
+ continueNumbering(): void;
295
+ setNumberingValue(value: number): void;
285
296
  tabSettings(value: TabSettingModel[]): void;
286
297
  applyFirstLinePosition(value: number): void;
287
298
  applyLeftIndentParagraph(value: number): void;
@@ -365,6 +376,7 @@ export declare class EditorService {
365
376
  showGrammarError(error: GrammarError): void;
366
377
  applyGrammarSuggestion(error: GrammarError, suggestionIndex: number, paragraphIndex: number): void;
367
378
  ignoreGrammarSuggestion(error: GrammarError): void;
379
+ toggleGrammarChecks(value: boolean): void;
368
380
  addCommentAtSelection(commentType: CommentTypeModel): void;
369
381
  commentSizeChanged(): void;
370
382
  createComment(reqId: number, commentType: CommentTypeModel): void;
@@ -2,7 +2,6 @@ export declare enum CommandType {
2
2
  Delete = 0,
3
3
  InsertText = 1,
4
4
  InsertStyledText = 2,
5
- ReplaceByText = 3,
6
5
  Restore = 4,
7
6
  RestoreTextStyles = 5,
8
7
  RestoreParagraphStyles = 6,
@@ -39,5 +38,6 @@ export declare enum CommandType {
39
38
  ApplyTableCellsStyles = 37,
40
39
  AttachComment = 38,
41
40
  RemoveComment = 39,
42
- ApplyNumberingLevels = 40
41
+ ApplyNumberingLevels = 40,
42
+ ApplyNewNumberingForParagraphs = 41
43
43
  }
@@ -9,6 +9,7 @@ export declare class ParagraphOperationsHelper {
9
9
  static restoreNumberingParagraphs(paragraphs: ParagraphModel[], paragraphsToRestore: ParagraphModel[]): number[];
10
10
  static applySingle(paragraphs: ParagraphModel[], index: number, style: ParagraphStyleModel): void;
11
11
  static applyNumbering(paragraphs: ParagraphModel[], startIndex: number, endIndex: number, numberingId?: number): number[];
12
+ static applyNumberingForParagraphs(paragraphs: ParagraphModel[], insertIndexes: number[], numberingId: number): void;
12
13
  static apply(paragraphs: ParagraphModel[], startIndex: number, endIndex: number, style: ParagraphStyleExtModel): void;
13
14
  static applyParagraphs(paragraphs: ParagraphModel[], updatedParagraphs: ParagraphModel[]): void;
14
15
  static applyParagraphStyles(target: ParagraphStyleModel, value: ParagraphStyleExtModel): void;
@@ -33,6 +33,7 @@ export declare class OperationsHelper {
33
33
  static insertTab(document: ContentType, index: number): void;
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
+ static applyNewNumberingForParagraphs(target: ContentType, numberings: NumberingModel[], levels: NumberingLevelModel[], insertIndexes: number[]): void;
36
37
  static applyNumbering(numberings: NumberingModel[], levels: NumberingLevelModel[], numberingId: number): void;
37
38
  static removeNumberings(target: ContentType, numberings: NumberingModel[], startIndex: number, endIndex: number): void;
38
39
  static removeWithParagraph(target: ContentType, numberings: NumberingModel[], startIndex: number, count: number, paragraphStyle: ParagraphStyleExtModel): void;
@@ -44,7 +45,6 @@ export declare class OperationsHelper {
44
45
  static insertStyledText(document: ContentType, text: string, index: number, style: TextStyleModel): void;
45
46
  static restore(document: ContentType, model: RestoreModel): void;
46
47
  static delete(document: ContentType, startIndex: number, count: number): void;
47
- static replaceByText(document: ContentType, startIndex: number, endIndex: number, text: string): void;
48
48
  static addComment(document: ContentType, comment: CommentModel): void;
49
49
  static removeComment(document: ContentType, commentId: number): CommentModel;
50
50
  static replace(document: DocxModel, contents: ContentType, model: ReplaceModel): void;
@@ -31,6 +31,7 @@ import { TargetModel } from '../../models/generated/target.model';
31
31
  import { TextStyleModel } from '../../models/generated/text-style.model';
32
32
  export declare class SaveCommandsHelper {
33
33
  static getAddNumberingCommand(startIndex: number, endIndex: number, levels: NumberingLevelModel[], targets: TargetModel[]): CommandModel;
34
+ static getApplyNewNumberingForParagraphsCommand(insertIndexes: number[], levels: NumberingLevelModel[], targets: TargetModel[]): CommandModel;
34
35
  static getApplyNumberingCommand(numberingId: number, levels: NumberingLevelModel[], targets: TargetModel[]): CommandModel;
35
36
  static getRemoveNumberingsCommand(startIndex: number, endIndex: number, targets: TargetModel[]): CommandModel;
36
37
  static getRestoreNumberingsCommand(restoreNumberings: RestoreNumberingsModel, targets: TargetModel[]): CommandModel;
@@ -0,0 +1,6 @@
1
+ import { NumberingLevelModel } from './numbering-level.model';
2
+ export declare class ApplyNewNumberingForParagraphsModel {
3
+ insertIndexes: number[];
4
+ levels: NumberingLevelModel[];
5
+ constructor(fields?: Partial<ApplyNewNumberingForParagraphsModel>);
6
+ }
@@ -1,6 +1,7 @@
1
1
  import { AddNumberingModel } from './add-numbering.model';
2
2
  import { ApplyDocumentPageFormatModel } from './apply-document-page-format.model';
3
3
  import { ApplyImageStyleModel } from './apply-image-style.model';
4
+ import { ApplyNewNumberingForParagraphsModel } from './apply-new-numbering-for-paragraphs.model';
4
5
  import { ApplyNumberingLevelsModel } from './apply-numbering-levels.model';
5
6
  import { ApplyPageFormatModel } from './apply-page-format.model';
6
7
  import { ApplyParagraphsModel } from './apply-paragraphs.model';
@@ -30,7 +31,6 @@ import { RemoveTableColumnsModel } from './remove-table-columns.model';
30
31
  import { RemoveTableRowsModel } from './remove-table-rows.model';
31
32
  import { RemoveWithParagraphModel } from './remove-with-paragraph.model';
32
33
  import { ReplaceByRestoreModel } from './replace-by-restore.model';
33
- import { ReplaceByTextModel } from './replace-by-text.model';
34
34
  import { ReplaceModel } from './replace.model';
35
35
  import { ResizeTableColumnsModel } from './resize-table-columns.model';
36
36
  import { RestoreModel } from './restore.model';
@@ -44,6 +44,7 @@ export declare class CommandModel {
44
44
  addNumbering: AddNumberingModel;
45
45
  applyDocumentPageFormat: ApplyDocumentPageFormatModel;
46
46
  applyImageStyle: ApplyImageStyleModel;
47
+ applyNewNumberingForParagraphs: ApplyNewNumberingForParagraphsModel;
47
48
  applyNumberingLevels: ApplyNumberingLevelsModel;
48
49
  applyPageFormat: ApplyPageFormatModel;
49
50
  applyParagraphs: ApplyParagraphsModel;
@@ -77,7 +78,6 @@ export declare class CommandModel {
77
78
  removeWithParagraph: RemoveWithParagraphModel;
78
79
  replace: ReplaceModel;
79
80
  replaceByRestore: ReplaceByRestoreModel;
80
- replaceByText: ReplaceByTextModel;
81
81
  resizeTableColumns: ResizeTableColumnsModel;
82
82
  restore: RestoreModel;
83
83
  restoreNumberings: RestoreNumberingsModel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talrace/ngx-noder",
3
- "version": "19.0.45",
3
+ "version": "19.0.47",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^19.0.5",
@@ -10,7 +10,9 @@
10
10
  @use 'lib/apart-components/insert-table/insert-table.theme' as *;
11
11
  @use 'lib/apart-components/text-format-mobile/text-format-mobile.theme' as *;
12
12
  @use 'lib/editor/gadgets/comment/comment-popup/theme' as *;
13
+ @use 'lib/editor/gadgets/editor-menu/theme' as *;
13
14
  @use 'lib/editor/gadgets/grammar/grammar-popup/theme' as *;
15
+ @use 'lib/editor/gadgets/set-numbering-value/theme' as *;
14
16
  @use 'lib/editor/theme' as *;
15
17
 
16
18
  @mixin ngx-noder-theme($theme) {
@@ -22,6 +24,7 @@
22
24
  @include ngx-noder-insert-table-theme($theme);
23
25
  @include ngx-noder-editor-theme($theme);
24
26
  @include ngx-noder-grammar-theme($theme);
27
+ @include ngx-noder-context-menu-theme($theme);
25
28
  }
26
29
 
27
30
  @mixin ngx-noder-editor-theme($theme) {
@@ -42,6 +45,11 @@
42
45
  @include confirm-dialog-theme($theme);
43
46
  }
44
47
 
48
+ @mixin ngx-noder-context-menu-theme($theme) {
49
+ @include context-menu-theme($theme);
50
+ @include set-numbering-value-theme($theme);
51
+ }
52
+
45
53
  @mixin ngx-noder-grammar-theme($theme) {
46
54
  @include grammar-popup-theme($theme);
47
55
  }
@@ -33,6 +33,27 @@
33
33
  &.icon-grammar:before {
34
34
  content: '\e94f';
35
35
  }
36
+ &.icon-copy:before {
37
+ content: '\e94b';
38
+ }
39
+ &.icon-cut:before {
40
+ content: '\e94c';
41
+ }
42
+ &.icon-formating:before {
43
+ content: '\e94d';
44
+ }
45
+ &.icon-paste:before {
46
+ content: '\e94e';
47
+ }
48
+ &.icon-continue-numbering:before {
49
+ content: '\e948';
50
+ }
51
+ &.icon-restart-numbering:before {
52
+ content: '\e949';
53
+ }
54
+ &.icon-starting-value:before {
55
+ content: '\e94a';
56
+ }
36
57
  &.icon-dictionary:before {
37
58
  content: '\e942';
38
59
  }
@@ -0,0 +1,12 @@
1
+ @use '@angular/material' as mat;
2
+ @use 'sass:map';
3
+
4
+ @mixin context-menu-theme($theme) {
5
+ app-nod-context-menu {
6
+ background: map.get($theme, background-palette, dialog);
7
+
8
+ .separator {
9
+ background-color: map.get($theme, foreground-palette, noder-separator);
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ @use '@angular/material' as mat;
2
+ @use 'sass:map';
3
+
4
+ @mixin set-numbering-value-theme($theme) {
5
+ app-set-numbering-value {
6
+ background: map.get($theme, background-palette, dialog);
7
+ }
8
+ }
@@ -1,6 +0,0 @@
1
- export declare class ReplaceByTextModel {
2
- endIndex: number;
3
- startIndex: number;
4
- text: string;
5
- constructor(fields?: Partial<ReplaceByTextModel>);
6
- }