@talrace/ngx-noder 0.0.44 → 0.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n/noder.en.json +8 -1
- package/assets/i18n/noder.es.json +8 -1
- package/assets/i18n/noder.ru.json +8 -1
- package/fesm2022/talrace-ngx-noder.mjs +942 -291
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/editor-ruler/editor-ruler.component.d.ts +9 -2
- package/lib/apart-components/editor-toolbar/shared/enums/tab-alignment.enum.d.ts +7 -0
- package/lib/apart-components/tab-settings-dialog/tab-settings-dialog.component.d.ts +33 -0
- package/lib/editor/components/editor.component.d.ts +4 -1
- package/lib/editor/components/external-element/external.component.d.ts +2 -0
- package/lib/editor/components/shared/abstract/base.component.d.ts +2 -2
- package/lib/editor/components/tab/tab.component.d.ts +1 -3
- package/lib/editor/components/tab/tab.helper.d.ts +2 -1
- package/lib/editor/content/display-data/display-data.d.ts +8 -1
- package/lib/editor/content/display-data/models/paragraph-info-added.model.d.ts +5 -0
- package/lib/editor/content/display-data/models/paragraph-info-content-changed.model.d.ts +7 -0
- package/lib/editor/content/display-data/models/paragraph-info-content-inserted.model.d.ts +7 -0
- package/lib/editor/content/display-data/models/paragraph-info.model.d.ts +1 -0
- package/lib/editor/content/display-data/models/paragraphs-infos-removed.model.d.ts +4 -0
- package/lib/editor/display/layers/grammar-highlight.layer.d.ts +12 -0
- package/lib/editor/display/render-changes.interface.d.ts +1 -0
- package/lib/editor/display/render-changes.model.d.ts +1 -0
- package/lib/editor/display/renderer.d.ts +6 -0
- package/lib/editor/display/virtual.renderer.d.ts +4 -0
- package/lib/editor/execution/edit.session.d.ts +1 -0
- package/lib/editor/execution/editor.d.ts +10 -1
- package/lib/editor/execution/regulator.service.d.ts +5 -1
- package/lib/editor/gadgets/grammar/grammar-checker.d.ts +21 -0
- package/lib/editor/gadgets/grammar/grammar-popup/grammar-popup.component.d.ts +16 -0
- package/lib/editor/gadgets/grammar/grammar.const.d.ts +1 -0
- package/lib/editor/gadgets/grammar/grammar.service.d.ts +25 -0
- package/lib/editor/interaction/editor.service.d.ts +21 -2
- package/lib/models/generated/form-interfaces/tab-setting-form.interface.d.ts +5 -0
- package/lib/models/generated/grammar-error.d.ts +9 -0
- package/lib/models/generated/paragraph-style.model.d.ts +2 -0
- package/lib/models/generated/tab-setting.model.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/src/_ngx-noder.theme.scss +7 -1
- package/src/lib/editor/gadgets/grammar/grammar-popup/_theme.scss +26 -0
- package/src/scss/base-editor.scss +6 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
2
3
|
import { EditorService } from '../../editor/interaction/editor.service';
|
|
4
|
+
import { TabSettingModel } from '../../models/generated/tab-setting.model';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
export type RulerUnit = 'cm' | 'inch';
|
|
5
|
-
type DragTarget = 'leftIndent' | 'first' | 'rightIndent' | 'leftMarginPageFormat' | 'rightMarginPageFormat';
|
|
7
|
+
type DragTarget = 'leftIndent' | 'first' | 'rightIndent' | 'leftMarginPageFormat' | 'rightMarginPageFormat' | 'tabs';
|
|
6
8
|
interface Tick {
|
|
7
9
|
position: number;
|
|
8
10
|
originalPaddings: number;
|
|
@@ -14,6 +16,7 @@ export declare class EditorRulerComponent {
|
|
|
14
16
|
rulerContainer: ElementRef<HTMLDivElement>;
|
|
15
17
|
unit: import("@angular/core").InputSignal<RulerUnit>;
|
|
16
18
|
readonly editorService: EditorService;
|
|
19
|
+
readonly dialog: MatDialog;
|
|
17
20
|
readonly defaultPaddingCm = 2.5;
|
|
18
21
|
readonly pageWidth$: import("rxjs").Observable<number>;
|
|
19
22
|
private readonly snapInch;
|
|
@@ -30,6 +33,8 @@ export declare class EditorRulerComponent {
|
|
|
30
33
|
readonly rightMarginPageFormatPx: import("@angular/core").WritableSignal<number>;
|
|
31
34
|
readonly guideX: import("@angular/core").WritableSignal<number>;
|
|
32
35
|
readonly showGuide: import("@angular/core").WritableSignal<boolean>;
|
|
36
|
+
readonly tabSettings: import("@angular/core").WritableSignal<TabSettingModel[]>;
|
|
37
|
+
draggableTabIndex: number;
|
|
33
38
|
containerWidthPx: number;
|
|
34
39
|
ticks: Tick[];
|
|
35
40
|
private dragging;
|
|
@@ -37,6 +42,7 @@ export declare class EditorRulerComponent {
|
|
|
37
42
|
constructor();
|
|
38
43
|
afterViewInit(): void;
|
|
39
44
|
onResize(): void;
|
|
45
|
+
onOpenDialog(): void;
|
|
40
46
|
private recalcGeometry;
|
|
41
47
|
private cmToPx;
|
|
42
48
|
private pxToCm;
|
|
@@ -45,7 +51,8 @@ export declare class EditorRulerComponent {
|
|
|
45
51
|
private snapPx;
|
|
46
52
|
private buildTicksCm;
|
|
47
53
|
private buildTicksInch;
|
|
48
|
-
|
|
54
|
+
addTab(event: MouseEvent | TouchEvent): void;
|
|
55
|
+
startDrag(event: MouseEvent | TouchEvent, target: DragTarget, tabIndex?: number): void;
|
|
49
56
|
private readonly onMove;
|
|
50
57
|
private readonly onUp;
|
|
51
58
|
private getClientX;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
|
|
2
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { RulerUnit } from '../editor-ruler/editor-ruler.component';
|
|
4
|
+
import { TabAlignment } from '../editor-toolbar/shared/enums/tab-alignment.enum';
|
|
5
|
+
import { TabSettingFormInterface } from '../../models/generated/form-interfaces/tab-setting-form.interface';
|
|
6
|
+
import { TabSettingModel } from '../../models/generated/tab-setting.model';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export interface TabDialogData {
|
|
9
|
+
tabs: TabSettingModel[];
|
|
10
|
+
unit: RulerUnit;
|
|
11
|
+
}
|
|
12
|
+
interface TabAlignmentExt {
|
|
13
|
+
title: string;
|
|
14
|
+
type: TabAlignment;
|
|
15
|
+
}
|
|
16
|
+
export declare class TabSettingsDialogComponent {
|
|
17
|
+
data: TabDialogData;
|
|
18
|
+
private ref;
|
|
19
|
+
private fb;
|
|
20
|
+
modal: boolean;
|
|
21
|
+
readonly alignments: TabAlignmentExt[];
|
|
22
|
+
form: FormGroup;
|
|
23
|
+
constructor(data: TabDialogData, ref: MatDialogRef<TabSettingsDialogComponent>, fb: FormBuilder);
|
|
24
|
+
tabsArray(): FormArray<FormGroup<TabSettingFormInterface>>;
|
|
25
|
+
onRemove(index: number): void;
|
|
26
|
+
onClose(): void;
|
|
27
|
+
onSave(): void;
|
|
28
|
+
onAddTab(): void;
|
|
29
|
+
private createTabGroup;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabSettingsDialogComponent, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabSettingsDialogComponent, "app-nod-tab-settings-dialog", never, {}, {}, never, never, true, never>;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -9,6 +9,7 @@ import { Editor } from '../execution/editor';
|
|
|
9
9
|
import { EditorSearchBarComponent } from '../../apart-components/editor-search-bar/editor-search-bar.component';
|
|
10
10
|
import { EditorService } from '../interaction/editor.service';
|
|
11
11
|
import { ExternalSidenavModel } from './external-element/models/external-sidenav.model';
|
|
12
|
+
import { OverlayService } from './shared/services/overlay.service';
|
|
12
13
|
import { RegulatorService } from '../execution/regulator.service';
|
|
13
14
|
import { RulerUnit } from '../../apart-components/editor-ruler/editor-ruler.component';
|
|
14
15
|
import * as i0 from "@angular/core";
|
|
@@ -16,6 +17,7 @@ export declare class EditorComponent implements OnDestroy {
|
|
|
16
17
|
private cdr;
|
|
17
18
|
private componentService;
|
|
18
19
|
private editorService;
|
|
20
|
+
private overlayService;
|
|
19
21
|
private injector;
|
|
20
22
|
private regulatorService;
|
|
21
23
|
private commandsService;
|
|
@@ -38,11 +40,12 @@ export declare class EditorComponent implements OnDestroy {
|
|
|
38
40
|
sidenavProperties: ExternalSidenavModel;
|
|
39
41
|
readonly subscriptions: Subscription[];
|
|
40
42
|
private sidenavComponentRef;
|
|
41
|
-
constructor(cdr: ChangeDetectorRef, componentService: ComponentService, editorService: EditorService, injector: Injector, regulatorService: RegulatorService, commandsService: CommandsService, clipboard: Clipboard);
|
|
43
|
+
constructor(cdr: ChangeDetectorRef, componentService: ComponentService, editorService: EditorService, overlayService: OverlayService, injector: Injector, regulatorService: RegulatorService, commandsService: CommandsService, clipboard: Clipboard);
|
|
42
44
|
ngOnDestroy(): void;
|
|
43
45
|
initEditor(content: DocxModel): void;
|
|
44
46
|
toggleSidenavSubscription(): Subscription;
|
|
45
47
|
searchBarSubscription(): Subscription;
|
|
48
|
+
displayGrammarErrorPopupSubscription(): Subscription;
|
|
46
49
|
removeSidenavComponent(): void;
|
|
47
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<EditorComponent, never>;
|
|
48
51
|
static ɵcmp: i0.ɵɵComponentDeclaration<EditorComponent, "app-nod-editor", never, { "isMobile": { "alias": "isMobile"; "required": false; }; "externalElementTagNames": { "alias": "externalElementTagNames"; "required": false; }; "customPageWidth": { "alias": "customPageWidth"; "required": false; }; "content": { "alias": "content"; "required": false; }; "rulerUnit": { "alias": "rulerUnit"; "required": true; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
@@ -6,6 +6,8 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
export declare abstract class ExternalComponent extends BaseNoderComponent {
|
|
7
7
|
content: ElementModel;
|
|
8
8
|
protected abstract sidenavComponent: Type<ExternalSidenavInterface>;
|
|
9
|
+
protected focusSidenav: boolean;
|
|
10
|
+
protected skipSidenav(): boolean;
|
|
9
11
|
focus(): void;
|
|
10
12
|
blur(): void;
|
|
11
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExternalComponent, never>;
|
|
@@ -14,8 +14,8 @@ export declare abstract class BaseNoderComponent extends DestroyComponent {
|
|
|
14
14
|
set insertIndex(val: number);
|
|
15
15
|
contentWidth: number;
|
|
16
16
|
generalProperties: GeneralPropertiesModel;
|
|
17
|
-
height: number
|
|
18
|
-
width: number
|
|
17
|
+
height: import("@angular/core").WritableSignal<number>;
|
|
18
|
+
width: import("@angular/core").WritableSignal<number>;
|
|
19
19
|
protected _isFocused: boolean;
|
|
20
20
|
get isFocused(): boolean;
|
|
21
21
|
protected readonly cdr: ChangeDetectorRef;
|
|
@@ -2,12 +2,10 @@ import { BaseNoderComponent } from '../shared/abstract/base.component';
|
|
|
2
2
|
import { TabModel } from '../../../models/generated/tab.model';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class NoderTabComponent extends BaseNoderComponent {
|
|
5
|
-
width: number;
|
|
6
|
-
height: number;
|
|
7
5
|
get tab(): TabModel;
|
|
8
6
|
set tab(val: TabModel);
|
|
9
7
|
initialize(): void;
|
|
10
|
-
|
|
8
|
+
applySize(width: number, font: number): void;
|
|
11
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<NoderTabComponent, never>;
|
|
12
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<NoderTabComponent, "app-nod-tab", never, {}, {}, never, never, false, never>;
|
|
13
11
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TabSettingModel } from '../../../models/generated/tab-setting.model';
|
|
1
2
|
export declare class TabHelper {
|
|
2
|
-
static calculateTabWidth(rowWidth: number, defaultTabWidth: number): number;
|
|
3
|
+
static calculateTabWidth(rowWidth: number, defaultTabWidth: number, tabSettings: TabSettingModel[] | null): number;
|
|
3
4
|
}
|
|
@@ -14,7 +14,11 @@ import { NumberingDataModel } from '../../gadgets/numbering/numbering-data.model
|
|
|
14
14
|
import { PageFormat } from './page-format';
|
|
15
15
|
import { PageFormatModel } from '../../../models/generated/page-format.model';
|
|
16
16
|
import { Paragraph } from './paragraph';
|
|
17
|
+
import { ParagraphInfoAdded } from './models/paragraph-info-added.model';
|
|
18
|
+
import { ParagraphInfoContentChanged } from './models/paragraph-info-content-changed.model';
|
|
19
|
+
import { ParagraphInfoContentInserted } from './models/paragraph-info-content-inserted.model';
|
|
17
20
|
import { ParagraphInfoModel } from './models/paragraph-info.model';
|
|
21
|
+
import { ParagraphInfosRemoved } from './models/paragraphs-infos-removed.model';
|
|
18
22
|
import { Range } from '../../positioning/range';
|
|
19
23
|
import { VisibleRange } from '../../display/visible-range.interface';
|
|
20
24
|
export declare class DisplayData extends EventEmitting {
|
|
@@ -31,9 +35,12 @@ export declare class DisplayData extends EventEmitting {
|
|
|
31
35
|
allPagesHeight: number;
|
|
32
36
|
tabTokens: DisplayToken[];
|
|
33
37
|
get maxPageWidth(): number;
|
|
38
|
+
private readonly ParagraphInfoChanges;
|
|
39
|
+
get ParagraphInfoChanges$(): import("rxjs").Observable<ParagraphInfoAdded | ParagraphInfoContentChanged | ParagraphInfoContentInserted | ParagraphInfosRemoved>;
|
|
40
|
+
private lastParagraphId;
|
|
34
41
|
constructor(model: ContentType, generalProperties: GeneralPropertiesModel, sessionId: number, pageFormatModels: PageFormatModel[], pagesSpace: number, customComponents: ICustomComponents, customContentService: CustomContentService, editorService: EditorService);
|
|
35
42
|
updateDataForModel(): void;
|
|
36
|
-
|
|
43
|
+
emitAllParagraphs(): void;
|
|
37
44
|
insertText(position: CursorParagraph, text: string): CursorParagraph;
|
|
38
45
|
removeRange(range: Range): void;
|
|
39
46
|
getParagraphContent(index: number): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EditSession } from '../../execution/edit.session';
|
|
2
|
+
import { GrammarError } from '../../../models/generated/grammar-error';
|
|
3
|
+
import { HighlightLayer } from './highlight.layer';
|
|
4
|
+
import { ILayerConfig } from './layer.config';
|
|
5
|
+
export declare class GrammarHighlightLayer extends HighlightLayer {
|
|
6
|
+
private readonly className;
|
|
7
|
+
private readonly errorsByParagraph;
|
|
8
|
+
constructor(parentEl: HTMLElement, cssClass: string, session: EditSession);
|
|
9
|
+
update(config: ILayerConfig): void;
|
|
10
|
+
setErrors(paragraphId: number, errors: GrammarError[]): void;
|
|
11
|
+
removeParagraphHighlights(paragraphId: number): void;
|
|
12
|
+
}
|
|
@@ -3,6 +3,8 @@ import { CursorParagraph } from '../positioning/cursor-paragraph';
|
|
|
3
3
|
import { CustomElementInfo } from './custom-element-info.model';
|
|
4
4
|
import { EditSession } from '../execution/edit.session';
|
|
5
5
|
import { EventEmitting } from '../core/event-emitting';
|
|
6
|
+
import { GrammarError } from '../../models/generated/grammar-error';
|
|
7
|
+
import { GrammarHighlightLayer } from './layers/grammar-highlight.layer';
|
|
6
8
|
import { ILayerConfig } from './layers/layer.config';
|
|
7
9
|
import { Range } from '../positioning/range';
|
|
8
10
|
import { RenderChangesModel } from './render-changes.model';
|
|
@@ -19,6 +21,7 @@ export declare class Renderer extends EventEmitting {
|
|
|
19
21
|
selectionLayer: SelectionLayer;
|
|
20
22
|
dragAndDropSelectionLayer: SelectionLayer;
|
|
21
23
|
searchHighlightLayer: SearchHighlightLayer;
|
|
24
|
+
grammarHighlightLayer: GrammarHighlightLayer;
|
|
22
25
|
loop: RenderLoop;
|
|
23
26
|
textarea: HTMLElement;
|
|
24
27
|
layerConfig: ILayerConfig;
|
|
@@ -39,6 +42,8 @@ export declare class Renderer extends EventEmitting {
|
|
|
39
42
|
updateSearchHighlights(ranges: Range[]): void;
|
|
40
43
|
updateCustomElementHighlights(ranges: CustomElementInfo[]): void;
|
|
41
44
|
updateActiveSearchHighlight(active: Range | CustomElementInfo): void;
|
|
45
|
+
updateGrammarHighlights(paragraphId: number, errors: GrammarError[]): void;
|
|
46
|
+
removeGrammarHighlights(paragraphId: number): void;
|
|
42
47
|
updateDragAndDropSelection(range: Range | null): void;
|
|
43
48
|
clearDragAndDropSelection(): void;
|
|
44
49
|
setVisibility(isVisible: boolean): void;
|
|
@@ -66,6 +71,7 @@ export declare class Renderer extends EventEmitting {
|
|
|
66
71
|
renderCursor(): void;
|
|
67
72
|
renderSelection(): void;
|
|
68
73
|
renderSearchHighlights(): void;
|
|
74
|
+
renderGrammarHighlights(): void;
|
|
69
75
|
renderDragAndDropSelection(): void;
|
|
70
76
|
private computeLayerConfig;
|
|
71
77
|
private pagesCountChangedHandler;
|
|
@@ -3,6 +3,7 @@ import { CursorParagraph } from '../positioning/cursor-paragraph';
|
|
|
3
3
|
import { CustomElementInfo } from './custom-element-info.model';
|
|
4
4
|
import { EdgesLayer } from './layers/edges.layer';
|
|
5
5
|
import { EditSession } from '../execution/edit.session';
|
|
6
|
+
import { GrammarError } from '../../models/generated/grammar-error';
|
|
6
7
|
import { ILayerConfig } from './layers/layer.config';
|
|
7
8
|
import { PagesLayer } from './layers/pages.layer';
|
|
8
9
|
import { Range } from '../positioning/range';
|
|
@@ -50,6 +51,8 @@ export declare class VirtualRenderer {
|
|
|
50
51
|
updateSearchHighlights(ranges: Range[]): void;
|
|
51
52
|
updateCustomElementHighlights(ranges: CustomElementInfo[]): void;
|
|
52
53
|
updateActiveSearchHighlight(active: Range | CustomElementInfo): void;
|
|
54
|
+
updateGrammarHighlights(paragraphIndex: number, errors: GrammarError[]): void;
|
|
55
|
+
removeGrammarHighlights(paragraphIndex: number): void;
|
|
53
56
|
updateDragAndDropSelection(range: Range): void;
|
|
54
57
|
clearDragAndDropSelection(): void;
|
|
55
58
|
/**
|
|
@@ -81,5 +84,6 @@ export declare class VirtualRenderer {
|
|
|
81
84
|
private renderCursor;
|
|
82
85
|
private renderSelection;
|
|
83
86
|
private renderSearchHighlights;
|
|
87
|
+
private renderGrammarHighlights;
|
|
84
88
|
private renderDragAndDropSelection;
|
|
85
89
|
}
|
|
@@ -55,6 +55,7 @@ export declare class EditSession {
|
|
|
55
55
|
nonTokenRe: RegExp;
|
|
56
56
|
get scrollTop(): number;
|
|
57
57
|
get scrollBarHeight(): number;
|
|
58
|
+
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>;
|
|
58
59
|
constructor(displayData: DisplayData, sessionId: number, customContentService: CustomContentService, model: ContentType, selection: Selection, generalProperties: GeneralPropertiesModel, editorService: EditorService, customComponents: ICustomComponents, type: 'cell' | 'edge' | 'main' | 'cellWithinEdge', scrollBar?: ScrollBar, edgeType?: EdgeType);
|
|
59
60
|
destroy(): void;
|
|
60
61
|
getRowLength(row: number): number;
|
|
@@ -12,6 +12,8 @@ import { EdgeType } from '../components/edges/edge-type.enum';
|
|
|
12
12
|
import { EditorService } from '../interaction/editor.service';
|
|
13
13
|
import { EditSession } from './edit.session';
|
|
14
14
|
import { ElementDataModel } from '../components/external-element/models/element-data.model';
|
|
15
|
+
import { GrammarChecker } from '../gadgets/grammar/grammar-checker';
|
|
16
|
+
import { GrammarError } from '../../models/generated/grammar-error';
|
|
15
17
|
import { ImageDataModel } from '../../models/generated/image-data.model';
|
|
16
18
|
import { ImageModel } from '../../models/generated/image.model';
|
|
17
19
|
import { InputHandler } from '../interaction/input.handler';
|
|
@@ -28,6 +30,7 @@ import { MoveRangeModel } from '../../models/generated/move-range.model';
|
|
|
28
30
|
import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
|
|
29
31
|
import { Operation } from '../gadgets/history/operation.type';
|
|
30
32
|
import { OperationHistory } from '../gadgets/history/operation-history';
|
|
33
|
+
import { OverlayService } from '../components/shared/services/overlay.service';
|
|
31
34
|
import { PageFormatModel } from '../../models/generated/page-format.model';
|
|
32
35
|
import { PageType } from '../components/edges/page-type.enum';
|
|
33
36
|
import { ParagraphModel } from '../../models/generated/paragraph.model';
|
|
@@ -49,6 +52,7 @@ export declare class Editor {
|
|
|
49
52
|
private model;
|
|
50
53
|
private container;
|
|
51
54
|
private editorService;
|
|
55
|
+
private overlayService;
|
|
52
56
|
private regulatorService;
|
|
53
57
|
private commandsService;
|
|
54
58
|
private clipboard;
|
|
@@ -67,6 +71,7 @@ export declare class Editor {
|
|
|
67
71
|
get renderer(): Renderer | VirtualRenderer;
|
|
68
72
|
get isViewOnly(): boolean;
|
|
69
73
|
get targets(): TargetModel[];
|
|
74
|
+
get grammarChecker(): GrammarChecker;
|
|
70
75
|
selection: Selection;
|
|
71
76
|
mouseHandler: MouseHandler;
|
|
72
77
|
touchHandler: TouchHandler;
|
|
@@ -80,7 +85,7 @@ export declare class Editor {
|
|
|
80
85
|
private textInput;
|
|
81
86
|
private clipboardData;
|
|
82
87
|
private isRerenderSubscriptionOpen;
|
|
83
|
-
constructor(model: DocxModel, container: ElementRef<HTMLElement>, editorService: EditorService, regulatorService: RegulatorService, commandsService: CommandsService, clipboard: Clipboard, externalElementTagNames: string[], customPageWidth?: number);
|
|
88
|
+
constructor(model: DocxModel, container: ElementRef<HTMLElement>, editorService: EditorService, overlayService: OverlayService, regulatorService: RegulatorService, commandsService: CommandsService, clipboard: Clipboard, externalElementTagNames: string[], customPageWidth?: number);
|
|
84
89
|
destroy(): void;
|
|
85
90
|
selectPageDown(): void;
|
|
86
91
|
selectPageUp(): void;
|
|
@@ -205,6 +210,7 @@ export declare class Editor {
|
|
|
205
210
|
applyPageFormat(model: PageFormatModel): void;
|
|
206
211
|
insertPageFormat(model: PageFormatModel): void;
|
|
207
212
|
applyDocumentPageFormat(model: PageFormatModel): void;
|
|
213
|
+
applyGrammarSuggestion(error: GrammarError, paragraphIndex: number, suggestionIndex: number): void;
|
|
208
214
|
receiveTextStyleSubscription(): Subscription;
|
|
209
215
|
viewOnlyModeSubscription(): Subscription;
|
|
210
216
|
applyLeftMarginPageFormatSubscription(): Subscription;
|
|
@@ -214,6 +220,8 @@ export declare class Editor {
|
|
|
214
220
|
applyDocumentPageFormatSubscription(): Subscription;
|
|
215
221
|
searchOptionSubscriptions(): Subscription[];
|
|
216
222
|
replaceSubscription(): Subscription[];
|
|
223
|
+
grammarReplaceSubscription(): Subscription;
|
|
224
|
+
ignoreGrammarErrorSubscription(): Subscription;
|
|
217
225
|
setTextStylesSubscription(): Subscription;
|
|
218
226
|
setParagraphStylesSubscription(): Subscription;
|
|
219
227
|
setNumberingTemplateTypeSubscription(): Subscription;
|
|
@@ -221,6 +229,7 @@ export declare class Editor {
|
|
|
221
229
|
applyFirstLinePositionSubscription(): Subscription;
|
|
222
230
|
applyRightIndentParagraphSubscription(): Subscription;
|
|
223
231
|
applyLeftIndentParagraphSubscription(): Subscription;
|
|
232
|
+
applyTabSettingsSubscription(): Subscription;
|
|
224
233
|
setImageStyleSubscription(): Subscription;
|
|
225
234
|
rerenderSubscription(): Subscription;
|
|
226
235
|
createCustomComponentSubscription(): Subscription;
|
|
@@ -5,6 +5,8 @@ import { DocxModel } from '../../models/generated/docx.model';
|
|
|
5
5
|
import { EditorService } from '../interaction/editor.service';
|
|
6
6
|
import { EditSession } from './edit.session';
|
|
7
7
|
import { GeneralPropertiesModel } from '../content/display-data/general-properties.model';
|
|
8
|
+
import { GrammarChecker } from '../gadgets/grammar/grammar-checker';
|
|
9
|
+
import { GrammarService } from '../gadgets/grammar/grammar.service';
|
|
8
10
|
import { MarginModel } from '../content/margin.model';
|
|
9
11
|
import { NoderEdgeComponent } from '../components/edges/edge.component';
|
|
10
12
|
import { NoderTableCellComponent } from '../components/table/components/table-cell.component';
|
|
@@ -17,12 +19,14 @@ export declare class RegulatorService {
|
|
|
17
19
|
private customContentService;
|
|
18
20
|
private editorService;
|
|
19
21
|
private componentService;
|
|
22
|
+
private grammarService;
|
|
20
23
|
mainSession: SessionModel;
|
|
21
24
|
sessions: SessionModel[];
|
|
22
25
|
currentSession: SessionModel;
|
|
23
26
|
selection: Selection;
|
|
24
27
|
sessionIdIncrement: number;
|
|
25
|
-
|
|
28
|
+
readonly grammarChecker: GrammarChecker;
|
|
29
|
+
constructor(customContentService: CustomContentService, editorService: EditorService, componentService: ComponentService, grammarService: GrammarService);
|
|
26
30
|
addMainSession(model: DocxModel, scalingRatio: number, container: ElementRef<HTMLElement>): void;
|
|
27
31
|
addCellSession(table: TableModel, margins: MarginModel, component: NoderTableCellComponent, properties: GeneralPropertiesModel): SessionModel;
|
|
28
32
|
addEdgeSession(component: NoderEdgeComponent): SessionModel;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GrammarError } from '../../../models/generated/grammar-error';
|
|
2
|
+
import { GrammarService } from './grammar.service';
|
|
3
|
+
import { SessionModel } from '../../../editor/execution/targeting/session.model';
|
|
4
|
+
export declare class GrammarChecker {
|
|
5
|
+
private readonly grammarService;
|
|
6
|
+
private readonly ignoreKey;
|
|
7
|
+
private readonly paragraphSessionMap;
|
|
8
|
+
private readonly paragraphErrorMap;
|
|
9
|
+
private readonly sessionSubscriptions;
|
|
10
|
+
private readonly sessions;
|
|
11
|
+
private readonly ignoreList;
|
|
12
|
+
private readonly checkResultsSubscription;
|
|
13
|
+
constructor(grammarService: GrammarService);
|
|
14
|
+
registerSession(session: SessionModel): void;
|
|
15
|
+
unregisterSession(sessionId: number): void;
|
|
16
|
+
getError(sessionId: number, paragraphId: number, cursorIndex: number): GrammarError | null;
|
|
17
|
+
addErrorToIgnoreList(grammarError: GrammarError): void;
|
|
18
|
+
filterErrors(grammarErrors: GrammarError[]): GrammarError[];
|
|
19
|
+
destroy(): void;
|
|
20
|
+
private adjustHighlights;
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EditorService } from '../../../interaction/editor.service';
|
|
2
|
+
import { GrammarError } from '../../../../models/generated/grammar-error';
|
|
3
|
+
import { OverlayService } from '../../../components/shared/services/overlay.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GrammarPopupComponent {
|
|
6
|
+
private readonly editorService;
|
|
7
|
+
private readonly overlayService;
|
|
8
|
+
hostHeight: string;
|
|
9
|
+
error: GrammarError;
|
|
10
|
+
paragraphIndex: number;
|
|
11
|
+
constructor(editorService: EditorService, overlayService: OverlayService);
|
|
12
|
+
onSuggestionClick(index: number): void;
|
|
13
|
+
onIgnoreClick(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GrammarPopupComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GrammarPopupComponent, "app-nod-grammar-popup", never, { "error": { "alias": "error"; "required": false; }; "paragraphIndex": { "alias": "paragraphIndex"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const POPUP_HEIGHT = 150;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GrammarError } from '../../../models/generated/grammar-error';
|
|
2
|
+
import { ParagraphInfoModel } from '../../../editor/content/display-data/models/paragraph-info.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class GrammarService {
|
|
5
|
+
private readonly debounceTime;
|
|
6
|
+
private readonly paragraphSubjects;
|
|
7
|
+
private readonly debounceSubscriptions;
|
|
8
|
+
private readonly grammarCheckRequests;
|
|
9
|
+
get grammarCheckRequests$(): import("rxjs").Observable<{
|
|
10
|
+
id: string;
|
|
11
|
+
paragraph: string;
|
|
12
|
+
}>;
|
|
13
|
+
private readonly grammarCheckResults;
|
|
14
|
+
get grammarCheckResults$(): import("rxjs").Observable<{
|
|
15
|
+
paragraphId: string;
|
|
16
|
+
errors: GrammarError[];
|
|
17
|
+
}>;
|
|
18
|
+
updateParagraphContent(sessionId: number, paragraph: ParagraphInfoModel): void;
|
|
19
|
+
removeParagraph(sessionId: number, paragraphId: number): void;
|
|
20
|
+
publishGrammarCheckResults(paragraphId: string, errors: GrammarError[]): void;
|
|
21
|
+
destroy(): void;
|
|
22
|
+
private registerParagraph;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GrammarService, never>;
|
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<GrammarService>;
|
|
25
|
+
}
|
|
@@ -6,6 +6,7 @@ import { EdgeType } from '../components/edges/edge-type.enum';
|
|
|
6
6
|
import { ElementDataModel } from '../components/external-element/models/element-data.model';
|
|
7
7
|
import { ElementModel } from '../../models/generated/element.model';
|
|
8
8
|
import { ExternalSidenavInterface } from '../components/external-element/external-sidenav.interface';
|
|
9
|
+
import { GrammarError } from '../../models/generated/grammar-error';
|
|
9
10
|
import { ImageDataModel } from '../../models/generated/image-data.model';
|
|
10
11
|
import { ImageModel } from '../../models/generated/image.model';
|
|
11
12
|
import { IToolbarStyles } from '../content/display-data/toolbar-styles.interface';
|
|
@@ -15,6 +16,7 @@ import { PageFormatModel } from '../../models/generated/page-format.model';
|
|
|
15
16
|
import { PageType } from '../components/edges/page-type.enum';
|
|
16
17
|
import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
|
|
17
18
|
import { ResizeTableColumnsModel } from '../../models/generated/resize-table-columns.model';
|
|
19
|
+
import { TabSettingModel } from '../../models/generated/tab-setting.model';
|
|
18
20
|
import { TextStyleModel } from '../../models/generated/text-style.model';
|
|
19
21
|
import * as i0 from "@angular/core";
|
|
20
22
|
export declare class EditorService {
|
|
@@ -38,9 +40,20 @@ export declare class EditorService {
|
|
|
38
40
|
get toggleSidenav$(): Observable<{
|
|
39
41
|
open: boolean;
|
|
40
42
|
component: Type<any>;
|
|
43
|
+
focus: boolean;
|
|
41
44
|
data?: object;
|
|
42
45
|
}>;
|
|
43
46
|
private readonly _toggleSidenav$;
|
|
47
|
+
get displayGrammarError$(): Observable<GrammarError>;
|
|
48
|
+
private readonly _displayGrammarError$;
|
|
49
|
+
get applyGrammarSuggestion$(): Observable<{
|
|
50
|
+
error: GrammarError;
|
|
51
|
+
suggestionIndex: number;
|
|
52
|
+
paragraphIndex: number;
|
|
53
|
+
}>;
|
|
54
|
+
private readonly _applyGrammarSuggestion$;
|
|
55
|
+
get ignoreGrammarError$(): Observable<GrammarError>;
|
|
56
|
+
private readonly _ignoreGrammarError$;
|
|
44
57
|
get displaySearchBar$(): Observable<boolean>;
|
|
45
58
|
private readonly _displaySearchBar$;
|
|
46
59
|
get searchTerm$(): Observable<string>;
|
|
@@ -199,10 +212,13 @@ export declare class EditorService {
|
|
|
199
212
|
private readonly _firstLinePosition$;
|
|
200
213
|
get leftIndentParagraph$(): Observable<number>;
|
|
201
214
|
private readonly _leftIndentParagraph$;
|
|
215
|
+
get tabSettings$(): Observable<TabSettingModel[]>;
|
|
216
|
+
private readonly _tabSettings$;
|
|
202
217
|
get rightIndentParagraph$(): Observable<number>;
|
|
203
218
|
private readonly _rightIndentParagraph$;
|
|
204
219
|
get paragraphStyle$(): Observable<ParagraphStyleModel>;
|
|
205
220
|
private readonly _paragraphStyle$;
|
|
221
|
+
tabSettings(value: TabSettingModel[]): void;
|
|
206
222
|
applyFirstLinePosition(value: number): void;
|
|
207
223
|
applyLeftIndentParagraph(value: number): void;
|
|
208
224
|
applyRightIndentParagraph(value: number): void;
|
|
@@ -231,8 +247,8 @@ export declare class EditorService {
|
|
|
231
247
|
insertLink(text: string, link: string): void;
|
|
232
248
|
endMousePress(): void;
|
|
233
249
|
disableSelection(): void;
|
|
234
|
-
openElementSidenav(component: Type<ExternalSidenavInterface>, model: ElementModel, contentWidth: number): void;
|
|
235
|
-
openSidenav(component: Type<any
|
|
250
|
+
openElementSidenav(component: Type<ExternalSidenavInterface>, model: ElementModel, contentWidth: number, focus: boolean): void;
|
|
251
|
+
openSidenav(component: Type<any>, focus: boolean): void;
|
|
236
252
|
closeSidenav(): void;
|
|
237
253
|
changedTableSize(insertIndex: number, sessionId: number): void;
|
|
238
254
|
changedEdgeSize(edgeType: EdgeType, pageType: PageType, pageWidth: number, pageHeight: number): void;
|
|
@@ -271,6 +287,9 @@ export declare class EditorService {
|
|
|
271
287
|
setDisplaySearchBar(show: boolean): void;
|
|
272
288
|
setSearchResultCount(count: number): void;
|
|
273
289
|
setCurrentSearchResultIndex(index: number): void;
|
|
290
|
+
showGrammarError(error: GrammarError): void;
|
|
291
|
+
applyGrammarSuggestion(error: GrammarError, suggestionIndex: number, paragraphIndex: number): void;
|
|
292
|
+
ignoreGrammarSuggestion(error: GrammarError): void;
|
|
274
293
|
static ɵfac: i0.ɵɵFactoryDeclaration<EditorService, never>;
|
|
275
294
|
static ɵprov: i0.ɵɵInjectableDeclaration<EditorService>;
|
|
276
295
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TabSettingModel } from './tab-setting.model';
|
|
1
2
|
export declare class ParagraphStyleModel {
|
|
2
3
|
afterAutospacing: boolean;
|
|
3
4
|
alignment: any;
|
|
@@ -14,5 +15,6 @@ export declare class ParagraphStyleModel {
|
|
|
14
15
|
numberingLevel: number;
|
|
15
16
|
spaceAfter: number;
|
|
16
17
|
spaceBefore: number;
|
|
18
|
+
tabSettings: TabSettingModel[];
|
|
17
19
|
constructor(fields?: Partial<ParagraphStyleModel>);
|
|
18
20
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export * from './lib/editor/components/shared/abstract/base.component';
|
|
|
16
16
|
export * from './lib/editor/components/shared/abstract/destroy.component';
|
|
17
17
|
export * from './lib/editor/interaction/editor.service';
|
|
18
18
|
export * from './lib/editor/gadgets/history/operations-history-info.model';
|
|
19
|
+
export * from './lib/editor/gadgets/grammar/grammar.service';
|
|
19
20
|
export * from './lib/editor/operations/enums/command-type.enum';
|
|
20
21
|
export * from './lib/editor/components/editor.component';
|
|
21
22
|
export * from './lib/editor/editor.module';
|