adb-shared 6.0.6 → 6.0.8
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/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.module.mjs +3 -2
- package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.component.mjs +11 -11
- package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.module.mjs +15 -6
- package/esm2022/lib/components/adb-rich-editor/adb-rich-text.mjs +13 -10
- package/esm2022/lib/components/adb-rich-editor/rich-module-config.mjs +3 -0
- package/esm2022/lib/pipes/emptyValue.pipe.mjs +2 -2
- package/fesm2022/adb-shared.mjs +34 -21
- package/fesm2022/adb-shared.mjs.map +1 -1
- package/lib/components/adb-rich-editor/adb-rich-editor.component.d.ts +1 -0
- package/lib/components/adb-rich-editor/adb-rich-editor.module.d.ts +3 -0
- package/lib/components/adb-rich-editor/adb-rich-text.d.ts +5 -2
- package/lib/components/adb-rich-editor/rich-module-config.d.ts +5 -0
- package/package.json +1 -1
|
@@ -53,6 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
53
53
|
TranslateModule,
|
|
54
54
|
AdbDirectivesModule,
|
|
55
55
|
AdbDropdownModule,
|
|
56
|
-
AdbPagersModule],
|
|
56
|
+
AdbPagersModule],
|
|
57
|
+
providers: [provideHttpClient(withInterceptorsFromDi())] }]
|
|
57
58
|
}] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWFydHBvcnRhbGVuLW5hdi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWFydHBvcnRhbGVuLW5hdi9hZGItYXJ0cG9ydGFsZW4tbmF2Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBZ0JoRixNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBZ0I7UUFDcEMsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULGtCQUFrQjtnQkFDbEI7b0JBQ0UsT0FBTyxFQUFFLEtBQUssRUFBRSxrQ0FBa0M7b0JBQ2xELFFBQVEsRUFBRSxXQUFXO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBWlUsb0JBQW9CO2tJQUFwQixvQkFBb0IsaUJBYnpCLHVCQUF1QjtZQUN2QiwwQkFBMEIsYUFLakIsWUFBWTtZQUNyQixZQUFZO1lBQ1osZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZUFBZSxhQVBmLHVCQUF1QjtZQUN2QiwwQkFBMEI7a0lBUXJCLG9CQUFvQixhQURkLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLFlBTi9DLFlBQVk7WUFDckIsWUFBWTtZQUNaLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGVBQWU7OzJGQUVWLG9CQUFvQjtrQkFkaEMsUUFBUTttQkFBQyxFQUFFLFlBQVksRUFBRTt3QkFDbEIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDTCx1QkFBdUI7d0JBQ3ZCLDBCQUEwQjtxQkFDN0IsRUFBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZO3dCQUNyQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWUsQ0FBQztvQkFDaEIsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgcHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFkYkRpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcclxuaW1wb3J0IHsgQXJ0cG9ydGFsZW5OYXZDb21wb25lbnQgfSBmcm9tICcuL2FkYi1hcnRwb3J0YWxlbi1uYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuLi9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFkYlBhZ2Vyc01vZHVsZSB9IGZyb20gJy4uL3BhZ2Vycy9wYWdlcnMubW9kdWxlJztcclxuaW1wb3J0IHsgQXJ0cG9ydGFsZW5Gb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2FkYi1hcnRwb3J0YWxlbi1mb290ZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7IGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEFydHBvcnRhbGVuTmF2Q29tcG9uZW50LFxyXG4gICAgICAgIEFydHBvcnRhbGVuRm9vdGVyQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEFydHBvcnRhbGVuTmF2Q29tcG9uZW50LFxyXG4gICAgICAgIEFydHBvcnRhbGVuRm9vdGVyQ29tcG9uZW50XHJcbiAgICBdLCBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFJvdXRlck1vZHVsZSxcclxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICAgICAgQWRiRGlyZWN0aXZlc01vZHVsZSxcclxuICAgICAgICBBZGJEcm9wZG93bk1vZHVsZSxcclxuICAgICAgICBBZGJQYWdlcnNNb2R1bGVdLCBcclxuICAgICAgICBwcm92aWRlcnM6IFtwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpXSB9KVxyXG5leHBvcnQgY2xhc3MgQXJ0cG9ydGFsZW5OYXZNb2R1bGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChlbnZpcm9ubWVudDogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVyczxBcnRwb3J0YWxlbk5hdk1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFydHBvcnRhbGVuTmF2TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogJ2VudicsIC8vIHlvdSBjYW4gYWxzbyB1c2UgSW5qZWN0aW9uVG9rZW5cclxuICAgICAgICAgIHVzZVZhbHVlOiBlbnZpcm9ubWVudFxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -22,25 +22,25 @@ export class AdbRichEditorComponent {
|
|
|
22
22
|
textarea.setSelectionRange(selectionStart, selectionEnd);
|
|
23
23
|
}
|
|
24
24
|
onItalicClick() {
|
|
25
|
-
|
|
26
|
-
if (textarea) {
|
|
27
|
-
const selectionStart = textarea.selectionStart;
|
|
28
|
-
const selectionEnd = textarea.selectionEnd;
|
|
29
|
-
let currentValue = textarea.value;
|
|
30
|
-
let modifiedText = `${currentValue.substring(0, selectionStart)}_${currentValue.substring(selectionStart, selectionEnd)}_${currentValue.substring(selectionEnd)}`;
|
|
31
|
-
this.text = modifiedText;
|
|
32
|
-
this.onChange(this.text);
|
|
33
|
-
}
|
|
25
|
+
this.applyFormatting('_');
|
|
34
26
|
}
|
|
35
27
|
onBoldClick() {
|
|
28
|
+
this.applyFormatting('__');
|
|
29
|
+
}
|
|
30
|
+
applyFormatting(marker) {
|
|
36
31
|
const textarea = this.el.nativeElement.querySelector('textarea');
|
|
37
32
|
if (textarea) {
|
|
38
33
|
const selectionStart = textarea.selectionStart;
|
|
39
34
|
const selectionEnd = textarea.selectionEnd;
|
|
40
35
|
let currentValue = textarea.value;
|
|
41
|
-
let modifiedText =
|
|
36
|
+
let modifiedText = selectionStart !== selectionEnd
|
|
37
|
+
? `${currentValue.substring(0, selectionStart)}${marker}${currentValue.substring(selectionStart, selectionEnd)}${marker}${currentValue.substring(selectionEnd)}`
|
|
38
|
+
: `${currentValue.substring(0, selectionStart)}${marker}${marker}${currentValue.substring(selectionStart)}`;
|
|
42
39
|
this.text = modifiedText;
|
|
40
|
+
textarea.value = modifiedText;
|
|
41
|
+
textarea.setSelectionRange(selectionStart !== selectionEnd ? selectionEnd + marker.length * 2 : selectionStart + marker.length, selectionStart !== selectionEnd ? selectionEnd + marker.length * 2 : selectionStart + marker.length);
|
|
43
42
|
this.onChange(this.text);
|
|
43
|
+
textarea.focus();
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
onTaxonClick() {
|
|
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
106
106
|
}], hasReference: [{
|
|
107
107
|
type: Input
|
|
108
108
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFVBQVUsRUFBRSxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVV6RSxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBSnpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFnRjlCLHNCQUFzQjtRQUN0QixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUEvRVcsQ0FBQztJQUd2QyxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDL0MsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUN6QyxPQUFPLFlBQVksR0FBRyxjQUFjLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEtBQUss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QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7SUFFckMsQ0FBQztJQUVELFdBQVc7SUFDWCxDQUFDO2lJQXhHUSxzQkFBc0I7cUhBQXRCLHNCQUFzQiwwR0FMcEIsQ0FBQztnQkFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztnQkFDakYsS0FBSyxFQUFFLElBQUk7YUFDZCxDQUFDLDBCQ1ROLDA5QkFTQTs7MkZERWEsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNJLGlCQUFpQixhQUVoQixDQUFDOzRCQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSx1QkFBdUIsRUFBQzs0QkFDakYsS0FBSyxFQUFFLElBQUk7eUJBQ2QsQ0FBQzsrRUFJTyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FkYi1yaWNoLWVkaXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWRiUmljaEVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJSaWNoRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBoYXNUYXhvbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgaGFzUmVmZXJlbmNlID0gZmFsc2U7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuXHJcbiAgICBvbkRvdWJsZUNsaWNrKCkge1xyXG4gICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHRhcmVhJyk7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICBsZXQgc2VsZWN0aW9uRW5kID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5kO1xyXG4gICAgICAgIHdoaWxlIChzZWxlY3Rpb25FbmQgPiBzZWxlY3Rpb25TdGFydCAmJiB0ZXh0YXJlYS52YWx1ZVtzZWxlY3Rpb25FbmQgLSAxXSA9PT0gJyAnKSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGlvbkVuZC0tO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkl0YWxpY0NsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHRhcmVhJyk7XHJcbiAgICAgICAgaWYgKHRleHRhcmVhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbkVuZCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZDtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZSA9IHRleHRhcmVhLnZhbHVlO1xyXG4gICAgICAgICAgICBsZXQgbW9kaWZpZWRUZXh0ID0gYCR7Y3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCl9XyR7Y3VycmVudFZhbHVlLnN1YnN0cmluZyhzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKX1fJHtjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvbkVuZCl9YDtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gbW9kaWZpZWRUZXh0O1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQm9sZENsaWNrKCk6dm9pZHtcclxuICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0ZXh0YXJlYScpO1xyXG4gICAgICAgIGlmICh0ZXh0YXJlYSkge1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0O1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb25FbmQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25FbmQ7XHJcbiAgICAgICAgICAgIGxldCBjdXJyZW50VmFsdWUgPSB0ZXh0YXJlYS52YWx1ZTtcclxuICAgICAgICAgICAgbGV0IG1vZGlmaWVkVGV4dCA9IGAke2N1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoMCwgc2VsZWN0aW9uU3RhcnQpfV9fJHtjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpfV9fJHtjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvbkVuZCl9YDtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gbW9kaWZpZWRUZXh0O1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uVGF4b25DbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlcGxhY2VNYXJrZWQoJ1tOYW1lXSh0YXhvbjowKScpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUmVmZXJlbmNlQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZXBsYWNlTWFya2VkKCdbTmFtZV0ocmVmZXJlbmNlOjApJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZXBsYWNlTWFya2VkKHJlcGxhY2VUYWc6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHRhcmVhJyk7XHJcbiAgICAgICAgaWYgKHRleHRhcmVhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGVuZCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZDtcclxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxUZXh0ID0gdGV4dGFyZWEudmFsdWU7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYXJCZWZvcmUgPSBzdGFydCA+IDAgPyBvcmlnaW5hbFRleHRbc3RhcnQgLSAxXSA6ICcnO1xyXG4gICAgICAgICAgICBjb25zdCBjaGFyQWZ0ZXIgPSBlbmQgPCBvcmlnaW5hbFRleHQubGVuZ3RoID8gb3JpZ2luYWxUZXh0W2VuZF0gOiAnJztcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHNwYWNlQmVmb3JlID0gY2hhckJlZm9yZSAmJiAhL1xccy8udGVzdChjaGFyQmVmb3JlKSA/ICcgJyA6ICcnO1xyXG4gICAgICAgICAgICBjb25zdCBzcGFjZUFmdGVyID0gY2hhckFmdGVyICYmICEvXFxzLy50ZXN0KGNoYXJBZnRlcikgPyAnICcgOiAnJztcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG5ld1RleHQgPSBvcmlnaW5hbFRleHQuc2xpY2UoMCwgc3RhcnQpICsgc3BhY2VCZWZvcmUgKyByZXBsYWNlVGFnICsgc3BhY2VBZnRlciArIG9yaWdpbmFsVGV4dC5zbGljZShlbmQpO1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSBuZXdUZXh0O1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudGV4dCk7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWVTdGFydCA9IG5ld1RleHQuaW5kZXhPZignTmFtZScsIHN0YXJ0KTsgLy8gRmluZCAnTmFtZScgc3RhcnRpbmcgZnJvbSB0aGUgcHJldmlvdXMgc2VsZWN0aW9uIHN0YXJ0XHJcbiAgICAgICAgICAgIGlmIChuYW1lU3RhcnQgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lRW5kID0gbmFtZVN0YXJ0ICsgJ05hbWUnLmxlbmd0aDtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgLy8gVXNlIHNldFRpbWVvdXQgdG8gbWFrZSBzdXJlIHRoZSB0ZXh0YXJlYSBpcyB1cGRhdGVkIGJlZm9yZSBzZWxlY3RpbmdcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHRhcmVhLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWEuc2V0U2VsZWN0aW9uUmFuZ2UobmFtZVN0YXJ0LCBuYW1lRW5kKTsgLy8gU2VsZWN0IHRoZSAnTmFtZScgc3RyaW5nXHJcbiAgICAgICAgICAgICAgICB9LCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblRleHRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRleHQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIH1cclxufSIsIjxkaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTMgbWItMVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJvbkl0YWxpY0NsaWNrKClcIiB0aXRsZT1cIkl0YWxpY1wiIGFyaWEtbGFiZWw9XCJJdGFsaWNcIiB0eXBlPVwiYnV0dG9uXCI+PHNwYW4gY2xhc3M9XCJmYXMgZmEtaXRhbGljXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJvbkJvbGRDbGljaygpXCIgdGl0bGU9XCJJdGFsaWNcIiBhcmlhLWxhYmVsPVwic3Ryb25nXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWJvbGRcIj48L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImhhc1RheG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJvblRheG9uQ2xpY2soKVwiIHRpdGxlPVwiVGF4b25cIiBhcmlhLWxhYmVsPVwiVGF4b25cIiB0eXBlPVwiYnV0dG9uXCI+PHNwYW4gY2xhc3M9XCJmYXMgZmEtYnVnXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJoYXNSZWZlcmVuY2VcIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm9uUmVmZXJlbmNlQ2xpY2soKVwiIHRpdGxlPVwiUmVmZXJlbmNlXCIgYXJpYS1sYWJlbD1cIlJlZmVyZW5jZVwiIHR5cGU9XCJidXR0b25cIj48c3BhbiBjbGFzcz1cImZhcyBmYS1hc3Rlcmlza1wiPjwvc3Bhbj48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0ZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIiAoZGJsY2xpY2spPVwib25Eb3VibGVDbGljaygpXCI+PC90ZXh0YXJlYT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFVBQVUsRUFBRSxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVV6RSxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBSnpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUF1RjlCLHNCQUFzQjtRQUN0QixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUF0RlcsQ0FBQztJQUd2QyxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDL0MsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUN6QyxPQUFPLFlBQVksR0FBRyxjQUFjLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEtBQUss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QUM7SUFNRCxVQUFVLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7SUFFckMsQ0FBQztJQUVELFdBQVc7SUFDWCxDQUFDO2lJQS9HUSxzQkFBc0I7cUhBQXRCLHNCQUFzQiwwR0FMcEIsQ0FBQztnQkFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsRUFBQztnQkFDakYsS0FBSyxFQUFFLElBQUk7YUFDZCxDQUFDLDBCQ1ROLDA5QkFTQTs7MkZERWEsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNJLGlCQUFpQixhQUVoQixDQUFDOzRCQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSx1QkFBdUIsRUFBQzs0QkFDakYsS0FBSyxFQUFFLElBQUk7eUJBQ2QsQ0FBQzsrRUFJTyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FkYi1yaWNoLWVkaXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWRiUmljaEVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJSaWNoRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBoYXNUYXhvbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgaGFzUmVmZXJlbmNlID0gZmFsc2U7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuXHJcbiAgICBvbkRvdWJsZUNsaWNrKCkge1xyXG4gICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHRhcmVhJyk7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICBsZXQgc2VsZWN0aW9uRW5kID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5kO1xyXG4gICAgICAgIHdoaWxlIChzZWxlY3Rpb25FbmQgPiBzZWxlY3Rpb25TdGFydCAmJiB0ZXh0YXJlYS52YWx1ZVtzZWxlY3Rpb25FbmQgLSAxXSA9PT0gJyAnKSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGlvbkVuZC0tO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkl0YWxpY0NsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXBwbHlGb3JtYXR0aW5nKCdfJyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIG9uQm9sZENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXBwbHlGb3JtYXR0aW5nKCdfXycpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXBwbHlGb3JtYXR0aW5nKG1hcmtlcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGV4dGFyZWEnKTtcclxuICAgICAgICBpZiAodGV4dGFyZWEpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uRW5kID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5kO1xyXG4gICAgICAgICAgICBsZXQgY3VycmVudFZhbHVlID0gdGV4dGFyZWEudmFsdWU7XHJcbiAgICBcclxuICAgICAgICAgICAgbGV0IG1vZGlmaWVkVGV4dCA9IHNlbGVjdGlvblN0YXJ0ICE9PSBzZWxlY3Rpb25FbmRcclxuICAgICAgICAgICAgICAgID8gYCR7Y3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCl9JHttYXJrZXJ9JHtjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpfSR7bWFya2VyfSR7Y3VycmVudFZhbHVlLnN1YnN0cmluZyhzZWxlY3Rpb25FbmQpfWBcclxuICAgICAgICAgICAgICAgIDogYCR7Y3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCl9JHttYXJrZXJ9JHttYXJrZXJ9JHtjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvblN0YXJ0KX1gO1xyXG4gICAgXHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IG1vZGlmaWVkVGV4dDtcclxuICAgICAgICAgICAgdGV4dGFyZWEudmFsdWUgPSBtb2RpZmllZFRleHQ7XHJcbiAgICAgICAgICAgIHRleHRhcmVhLnNldFNlbGVjdGlvblJhbmdlKFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uU3RhcnQgIT09IHNlbGVjdGlvbkVuZCA/IHNlbGVjdGlvbkVuZCArIG1hcmtlci5sZW5ndGggKiAyIDogc2VsZWN0aW9uU3RhcnQgKyBtYXJrZXIubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uU3RhcnQgIT09IHNlbGVjdGlvbkVuZCA/IHNlbGVjdGlvbkVuZCArIG1hcmtlci5sZW5ndGggKiAyIDogc2VsZWN0aW9uU3RhcnQgKyBtYXJrZXIubGVuZ3RoXHJcbiAgICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRleHQpO1xyXG4gICAgICAgICAgICB0ZXh0YXJlYS5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblRheG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZXBsYWNlTWFya2VkKCdbTmFtZV0odGF4b246MCknKTtcclxuICAgIH1cclxuXHJcbiAgICBvblJlZmVyZW5jZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVwbGFjZU1hcmtlZCgnW05hbWVdKHJlZmVyZW5jZTowKScpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVwbGFjZU1hcmtlZChyZXBsYWNlVGFnOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0ZXh0YXJlYScpO1xyXG4gICAgICAgIGlmICh0ZXh0YXJlYSkge1xyXG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0O1xyXG4gICAgICAgICAgICBjb25zdCBlbmQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25FbmQ7XHJcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGV4dCA9IHRleHRhcmVhLnZhbHVlO1xyXG4gICAgICAgICAgICBjb25zdCBjaGFyQmVmb3JlID0gc3RhcnQgPiAwID8gb3JpZ2luYWxUZXh0W3N0YXJ0IC0gMV0gOiAnJztcclxuICAgICAgICAgICAgY29uc3QgY2hhckFmdGVyID0gZW5kIDwgb3JpZ2luYWxUZXh0Lmxlbmd0aCA/IG9yaWdpbmFsVGV4dFtlbmRdIDogJyc7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzcGFjZUJlZm9yZSA9IGNoYXJCZWZvcmUgJiYgIS9cXHMvLnRlc3QoY2hhckJlZm9yZSkgPyAnICcgOiAnJztcclxuICAgICAgICAgICAgY29uc3Qgc3BhY2VBZnRlciA9IGNoYXJBZnRlciAmJiAhL1xccy8udGVzdChjaGFyQWZ0ZXIpID8gJyAnIDogJyc7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBuZXdUZXh0ID0gb3JpZ2luYWxUZXh0LnNsaWNlKDAsIHN0YXJ0KSArIHNwYWNlQmVmb3JlICsgcmVwbGFjZVRhZyArIHNwYWNlQWZ0ZXIgKyBvcmlnaW5hbFRleHQuc2xpY2UoZW5kKTtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gbmV3VGV4dDtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRleHQpO1xyXG4gICAgICAgICAgICBjb25zdCBuYW1lU3RhcnQgPSBuZXdUZXh0LmluZGV4T2YoJ05hbWUnLCBzdGFydCk7IC8vIEZpbmQgJ05hbWUnIHN0YXJ0aW5nIGZyb20gdGhlIHByZXZpb3VzIHNlbGVjdGlvbiBzdGFydFxyXG4gICAgICAgICAgICBpZiAobmFtZVN0YXJ0ICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbmFtZUVuZCA9IG5hbWVTdGFydCArICdOYW1lJy5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gVXNlIHNldFRpbWVvdXQgdG8gbWFrZSBzdXJlIHRoZSB0ZXh0YXJlYSBpcyB1cGRhdGVkIGJlZm9yZSBzZWxlY3RpbmdcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHRhcmVhLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWEuc2V0U2VsZWN0aW9uUmFuZ2UobmFtZVN0YXJ0LCBuYW1lRW5kKTsgLy8gU2VsZWN0IHRoZSAnTmFtZScgc3RyaW5nXHJcbiAgICAgICAgICAgICAgICB9LCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblRleHRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRleHQgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIH1cclxufSIsIjxkaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTMgbWItMVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJvbkl0YWxpY0NsaWNrKClcIiB0aXRsZT1cIkl0YWxpY1wiIGFyaWEtbGFiZWw9XCJJdGFsaWNcIiB0eXBlPVwiYnV0dG9uXCI+PHNwYW4gY2xhc3M9XCJmYXMgZmEtaXRhbGljXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJvbkJvbGRDbGljaygpXCIgdGl0bGU9XCJJdGFsaWNcIiBhcmlhLWxhYmVsPVwic3Ryb25nXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWJvbGRcIj48L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImhhc1RheG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJvblRheG9uQ2xpY2soKVwiIHRpdGxlPVwiVGF4b25cIiBhcmlhLWxhYmVsPVwiVGF4b25cIiB0eXBlPVwiYnV0dG9uXCI+PHNwYW4gY2xhc3M9XCJmYXMgZmEtYnVnXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJoYXNSZWZlcmVuY2VcIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm9uUmVmZXJlbmNlQ2xpY2soKVwiIHRpdGxlPVwiUmVmZXJlbmNlXCIgYXJpYS1sYWJlbD1cIlJlZmVyZW5jZVwiIHR5cGU9XCJidXR0b25cIj48c3BhbiBjbGFzcz1cImZhcyBmYS1hc3Rlcmlza1wiPjwvc3Bhbj48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0ZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKClcIiAoZGJsY2xpY2spPVwib25Eb3VibGVDbGljaygpXCI+PC90ZXh0YXJlYT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
import { CommonModule } from
|
|
2
|
-
import { NgModule } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { RichTextComponent } from
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { AdbRichEditorComponent } from './adb-rich-editor.component';
|
|
5
|
+
import { RichTextComponent } from './adb-rich-text';
|
|
6
|
+
import { RICH_MODULE_CONFIG } from './rich-module-config';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class AdbRichEditorModule {
|
|
9
|
+
static forRoot(config) {
|
|
10
|
+
return {
|
|
11
|
+
ngModule: AdbRichEditorModule,
|
|
12
|
+
providers: [
|
|
13
|
+
{ provide: RICH_MODULE_CONFIG, useValue: config }
|
|
14
|
+
]
|
|
15
|
+
};
|
|
16
|
+
}
|
|
8
17
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
18
|
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, declarations: [AdbRichEditorComponent, RichTextComponent], imports: [CommonModule, FormsModule], exports: [AdbRichEditorComponent, RichTextComponent] }); }
|
|
10
19
|
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, imports: [CommonModule, FormsModule] }); }
|
|
@@ -17,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
17
26
|
exports: [AdbRichEditorComponent, RichTextComponent]
|
|
18
27
|
}]
|
|
19
28
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXJpY2gtZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7QUFPNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXdCO1FBQ3JDLE9BQU87WUFDTCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQ2xEO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBUlUsbUJBQW1CO2tJQUFuQixtQkFBbUIsaUJBSGYsc0JBQXNCLEVBQUUsaUJBQWlCLGFBRDlDLFlBQVksRUFBRSxXQUFXLGFBRXpCLHNCQUFzQixFQUFFLGlCQUFpQjtrSUFFeEMsbUJBQW1CLFlBSnBCLFlBQVksRUFBRSxXQUFXOzsyRkFJeEIsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDO29CQUN6RCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWRiUmljaEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9hZGItcmljaC10ZXh0JztcclxuaW1wb3J0IHsgUklDSF9NT0RVTEVfQ09ORklHLCBSaWNoTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9yaWNoLW1vZHVsZS1jb25maWcnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgZGVjbGFyYXRpb25zOiBbQWRiUmljaEVkaXRvckNvbXBvbmVudCwgUmljaFRleHRDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtBZGJSaWNoRWRpdG9yQ29tcG9uZW50LCBSaWNoVGV4dENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYlJpY2hFZGl0b3JNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUmljaE1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QWRiUmljaEVkaXRvck1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFkYlJpY2hFZGl0b3JNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogUklDSF9NT0RVTEVfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { RICH_MODULE_CONFIG } from './rich-module-config';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/common";
|
|
4
5
|
export class RichTextComponent {
|
|
5
|
-
constructor() {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.config = config;
|
|
6
8
|
this.text = '';
|
|
7
|
-
this.baseUrl = '';
|
|
8
9
|
this.parts = [];
|
|
10
|
+
this.taxonUrl = config.taxonUrl;
|
|
9
11
|
}
|
|
10
12
|
ngOnChanges() {
|
|
11
13
|
if (this.text) {
|
|
@@ -48,15 +50,16 @@ export class RichTextComponent {
|
|
|
48
50
|
}
|
|
49
51
|
return parts;
|
|
50
52
|
}
|
|
51
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RichTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RichTextComponent, selector: "adb-rich-text", inputs: { text: "text"
|
|
53
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RichTextComponent, deps: [{ token: RICH_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RichTextComponent, selector: "adb-rich-text", inputs: { text: "text" }, usesOnChanges: true, ngImport: i0, template: "<div style=\"white-space: pre-wrap;\">\r\n <ng-container *ngFor=\"let part of parts\">\r\n <span *ngIf=\"part.type === 'text'\">{{ part.content }}</span>\r\n <em *ngIf=\"part.type === 'italic'\">{{ part.content }}</em>\r\n <b *ngIf=\"part.type === 'bold'\">{{ part.content }}</b>\r\n <a *ngIf=\"part.type === 'taxon'\" [href]=\"taxonUrl + part.id\">{{ part.content }}</a>\r\n <span *ngIf=\"part.type === 'term'\">{{ part.content }}</span>\r\n <span *ngIf=\"part.type === 'reference'\">{{ part.content }}</span>\r\n </ng-container>\r\n </div>\r\n ", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
53
55
|
}
|
|
54
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RichTextComponent, decorators: [{
|
|
55
57
|
type: Component,
|
|
56
|
-
args: [{ selector: 'adb-rich-text', template: "<div style=\"white-space: pre-wrap;\">\r\n <ng-container *ngFor=\"let part of parts\">\r\n <span *ngIf=\"part.type === 'text'\">{{ part.content }}</span>\r\n <em *ngIf=\"part.type === 'italic'\">{{ part.content }}</em>\r\n <b *ngIf=\"part.type === 'bold'\">{{ part.content }}</b>\r\n <a *ngIf=\"part.type === 'taxon'\" [href]=\"
|
|
57
|
-
}],
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
args: [{ selector: 'adb-rich-text', template: "<div style=\"white-space: pre-wrap;\">\r\n <ng-container *ngFor=\"let part of parts\">\r\n <span *ngIf=\"part.type === 'text'\">{{ part.content }}</span>\r\n <em *ngIf=\"part.type === 'italic'\">{{ part.content }}</em>\r\n <b *ngIf=\"part.type === 'bold'\">{{ part.content }}</b>\r\n <a *ngIf=\"part.type === 'taxon'\" [href]=\"taxonUrl + part.id\">{{ part.content }}</a>\r\n <span *ngIf=\"part.type === 'term'\">{{ part.content }}</span>\r\n <span *ngIf=\"part.type === 'reference'\">{{ part.content }}</span>\r\n </ng-container>\r\n </div>\r\n " }]
|
|
59
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
60
|
+
type: Inject,
|
|
61
|
+
args: [RICH_MODULE_CONFIG]
|
|
62
|
+
}] }], propDecorators: { text: [{
|
|
60
63
|
type: Input
|
|
61
64
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXJpY2gtdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtdGV4dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtdGV4dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sc0JBQXNCLENBQUM7OztBQVc1RSxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQWdELE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBTC9ELFNBQUksR0FBVyxFQUFFLENBQUM7UUFFcEIsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFJaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFhO1FBQ3ZDLE1BQU0sS0FBSyxHQUFtQixFQUFFLENBQUM7UUFFakMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNqQyxNQUFNLFVBQVUsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNwRCxNQUFNLFNBQVMsR0FBRywrQkFBK0IsQ0FBQztRQUNsRCxNQUFNLGNBQWMsR0FBRyxvQ0FBb0MsQ0FBQztRQUU1RCxNQUFNLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXJKLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLEtBQUssQ0FBQztRQUVWLE9BQU8sQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3BELElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0UsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRCxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakUsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRSxDQUFDO1lBRUQsU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztpSUF0RFUsaUJBQWlCLGtCQU1SLGtCQUFrQjtxSEFOM0IsaUJBQWlCLG9HQ1o5Qiwwa0JBVUU7OzJGREVXLGlCQUFpQjtrQkFKN0IsU0FBUzsrQkFDRSxlQUFlOzswQkFTWixNQUFNOzJCQUFDLGtCQUFrQjt5Q0FMN0IsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJJQ0hfTU9EVUxFX0NPTkZJRywgUmljaE1vZHVsZUNvbmZpZyB9IGZyb20gJy4vcmljaC1tb2R1bGUtY29uZmlnJztcclxuZXhwb3J0IGludGVyZmFjZSBSaWNoVGV4dFBhcnQge1xyXG4gIHR5cGU6ICd0ZXh0JyB8ICdpdGFsaWMnIHwgJ2JvbGQnIHwgJ3RheG9uJyB8ICd0ZXJtJyB8ICdyZWZlcmVuY2UnO1xyXG4gIGNvbnRlbnQ6IHN0cmluZztcclxuICBpZD86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhZGItcmljaC10ZXh0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRiLXJpY2gtdGV4dC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJpY2hUZXh0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHVibGljIHBhcnRzOiBSaWNoVGV4dFBhcnRbXSA9IFtdO1xyXG4gIHRheG9uVXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUklDSF9NT0RVTEVfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogUmljaE1vZHVsZUNvbmZpZykge1xyXG4gICAgdGhpcy50YXhvblVybCA9IGNvbmZpZy50YXhvblVybDtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMudGV4dCkge1xyXG4gICAgICB0aGlzLnBhcnRzID0gdGhpcy5wYXJzZUN1c3RvbU1hcmtkb3duKHRoaXMudGV4dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlQ3VzdG9tTWFya2Rvd24oaW5wdXQ6IHN0cmluZyk6IFJpY2hUZXh0UGFydFtdIHtcclxuICAgIGNvbnN0IHBhcnRzOiBSaWNoVGV4dFBhcnRbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGl0YWxpY1JlZ2V4ID0gL18oW15fXSspXy9nO1xyXG4gICAgY29uc3QgYm9sZFJlZ2V4ID0gL19fKFteX10rKV9fL2c7XHJcbiAgICBjb25zdCB0YXhvblJlZ2V4ID0gL1xcWyhbXlxcXV0rKVxcXVxcKHRheG9uOihbXildKylcXCkvZztcclxuICAgIGNvbnN0IHRlcm1SZWdleCA9IC9cXFsoW15cXF1dKylcXF1cXCh0ZXJtOihbXildKylcXCkvZztcclxuICAgIGNvbnN0IHJlZmVyZW5jZVJlZ2V4ID0gL1xcWyhbXlxcXV0rKVxcXVxcKHJlZmVyZW5jZTooW14pXSspXFwpL2c7XHJcblxyXG4gICAgY29uc3QgY29tYmluZWRSZWdleCA9IG5ldyBSZWdFeHAoYCR7aXRhbGljUmVnZXguc291cmNlfXwke2JvbGRSZWdleC5zb3VyY2V9fCR7dGF4b25SZWdleC5zb3VyY2V9fCR7dGVybVJlZ2V4LnNvdXJjZX18JHtyZWZlcmVuY2VSZWdleC5zb3VyY2V9YCwgJ2cnKTtcclxuXHJcbiAgICBsZXQgbGFzdEluZGV4ID0gMDtcclxuICAgIGxldCBtYXRjaDtcclxuXHJcbiAgICB3aGlsZSAoKG1hdGNoID0gY29tYmluZWRSZWdleC5leGVjKGlucHV0KSkgIT09IG51bGwpIHtcclxuICAgICAgaWYgKG1hdGNoLmluZGV4ID4gbGFzdEluZGV4KSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICd0ZXh0JywgY29udGVudDogaW5wdXQuc2xpY2UobGFzdEluZGV4LCBtYXRjaC5pbmRleCkgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1hdGNoWzFdKSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICdpdGFsaWMnLCBjb250ZW50OiBtYXRjaFsxXSB9KTtcclxuICAgICAgfSBlbHNlIGlmIChtYXRjaFsyXSkge1xyXG4gICAgICAgIHBhcnRzLnB1c2goeyB0eXBlOiAnYm9sZCcsIGNvbnRlbnQ6IG1hdGNoWzJdIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKG1hdGNoWzNdKSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICd0YXhvbicsIGNvbnRlbnQ6IG1hdGNoWzNdLCBpZDogbWF0Y2hbNF0gfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAobWF0Y2hbNV0pIHtcclxuICAgICAgICBwYXJ0cy5wdXNoKHsgdHlwZTogJ3Rlcm0nLCBjb250ZW50OiBtYXRjaFs1XSwgaWQ6IG1hdGNoWzZdIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKG1hdGNoWzddKSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICdyZWZlcmVuY2UnLCBjb250ZW50OiBtYXRjaFs3XSwgaWQ6IG1hdGNoWzhdIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsYXN0SW5kZXggPSBjb21iaW5lZFJlZ2V4Lmxhc3RJbmRleDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGFzdEluZGV4IDwgaW5wdXQubGVuZ3RoKSB7XHJcbiAgICAgIHBhcnRzLnB1c2goeyB0eXBlOiAndGV4dCcsIGNvbnRlbnQ6IGlucHV0LnNsaWNlKGxhc3RJbmRleCkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhcnRzO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtd3JhcDtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhcnQgb2YgcGFydHNcIj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYXJ0LnR5cGUgPT09ICd0ZXh0J1wiPnt7IHBhcnQuY29udGVudCB9fTwvc3Bhbj5cclxuICAgICAgPGVtICpuZ0lmPVwicGFydC50eXBlID09PSAnaXRhbGljJ1wiPnt7IHBhcnQuY29udGVudCB9fTwvZW0+XHJcbiAgICAgIDxiICpuZ0lmPVwicGFydC50eXBlID09PSAnYm9sZCdcIj57eyBwYXJ0LmNvbnRlbnQgfX08L2I+XHJcbiAgICAgIDxhICpuZ0lmPVwicGFydC50eXBlID09PSAndGF4b24nXCIgW2hyZWZdPVwidGF4b25VcmwgKyBwYXJ0LmlkXCI+e3sgcGFydC5jb250ZW50IH19PC9hPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhcnQudHlwZSA9PT0gJ3Rlcm0nXCI+e3sgcGFydC5jb250ZW50IH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhcnQudHlwZSA9PT0gJ3JlZmVyZW5jZSdcIj57eyBwYXJ0LmNvbnRlbnQgfX08L3NwYW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICAiXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const RICH_MODULE_CONFIG = new InjectionToken('richModule.config');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC1tb2R1bGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJ0ZGF0YS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2FkYi1yaWNoLWVkaXRvci9yaWNoLW1vZHVsZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hNb2R1bGVDb25maWcge1xyXG4gIHRheG9uVXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBSSUNIX01PRFVMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmljaE1vZHVsZUNvbmZpZz4oJ3JpY2hNb2R1bGUuY29uZmlnJyk7XHJcbiJdfQ==
|
|
@@ -5,7 +5,7 @@ export class EmptyValuePipe {
|
|
|
5
5
|
if (!value) {
|
|
6
6
|
return '-';
|
|
7
7
|
}
|
|
8
|
-
if (value.trim() === '') {
|
|
8
|
+
if (String(value).trim() === '') {
|
|
9
9
|
return '-';
|
|
10
10
|
}
|
|
11
11
|
return value;
|
|
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
19
19
|
name: 'adbEmptyValue'
|
|
20
20
|
}]
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHlWYWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJ0ZGF0YS1zaGFyZWQvc3JjL2xpYi9waXBlcy9lbXB0eVZhbHVlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBSXBELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7aUlBVFEsY0FBYzsrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxlQUFlO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ2FkYkVtcHR5VmFsdWUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbXB0eVZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnLSc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChTdHJpbmcodmFsdWUpLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgICAgcmV0dXJuICctJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/fesm2022/adb-shared.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i2$1 from '@angular/common';
|
|
2
2
|
import { CommonModule, DatePipe, formatDate } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable, Inject, EventEmitter, Directive, Output, HostListener, Input, HostBinding, NgModule, Component, Pipe, forwardRef } from '@angular/core';
|
|
4
|
+
import { Injectable, Inject, EventEmitter, Directive, Output, HostListener, Input, HostBinding, NgModule, Component, Pipe, forwardRef, InjectionToken } from '@angular/core';
|
|
5
5
|
import * as i1$1 from '@ngx-translate/core';
|
|
6
6
|
import { TranslateModule } from '@ngx-translate/core';
|
|
7
7
|
import * as i1 from '@angular/common/http';
|
|
@@ -1000,7 +1000,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
1000
1000
|
TranslateModule,
|
|
1001
1001
|
AdbDirectivesModule,
|
|
1002
1002
|
AdbDropdownModule,
|
|
1003
|
-
AdbPagersModule],
|
|
1003
|
+
AdbPagersModule],
|
|
1004
|
+
providers: [provideHttpClient(withInterceptorsFromDi())] }]
|
|
1004
1005
|
}] });
|
|
1005
1006
|
|
|
1006
1007
|
class LocaleDatePipe {
|
|
@@ -1026,7 +1027,7 @@ class EmptyValuePipe {
|
|
|
1026
1027
|
if (!value) {
|
|
1027
1028
|
return '-';
|
|
1028
1029
|
}
|
|
1029
|
-
if (value.trim() === '') {
|
|
1030
|
+
if (String(value).trim() === '') {
|
|
1030
1031
|
return '-';
|
|
1031
1032
|
}
|
|
1032
1033
|
return value;
|
|
@@ -1795,25 +1796,25 @@ class AdbRichEditorComponent {
|
|
|
1795
1796
|
textarea.setSelectionRange(selectionStart, selectionEnd);
|
|
1796
1797
|
}
|
|
1797
1798
|
onItalicClick() {
|
|
1798
|
-
|
|
1799
|
-
if (textarea) {
|
|
1800
|
-
const selectionStart = textarea.selectionStart;
|
|
1801
|
-
const selectionEnd = textarea.selectionEnd;
|
|
1802
|
-
let currentValue = textarea.value;
|
|
1803
|
-
let modifiedText = `${currentValue.substring(0, selectionStart)}_${currentValue.substring(selectionStart, selectionEnd)}_${currentValue.substring(selectionEnd)}`;
|
|
1804
|
-
this.text = modifiedText;
|
|
1805
|
-
this.onChange(this.text);
|
|
1806
|
-
}
|
|
1799
|
+
this.applyFormatting('_');
|
|
1807
1800
|
}
|
|
1808
1801
|
onBoldClick() {
|
|
1802
|
+
this.applyFormatting('__');
|
|
1803
|
+
}
|
|
1804
|
+
applyFormatting(marker) {
|
|
1809
1805
|
const textarea = this.el.nativeElement.querySelector('textarea');
|
|
1810
1806
|
if (textarea) {
|
|
1811
1807
|
const selectionStart = textarea.selectionStart;
|
|
1812
1808
|
const selectionEnd = textarea.selectionEnd;
|
|
1813
1809
|
let currentValue = textarea.value;
|
|
1814
|
-
let modifiedText =
|
|
1810
|
+
let modifiedText = selectionStart !== selectionEnd
|
|
1811
|
+
? `${currentValue.substring(0, selectionStart)}${marker}${currentValue.substring(selectionStart, selectionEnd)}${marker}${currentValue.substring(selectionEnd)}`
|
|
1812
|
+
: `${currentValue.substring(0, selectionStart)}${marker}${marker}${currentValue.substring(selectionStart)}`;
|
|
1815
1813
|
this.text = modifiedText;
|
|
1814
|
+
textarea.value = modifiedText;
|
|
1815
|
+
textarea.setSelectionRange(selectionStart !== selectionEnd ? selectionEnd + marker.length * 2 : selectionStart + marker.length, selectionStart !== selectionEnd ? selectionEnd + marker.length * 2 : selectionStart + marker.length);
|
|
1816
1816
|
this.onChange(this.text);
|
|
1817
|
+
textarea.focus();
|
|
1817
1818
|
}
|
|
1818
1819
|
}
|
|
1819
1820
|
onTaxonClick() {
|
|
@@ -1880,11 +1881,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
1880
1881
|
type: Input
|
|
1881
1882
|
}] } });
|
|
1882
1883
|
|
|
1884
|
+
const RICH_MODULE_CONFIG = new InjectionToken('richModule.config');
|
|
1885
|
+
|
|
1883
1886
|
class RichTextComponent {
|
|
1884
|
-
constructor() {
|
|
1887
|
+
constructor(config) {
|
|
1888
|
+
this.config = config;
|
|
1885
1889
|
this.text = '';
|
|
1886
|
-
this.baseUrl = '';
|
|
1887
1890
|
this.parts = [];
|
|
1891
|
+
this.taxonUrl = config.taxonUrl;
|
|
1888
1892
|
}
|
|
1889
1893
|
ngOnChanges() {
|
|
1890
1894
|
if (this.text) {
|
|
@@ -1927,19 +1931,28 @@ class RichTextComponent {
|
|
|
1927
1931
|
}
|
|
1928
1932
|
return parts;
|
|
1929
1933
|
}
|
|
1930
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RichTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1931
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RichTextComponent, selector: "adb-rich-text", inputs: { text: "text"
|
|
1934
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RichTextComponent, deps: [{ token: RICH_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1935
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RichTextComponent, selector: "adb-rich-text", inputs: { text: "text" }, usesOnChanges: true, ngImport: i0, template: "<div style=\"white-space: pre-wrap;\">\r\n <ng-container *ngFor=\"let part of parts\">\r\n <span *ngIf=\"part.type === 'text'\">{{ part.content }}</span>\r\n <em *ngIf=\"part.type === 'italic'\">{{ part.content }}</em>\r\n <b *ngIf=\"part.type === 'bold'\">{{ part.content }}</b>\r\n <a *ngIf=\"part.type === 'taxon'\" [href]=\"taxonUrl + part.id\">{{ part.content }}</a>\r\n <span *ngIf=\"part.type === 'term'\">{{ part.content }}</span>\r\n <span *ngIf=\"part.type === 'reference'\">{{ part.content }}</span>\r\n </ng-container>\r\n </div>\r\n ", dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1932
1936
|
}
|
|
1933
1937
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RichTextComponent, decorators: [{
|
|
1934
1938
|
type: Component,
|
|
1935
|
-
args: [{ selector: 'adb-rich-text', template: "<div style=\"white-space: pre-wrap;\">\r\n <ng-container *ngFor=\"let part of parts\">\r\n <span *ngIf=\"part.type === 'text'\">{{ part.content }}</span>\r\n <em *ngIf=\"part.type === 'italic'\">{{ part.content }}</em>\r\n <b *ngIf=\"part.type === 'bold'\">{{ part.content }}</b>\r\n <a *ngIf=\"part.type === 'taxon'\" [href]=\"
|
|
1936
|
-
}],
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
+
args: [{ selector: 'adb-rich-text', template: "<div style=\"white-space: pre-wrap;\">\r\n <ng-container *ngFor=\"let part of parts\">\r\n <span *ngIf=\"part.type === 'text'\">{{ part.content }}</span>\r\n <em *ngIf=\"part.type === 'italic'\">{{ part.content }}</em>\r\n <b *ngIf=\"part.type === 'bold'\">{{ part.content }}</b>\r\n <a *ngIf=\"part.type === 'taxon'\" [href]=\"taxonUrl + part.id\">{{ part.content }}</a>\r\n <span *ngIf=\"part.type === 'term'\">{{ part.content }}</span>\r\n <span *ngIf=\"part.type === 'reference'\">{{ part.content }}</span>\r\n </ng-container>\r\n </div>\r\n " }]
|
|
1940
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1941
|
+
type: Inject,
|
|
1942
|
+
args: [RICH_MODULE_CONFIG]
|
|
1943
|
+
}] }], propDecorators: { text: [{
|
|
1939
1944
|
type: Input
|
|
1940
1945
|
}] } });
|
|
1941
1946
|
|
|
1942
1947
|
class AdbRichEditorModule {
|
|
1948
|
+
static forRoot(config) {
|
|
1949
|
+
return {
|
|
1950
|
+
ngModule: AdbRichEditorModule,
|
|
1951
|
+
providers: [
|
|
1952
|
+
{ provide: RICH_MODULE_CONFIG, useValue: config }
|
|
1953
|
+
]
|
|
1954
|
+
};
|
|
1955
|
+
}
|
|
1943
1956
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1944
1957
|
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, declarations: [AdbRichEditorComponent, RichTextComponent], imports: [CommonModule, FormsModule], exports: [AdbRichEditorComponent, RichTextComponent] }); }
|
|
1945
1958
|
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, imports: [CommonModule, FormsModule] }); }
|