@tilde-nlp/ngx-translate 2.0.3-deepl-3 → 2.0.3-deepl-4
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/esm2020/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.mjs +4 -3
- package/fesm2015/tilde-nlp-ngx-translate.mjs +3 -2
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs +3 -2
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.d.ts +2 -0
- package/package.json +1 -1
- package/src/assets/webcomponent/tld-translate.js +1 -1
- package/tilde-nlp-ngx-translate-2.0.3-deepl-4.tgz +0 -0
- package/tilde-nlp-ngx-translate-2.0.3-deepl-3.tgz +0 -0
|
@@ -13,6 +13,7 @@ export class HighlightTreeComponent {
|
|
|
13
13
|
this.highlightService = highlightService;
|
|
14
14
|
this.correctionsEnabled = true;
|
|
15
15
|
this.onReplace = new EventEmitter();
|
|
16
|
+
this.wordType = HighlightTreeType.WORD;
|
|
16
17
|
}
|
|
17
18
|
mouseEnter(event) {
|
|
18
19
|
this.onMouseEvent(event, this.isSource, true);
|
|
@@ -87,10 +88,10 @@ export class HighlightTreeComponent {
|
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
HighlightTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HighlightTreeComponent, deps: [{ token: i1.TldHighlightService }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
-
HighlightTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: { tree: "tree", isSource: "isSource", correctionsEnabled: "correctionsEnabled", highlight: "highlight", gramCheck: "gramCheck", selectSentence: "selectSentence" }, outputs: { onReplace: "onReplace" }, ngImport: i0, template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
91
|
+
HighlightTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: { tree: "tree", isSource: "isSource", correctionsEnabled: "correctionsEnabled", highlight: "highlight", gramCheck: "gramCheck", selectSentence: "selectSentence" }, outputs: { onReplace: "onReplace" }, ngImport: i0, template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <!-- If text is empty and type is 'word', we should not break line. -->\r\n <ng-container *ngIf=\"!tree.text && tree.type !== wordType\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
91
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HighlightTreeComponent, decorators: [{
|
|
92
93
|
type: Component,
|
|
93
|
-
args: [{ selector: 'tld-highlight-tree', template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"] }]
|
|
94
|
+
args: [{ selector: 'tld-highlight-tree', template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <!-- If text is empty and type is 'word', we should not break line. -->\r\n <ng-container *ngIf=\"!tree.text && tree.type !== wordType\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"] }]
|
|
94
95
|
}], ctorParameters: function () { return [{ type: i1.TldHighlightService }]; }, propDecorators: { tree: [{
|
|
95
96
|
type: Input
|
|
96
97
|
}], isSource: [{
|
|
@@ -106,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
106
107
|
}], onReplace: [{
|
|
107
108
|
type: Output
|
|
108
109
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvY29tcG9uZW50cy9oaWdobGlnaHQtdHJlZS9oaWdobGlnaHQtdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL2hpZ2hsaWdodC10cmVlL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDLFlBQTZCLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBTnpELHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUlsQyxjQUFTLEdBQTJDLElBQUksWUFBWSxFQUFFLENBQUM7SUFFWCxDQUFDO0lBRXZFLFVBQVUsQ0FBQyxLQUFpQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBaUI7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQW9C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eEQsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDekQ7aUJBQ0k7Z0JBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzNELE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBWTtRQUN6QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ25DLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4RCxJQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBQztnQkFDMUQsT0FBTyxNQUFNLENBQUM7YUFDZjtZQUNELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzttSEE1RlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsMlFDYm5DLDB5RUE0Q0E7MkZEL0JhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7MEdBTXJCLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVGxkSGlnaGxpZ2h0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJR3JhbW1hckNoZWNrUmVwbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JhbW1hci1jaGVjay1yZXBsYWNlbWVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0VHJlZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IElIaWdobGlnaHRUcmVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLWhpZ2hsaWdodC10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFRyZWVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSB0cmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICBASW5wdXQoKSBpc1NvdXJjZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb3JyZWN0aW9uc0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBncmFtQ2hlY2s6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2VsZWN0U2VudGVuY2U6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uUmVwbGFjZTogRXZlbnRFbWl0dGVyPElHcmFtbWFyQ2hlY2tSZXBsYWNlbWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZTogVGxkSGlnaGxpZ2h0U2VydmljZSkgeyB9XHJcblxyXG4gIG1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMub25Nb3VzZUV2ZW50KGV2ZW50LCB0aGlzLmlzU291cmNlLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIG1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMub25Nb3VzZUV2ZW50KGV2ZW50LCB0aGlzLmlzU291cmNlLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBncmFtQ2hlY2tNZW51KHRyZWU6IElIaWdobGlnaHRUcmVlLCBtZW51VHJpZ2dlcj86IE1hdE1lbnVUcmlnZ2VyKSB7XHJcbiAgICBpZiAodHJlZS5ncmFtbWFyTWV0YSAmJiB0aGlzLmdyYW1DaGVjaykge1xyXG4gICAgICBtZW51VHJpZ2dlci5vcGVuTWVudSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVwbGFjZSh0cmVlOiBJSGlnaGxpZ2h0VHJlZSwgcmVwbGFjZW1lbnQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5vblJlcGxhY2UubmV4dCh7XHJcbiAgICAgIGVuZEl4OiB0cmVlLmdyYW1tYXJNZXRhLmVuZEl4LFxyXG4gICAgICBwYXJhZ3JhcGhJeDogdHJlZS5wYXJhZ3JhcGhJeCA/PyB0cmVlLnJvb3Q/LnBhcmFncmFwaEl4LFxyXG4gICAgICByZXBsYWNlbWVudDogcmVwbGFjZW1lbnQsXHJcbiAgICAgIHN0YXJ0SXg6IHRyZWUuZ3JhbW1hck1ldGEuc3RhcnRJeFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwYXJlbnRDbGljayh0cmVlOiBJSGlnaGxpZ2h0VHJlZSkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0U2VudGVuY2UgJiYgdHJlZS50eXBlID09PSBIaWdobGlnaHRUcmVlVHlwZS5TRU5URU5DRSkge1xyXG4gICAgICB0aGlzLmhpZ2hsaWdodFNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRUYXJnZXRTZW50ZW5jZSh7IHBhcmFncmFwaEl4OiB0cmVlLnBhcmFncmFwaEl4ID8/IHRyZWUucm9vdD8ucGFyYWdyYXBoSXgsIHNlbnRlbmNlSXg6IE51bWJlcih0cmVlLmVsZW1lbnRJZCkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkU2VudGVuY2UodHJlZTogSUhpZ2hsaWdodFRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdFNlbnRlbmNlICYmIHRyZWUudHlwZSA9PT0gSGlnaGxpZ2h0VHJlZVR5cGUuU0VOVEVOQ0VcclxuICAgICAgJiYgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNlbGVjdGVkVGFyZ2V0U2VudGVuY2U/LnBhcmFncmFwaEl4ID09PSAodHJlZS5wYXJhZ3JhcGhJeCA/PyB0cmVlLnJvb3Q/LnBhcmFncmFwaEl4KVxyXG4gICAgICAmJiB0aGlzLmhpZ2hsaWdodFNlcnZpY2Uuc2VsZWN0ZWRUYXJnZXRTZW50ZW5jZS5zZW50ZW5jZUl4LnRvU3RyaW5nKCkgPT09IHRyZWUuZWxlbWVudElkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbk1vdXNlRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQsIGlzU291cmNlOiBib29sZWFuLCBpc01vdXNlRW50ZXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudDtcclxuICAgIGxldCBlbGVtZW50V2l0aFNpYmxpbmdzID0gW2VsZW1lbnRdO1xyXG5cclxuICAgIGlmICh0aGlzLmhpZ2hsaWdodCkge1xyXG4gICAgICBsZXQgc2libGluZ1BhcmVudENsYXNzOiBzdHJpbmc7XHJcbiAgICAgIGlmIChpc1NvdXJjZSkge1xyXG4gICAgICAgIHNpYmxpbmdQYXJlbnRDbGFzcyA9IEhpZ2hsaWdodFBhcmFtcy50YXJnZXRIaWdobGlnaHRDbGFzcztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBzaWJsaW5nUGFyZW50Q2xhc3MgPSBIaWdobGlnaHRQYXJhbXMuc291cmNlSGlnaGxpZ2h0Q2xhc3M7XHJcbiAgICAgIH1cclxuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuZm9yRWFjaCgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKEhpZ2hsaWdodFBhcmFtcy5zaWJsaW5nQ2xhc3MpKSB7XHJcbiAgICAgICAgICBjb25zdCBxdWVyeVNlbGVjdG9yID0gYC4ke3NpYmxpbmdQYXJlbnRDbGFzc30gLiR7Y2xhc3NOYW1lLnJlcGxhY2UoSGlnaGxpZ2h0UGFyYW1zLnNpYmxpbmdDbGFzcywgSGlnaGxpZ2h0UGFyYW1zLndvcmRDbGFzcyl9YDtcclxuICAgICAgICAgIGVsZW1lbnRXaXRoU2libGluZ3MgPSBlbGVtZW50V2l0aFNpYmxpbmdzLmNvbmNhdChBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocXVlcnlTZWxlY3RvcikpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGVsZW1lbnRXaXRoU2libGluZ3MuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAvLyBuZWNlc3NhcnkgdG8gaGlnaGxpZ2h0IGFsc28gc2libGluZyBzZW50ZW5jZSwgbm90IG9ubHkgc2libGluZy5cclxuICAgICAgbGV0IHBhcmVudCA9IHRoaXMuZmluZFdvcmRQYXJlbnRTZW50ZW5jZShlbGVtZW50KTtcclxuXHJcbiAgICAgIGlmIChpc01vdXNlRW50ZXIpIHtcclxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoSGlnaGxpZ2h0UGFyYW1zLmhvdmVyZWRDbGFzc05hbWUpO1xyXG4gICAgICAgIHBhcmVudD8uY2xhc3NMaXN0LmFkZChIaWdobGlnaHRQYXJhbXMuaG92ZXJlZENsYXNzTmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEhpZ2hsaWdodFBhcmFtcy5ob3ZlcmVkQ2xhc3NOYW1lKTtcclxuICAgICAgICBwYXJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUoSGlnaGxpZ2h0UGFyYW1zLmhvdmVyZWRDbGFzc05hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFdvcmRQYXJlbnRTZW50ZW5jZShlbGVtZW50OiBhbnkpe1xyXG4gICAgY29uc3QgbWF4RGlzdGFuY2VUb1BhcmVudCA9IDI7XHJcbiAgICBsZXQgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1heERpc3RhbmNlVG9QYXJlbnQ7IGluZGV4KyspIHtcclxuICAgICAgaWYocGFyZW50LmNsYXNzTGlzdC5jb250YWlucyhIaWdobGlnaHRQYXJhbXMuc2VudGVuY2VDbGFzcykpe1xyXG4gICAgICAgIHJldHVybiBwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNoaWdobGlnaHRUcmVlIGxldC10cmVlPVwidHJlZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyZWUudGV4dFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJlZS5ncmFtbWFyTWV0YSAmJiBncmFtQ2hlY2tcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImdyYW1tYXItY2hlY2stbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eydHUkFNTUFSX0NIRUNLX01FTlUuVElUTEUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXBsYWNlbWVudCBvZiB0cmVlLmdyYW1tYXJNZXRhLnJlcGxhY2VtZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwicmVwbGFjZSh0cmVlLCByZXBsYWNlbWVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwbGFjZW1lbnR9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJ7e3RyZWUuY2xhc3N9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0cmVlLnRleHRcIiAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIiAoY2xpY2spPVwiZ3JhbUNoZWNrTWVudSh0cmVlLCBtZW51VHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmUoJGV2ZW50KVwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISh0cmVlLmdyYW1tYXJNZXRhICYmIGdyYW1DaGVjaylcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3t0cmVlLmNsYXNzfX1cIiBbaW5uZXJIVE1MXT1cInRyZWUudGV4dFwiIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgkZXZlbnQpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRyZWUudGV4dFwiPlxyXG4gICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZC1zZW50ZW5jZSc6IGlzU2VsZWN0ZWRTZW50ZW5jZSh0cmVlKX1cIiBjbGFzcz1cImhpZ2hsaWdodC10cmVlLWNoaWxkLXdyYXBwZXIge3t0cmVlLmNsYXNzfX1cIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIiAoY2xpY2spPVwicGFyZW50Q2xpY2sodHJlZSlcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1jaGlsZCBbbmdGb3JPZl09XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGlnaGxpZ2h0VHJlZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHRyZWU6IGNoaWxkIH1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuXHJcbjxkaXYgKm5nSWY9XCJ0cmVlXCIgY2xhc3M9XCJ0bGQtaGlnaGxpZ2h0LXRyZWVcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoaWdobGlnaHRUcmVlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdHJlZTogdHJlZSB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRleHQvY29tcG9uZW50cy9oaWdobGlnaHQtdHJlZS9oaWdobGlnaHQtdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL2hpZ2hsaWdodC10cmVlL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sc0JBQXNCO0lBWWpDLFlBQTZCLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBUnpELHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUlsQyxjQUFTLEdBQTJDLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEUsYUFBUSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUUyQixDQUFDO0lBRXZFLFVBQVUsQ0FBQyxLQUFpQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBaUI7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENB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aXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVGxkSGlnaGxpZ2h0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJR3JhbW1hckNoZWNrUmVwbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JhbW1hci1jaGVjay1yZXBsYWNlbWVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEhpZ2hsaWdodFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9oaWdobGlnaHQtcGFyYW1zLm1vZGVsJztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0VHJlZVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlnaGxpZ2h0LXRyZWUtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IElIaWdobGlnaHRUcmVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpZ2hsaWdodC10cmVlLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLWhpZ2hsaWdodC10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlnaGxpZ2h0LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hpZ2hsaWdodC10cmVlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFRyZWVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSB0cmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICBASW5wdXQoKSBpc1NvdXJjZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb3JyZWN0aW9uc0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBncmFtQ2hlY2s6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2VsZWN0U2VudGVuY2U6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG9uUmVwbGFjZTogRXZlbnRFbWl0dGVyPElHcmFtbWFyQ2hlY2tSZXBsYWNlbWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHJlYWRvbmx5IHdvcmRUeXBlID0gSGlnaGxpZ2h0VHJlZVR5cGUuV09SRDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBoaWdobGlnaHRTZXJ2aWNlOiBUbGRIaWdobGlnaHRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5vbk1vdXNlRXZlbnQoZXZlbnQsIHRoaXMuaXNTb3VyY2UsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgbW91c2VMZWF2ZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5vbk1vdXNlRXZlbnQoZXZlbnQsIHRoaXMuaXNTb3VyY2UsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGdyYW1DaGVja01lbnUodHJlZTogSUhpZ2hsaWdodFRyZWUsIG1lbnVUcmlnZ2VyPzogTWF0TWVudVRyaWdnZXIpIHtcclxuICAgIGlmICh0cmVlLmdyYW1tYXJNZXRhICYmIHRoaXMuZ3JhbUNoZWNrKSB7XHJcbiAgICAgIG1lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXBsYWNlKHRyZWU6IElIaWdobGlnaHRUcmVlLCByZXBsYWNlbWVudDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9uUmVwbGFjZS5uZXh0KHtcclxuICAgICAgZW5kSXg6IHRyZWUuZ3JhbW1hck1ldGEuZW5kSXgsXHJcbiAgICAgIHBhcmFncmFwaEl4OiB0cmVlLnBhcmFncmFwaEl4ID8/IHRyZWUucm9vdD8ucGFyYWdyYXBoSXgsXHJcbiAgICAgIHJlcGxhY2VtZW50OiByZXBsYWNlbWVudCxcclxuICAgICAgc3RhcnRJeDogdHJlZS5ncmFtbWFyTWV0YS5zdGFydEl4XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHBhcmVudENsaWNrKHRyZWU6IElIaWdobGlnaHRUcmVlKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RTZW50ZW5jZSAmJiB0cmVlLnR5cGUgPT09IEhpZ2hsaWdodFRyZWVUeXBlLlNFTlRFTkNFKSB7XHJcbiAgICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5jaGFuZ2VTZWxlY3RlZFRhcmdldFNlbnRlbmNlKHsgcGFyYWdyYXBoSXg6IHRyZWUucGFyYWdyYXBoSXggPz8gdHJlZS5yb290Py5wYXJhZ3JhcGhJeCwgc2VudGVuY2VJeDogTnVtYmVyKHRyZWUuZWxlbWVudElkKSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzU2VsZWN0ZWRTZW50ZW5jZSh0cmVlOiBJSGlnaGxpZ2h0VHJlZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0U2VudGVuY2UgJiYgdHJlZS50eXBlID09PSBIaWdobGlnaHRUcmVlVHlwZS5TRU5URU5DRVxyXG4gICAgICAmJiB0aGlzLmhpZ2hsaWdodFNlcnZpY2Uuc2VsZWN0ZWRUYXJnZXRTZW50ZW5jZT8ucGFyYWdyYXBoSXggPT09ICh0cmVlLnBhcmFncmFwaEl4ID8/IHRyZWUucm9vdD8ucGFyYWdyYXBoSXgpXHJcbiAgICAgICYmIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5zZWxlY3RlZFRhcmdldFNlbnRlbmNlLnNlbnRlbmNlSXgudG9TdHJpbmcoKSA9PT0gdHJlZS5lbGVtZW50SWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uTW91c2VFdmVudChldmVudDogTW91c2VFdmVudCwgaXNTb3VyY2U6IGJvb2xlYW4sIGlzTW91c2VFbnRlcjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xyXG4gICAgbGV0IGVsZW1lbnRXaXRoU2libGluZ3MgPSBbZWxlbWVudF07XHJcblxyXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0KSB7XHJcbiAgICAgIGxldCBzaWJsaW5nUGFyZW50Q2xhc3M6IHN0cmluZztcclxuICAgICAgaWYgKGlzU291cmNlKSB7XHJcbiAgICAgICAgc2libGluZ1BhcmVudENsYXNzID0gSGlnaGxpZ2h0UGFyYW1zLnRhcmdldEhpZ2hsaWdodENsYXNzO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHNpYmxpbmdQYXJlbnRDbGFzcyA9IEhpZ2hsaWdodFBhcmFtcy5zb3VyY2VIaWdobGlnaHRDbGFzcztcclxuICAgICAgfVxyXG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmIChjbGFzc05hbWUuaW5jbHVkZXMoSGlnaGxpZ2h0UGFyYW1zLnNpYmxpbmdDbGFzcykpIHtcclxuICAgICAgICAgIGNvbnN0IHF1ZXJ5U2VsZWN0b3IgPSBgLiR7c2libGluZ1BhcmVudENsYXNzfSAuJHtjbGFzc05hbWUucmVwbGFjZShIaWdobGlnaHRQYXJhbXMuc2libGluZ0NsYXNzLCBIaWdobGlnaHRQYXJhbXMud29yZENsYXNzKX1gO1xyXG4gICAgICAgICAgZWxlbWVudFdpdGhTaWJsaW5ncyA9IGVsZW1lbnRXaXRoU2libGluZ3MuY29uY2F0KEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChxdWVyeVNlbGVjdG9yKSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZWxlbWVudFdpdGhTaWJsaW5ncy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIC8vIG5lY2Vzc2FyeSB0byBoaWdobGlnaHQgYWxzbyBzaWJsaW5nIHNlbnRlbmNlLCBub3Qgb25seSBzaWJsaW5nLlxyXG4gICAgICBsZXQgcGFyZW50ID0gdGhpcy5maW5kV29yZFBhcmVudFNlbnRlbmNlKGVsZW1lbnQpO1xyXG5cclxuICAgICAgaWYgKGlzTW91c2VFbnRlcikge1xyXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChIaWdobGlnaHRQYXJhbXMuaG92ZXJlZENsYXNzTmFtZSk7XHJcbiAgICAgICAgcGFyZW50Py5jbGFzc0xpc3QuYWRkKEhpZ2hsaWdodFBhcmFtcy5ob3ZlcmVkQ2xhc3NOYW1lKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoSGlnaGxpZ2h0UGFyYW1zLmhvdmVyZWRDbGFzc05hbWUpO1xyXG4gICAgICAgIHBhcmVudD8uY2xhc3NMaXN0LnJlbW92ZShIaWdobGlnaHRQYXJhbXMuaG92ZXJlZENsYXNzTmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kV29yZFBhcmVudFNlbnRlbmNlKGVsZW1lbnQ6IGFueSl7XHJcbiAgICBjb25zdCBtYXhEaXN0YW5jZVRvUGFyZW50ID0gMjtcclxuICAgIGxldCBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWF4RGlzdGFuY2VUb1BhcmVudDsgaW5kZXgrKykge1xyXG4gICAgICBpZihwYXJlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKEhpZ2hsaWdodFBhcmFtcy5zZW50ZW5jZUNsYXNzKSl7XHJcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcclxuICAgICAgfVxyXG4gICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50RWxlbWVudDtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2hpZ2hsaWdodFRyZWUgbGV0LXRyZWU9XCJ0cmVlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRyZWUuY2hpbGRyZW5cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJlZS50ZXh0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmVlLmdyYW1tYXJNZXRhICYmIGdyYW1DaGVja1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwiZ3JhbW1hci1jaGVjay1tZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J0dSQU1NQVJfQ0hFQ0tfTUVOVS5USVRMRScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcGxhY2VtZW50IG9mIHRyZWUuZ3JhbW1hck1ldGEucmVwbGFjZW1lbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJyZXBsYWNlKHRyZWUsIHJlcGxhY2VtZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyZXBsYWNlbWVudH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgICAgIDxzcGFuICNtZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cInt7dHJlZS5jbGFzc319XCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInRyZWUudGV4dFwiIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoJGV2ZW50KVwiIChjbGljayk9XCJncmFtQ2hlY2tNZW51KHRyZWUsIG1lbnVUcmlnZ2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgkZXZlbnQpXCI+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKHRyZWUuZ3JhbW1hck1ldGEgJiYgZ3JhbUNoZWNrKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ7e3RyZWUuY2xhc3N9fVwiIFtpbm5lckhUTUxdPVwidHJlZS50ZXh0XCIgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS0gSWYgdGV4dCBpcyBlbXB0eSBhbmQgdHlwZSBpcyAnd29yZCcsIHdlIHNob3VsZCBub3QgYnJlYWsgbGluZS4gLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0cmVlLnRleHQgJiYgdHJlZS50eXBlICE9PSB3b3JkVHlwZVwiPlxyXG4gICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZC1zZW50ZW5jZSc6IGlzU2VsZWN0ZWRTZW50ZW5jZSh0cmVlKX1cIiBjbGFzcz1cImhpZ2hsaWdodC10cmVlLWNoaWxkLXdyYXBwZXIge3t0cmVlLmNsYXNzfX1cIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyKCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlKCRldmVudClcIiAoY2xpY2spPVwicGFyZW50Q2xpY2sodHJlZSlcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1jaGlsZCBbbmdGb3JPZl09XCJ0cmVlLmNoaWxkcmVuXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGlnaGxpZ2h0VHJlZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHRyZWU6IGNoaWxkIH1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuXHJcbjxkaXYgKm5nSWY9XCJ0cmVlXCIgY2xhc3M9XCJ0bGQtaGlnaGxpZ2h0LXRyZWVcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoaWdobGlnaHRUcmVlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdHJlZTogdHJlZSB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -7308,6 +7308,7 @@ class HighlightTreeComponent {
|
|
|
7308
7308
|
this.highlightService = highlightService;
|
|
7309
7309
|
this.correctionsEnabled = true;
|
|
7310
7310
|
this.onReplace = new EventEmitter();
|
|
7311
|
+
this.wordType = HighlightTreeType.WORD;
|
|
7311
7312
|
}
|
|
7312
7313
|
mouseEnter(event) {
|
|
7313
7314
|
this.onMouseEvent(event, this.isSource, true);
|
|
@@ -7385,10 +7386,10 @@ class HighlightTreeComponent {
|
|
|
7385
7386
|
}
|
|
7386
7387
|
}
|
|
7387
7388
|
HighlightTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HighlightTreeComponent, deps: [{ token: TldHighlightService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7388
|
-
HighlightTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: { tree: "tree", isSource: "isSource", correctionsEnabled: "correctionsEnabled", highlight: "highlight", gramCheck: "gramCheck", selectSentence: "selectSentence" }, outputs: { onReplace: "onReplace" }, ngImport: i0, template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
7389
|
+
HighlightTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: { tree: "tree", isSource: "isSource", correctionsEnabled: "correctionsEnabled", highlight: "highlight", gramCheck: "gramCheck", selectSentence: "selectSentence" }, outputs: { onReplace: "onReplace" }, ngImport: i0, template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <!-- If text is empty and type is 'word', we should not break line. -->\r\n <ng-container *ngIf=\"!tree.text && tree.type !== wordType\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] });
|
|
7389
7390
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HighlightTreeComponent, decorators: [{
|
|
7390
7391
|
type: Component,
|
|
7391
|
-
args: [{ selector: 'tld-highlight-tree', template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!tree.text\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"] }]
|
|
7392
|
+
args: [{ selector: 'tld-highlight-tree', template: "<ng-template #highlightTree let-tree=\"tree\">\r\n <ng-container *ngIf=\"!tree.children\">\r\n <ng-container *ngIf=\"tree.text\">\r\n <ng-container *ngIf=\"tree.grammarMeta && gramCheck\">\r\n <mat-menu #menu=\"matMenu\" class=\"grammar-check-menu\">\r\n <div class=\"title\">\r\n {{'GRAMMAR_CHECK_MENU.TITLE' | translate}}\r\n </div>\r\n <div *ngFor=\"let replacement of tree.grammarMeta.replacements\">\r\n <button mat-button color=\"accent\" (click)=\"replace(tree, replacement)\">\r\n {{replacement}}\r\n </button>\r\n </div>\r\n </mat-menu>\r\n <span #menuTrigger=\"matMenuTrigger\" [matMenuTriggerFor]=\"menu\" class=\"{{tree.class}}\"\r\n [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\" (click)=\"gramCheckMenu(tree, menuTrigger)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"!(tree.grammarMeta && gramCheck)\">\r\n <span class=\"{{tree.class}}\" [innerHTML]=\"tree.text\" (mouseenter)=\"mouseEnter($event)\"\r\n (mouseleave)=\"mouseLeave($event)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n <!-- If text is empty and type is 'word', we should not break line. -->\r\n <ng-container *ngIf=\"!tree.text && tree.type !== wordType\">\r\n <br>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"tree.children\">\r\n <span [ngClass]=\"{'selected-sentence': isSelectedSentence(tree)}\" class=\"highlight-tree-child-wrapper {{tree.class}}\"\r\n (mouseenter)=\"mouseEnter($event)\" (mouseleave)=\"mouseLeave($event)\" (click)=\"parentClick(tree)\">\r\n <ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\">\r\n </ng-template>\r\n </ng-template>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n <ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n", styles: ["span{white-space:pre-wrap}\n"] }]
|
|
7392
7393
|
}], ctorParameters: function () { return [{ type: TldHighlightService }]; }, propDecorators: { tree: [{
|
|
7393
7394
|
type: Input
|
|
7394
7395
|
}], isSource: [{
|