adb-shared 6.0.56 → 6.1.1
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/fesm2022/adb-shared.mjs +204 -187
- package/fesm2022/adb-shared.mjs.map +1 -1
- package/lib/components/pagers/pager-base.directive.d.ts +1 -1
- package/package.json +7 -9
- package/esm2022/adb-shared.mjs +0 -5
- package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-footer.component.mjs +0 -48
- package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.component.mjs +0 -112
- package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.module.mjs +0 -59
- package/esm2022/lib/components/adb-artportalen-nav/environment.service.mjs +0 -16
- package/esm2022/lib/components/adb-artportalen-nav/navigation.model.mjs +0 -2
- package/esm2022/lib/components/adb-buttons/adb-buttons.module.mjs +0 -19
- package/esm2022/lib/components/adb-buttons/help-button.component.mjs +0 -48
- package/esm2022/lib/components/adb-confirm-modal/adb-confirm-modal.mjs +0 -29
- package/esm2022/lib/components/adb-confirm-modal/adb-modal.module.mjs +0 -23
- package/esm2022/lib/components/adb-confirm-modal/adb-modal.service.mjs +0 -47
- package/esm2022/lib/components/adb-dropdown/adb-dropdown.directive.mjs +0 -100
- package/esm2022/lib/components/adb-dropdown/adb-dropdown.module.mjs +0 -24
- package/esm2022/lib/components/adb-dropdown/adb-dropdown.service.mjs +0 -10
- package/esm2022/lib/components/adb-dropdown/adb-dropdown2.directive.mjs +0 -119
- package/esm2022/lib/components/adb-filter-section/adb-filter-section.module.mjs +0 -21
- package/esm2022/lib/components/adb-filter-section/filter-section.component.mjs +0 -31
- package/esm2022/lib/components/adb-header/adb-header.module.mjs +0 -49
- package/esm2022/lib/components/adb-header/adb-nav.component.mjs +0 -115
- package/esm2022/lib/components/adb-header/environment.service.mjs +0 -16
- package/esm2022/lib/components/adb-header/navigation.model.mjs +0 -2
- package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.component.mjs +0 -112
- package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.module.mjs +0 -29
- package/esm2022/lib/components/adb-rich-editor/adb-rich-text.mjs +0 -65
- package/esm2022/lib/components/adb-rich-editor/rich-module-config.mjs +0 -3
- package/esm2022/lib/components/adb-toast/adb-toast.mjs +0 -25
- package/esm2022/lib/components/adb-toast/adb-toast.module.mjs +0 -23
- package/esm2022/lib/components/adb-toast/adb-toast.service.mjs +0 -55
- package/esm2022/lib/components/adb-user/adb-user-service-config.mjs +0 -11
- package/esm2022/lib/components/adb-user/adb-user.interceptor.mjs +0 -46
- package/esm2022/lib/components/adb-user/adb-user.module.mjs +0 -59
- package/esm2022/lib/components/adb-user/adb-user.service.mjs +0 -214
- package/esm2022/lib/components/adb-user/auth-callback.component.mjs +0 -57
- package/esm2022/lib/components/adb-user/user-constants.mjs +0 -10
- package/esm2022/lib/components/date-picker/adb-date-picker.component.mjs +0 -177
- package/esm2022/lib/components/date-picker/adb-date-picker.directive.mjs +0 -220
- package/esm2022/lib/components/date-picker/adb-date-picker.module.mjs +0 -25
- package/esm2022/lib/components/date-picker/adb-date-picker.service.mjs +0 -10
- package/esm2022/lib/components/pagers/infinite-scroll.component.mjs +0 -47
- package/esm2022/lib/components/pagers/pager-base.directive.mjs +0 -57
- package/esm2022/lib/components/pagers/pager-inline.mjs +0 -49
- package/esm2022/lib/components/pagers/pager.mjs +0 -53
- package/esm2022/lib/components/pagers/pagers.module.mjs +0 -26
- package/esm2022/lib/directives/click-outside.directive.mjs +0 -28
- package/esm2022/lib/directives/directives.module.mjs +0 -21
- package/esm2022/lib/directives/file-upload.directive.mjs +0 -36
- package/esm2022/lib/directives/focus.directive.mjs +0 -34
- package/esm2022/lib/directives/redlist-badge-class.directive.mjs +0 -44
- package/esm2022/lib/directives/risk-class.directive.mjs +0 -37
- package/esm2022/lib/pipes/date.pipe.mjs +0 -22
- package/esm2022/lib/pipes/emptyValue.pipe.mjs +0 -22
- package/esm2022/lib/pipes/highlight-html.pipe.mjs +0 -46
- package/esm2022/lib/pipes/highlight.pipe.mjs +0 -46
- package/esm2022/lib/pipes/number-spacing.pipe.mjs +0 -21
- package/esm2022/lib/pipes/pipes.module.mjs +0 -21
- package/esm2022/public-api.mjs +0 -50
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { NavigationEnd, } from '@angular/router';
|
|
3
|
-
import { Subscription } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common/http";
|
|
6
|
-
import * as i2 from "@angular/router";
|
|
7
|
-
import * as i3 from "./environment.service";
|
|
8
|
-
import * as i4 from "@ngx-translate/core";
|
|
9
|
-
import * as i5 from "@angular/common";
|
|
10
|
-
import * as i6 from "../../directives/click-outside.directive";
|
|
11
|
-
export class ADBNavComponent {
|
|
12
|
-
set userName(fullName) {
|
|
13
|
-
this.fullName = fullName;
|
|
14
|
-
const splitted = fullName?.split(' ');
|
|
15
|
-
if (splitted?.length > 1) {
|
|
16
|
-
const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);
|
|
17
|
-
this.initials = initials.toUpperCase();
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
this.initials = this.fullName ? this.fullName.charAt(0).toUpperCase() : this.fullName;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
;
|
|
24
|
-
constructor(httpClient, router, envService, trans) {
|
|
25
|
-
this.httpClient = httpClient;
|
|
26
|
-
this.router = router;
|
|
27
|
-
this.envService = envService;
|
|
28
|
-
this.trans = trans;
|
|
29
|
-
this.subscription = new Subscription();
|
|
30
|
-
this.loginClicked = new EventEmitter();
|
|
31
|
-
this.logoutClicked = new EventEmitter();
|
|
32
|
-
this.dropMenuChange = new EventEmitter();
|
|
33
|
-
this.showPattern = false;
|
|
34
|
-
this.translationFinished = false;
|
|
35
|
-
this.lastPosition = 0;
|
|
36
|
-
this.artfakta = true;
|
|
37
|
-
this.showNavMenu = false;
|
|
38
|
-
this.showUserMenu = false;
|
|
39
|
-
this.showArtfakta = true;
|
|
40
|
-
this.showNOS = true;
|
|
41
|
-
}
|
|
42
|
-
ngOnInit() {
|
|
43
|
-
this.url = window.location.href;
|
|
44
|
-
const baseUrl = this.envService.environment.resourceUrl;
|
|
45
|
-
const url = this.artfakta ? '/assets/links-ap3.json' : '/assets/artportalen/links-ap3.json';
|
|
46
|
-
this.subscription.add(this.httpClient.get(baseUrl + url).subscribe(result => {
|
|
47
|
-
this.navigation = result;
|
|
48
|
-
}));
|
|
49
|
-
this.initTranslations(baseUrl);
|
|
50
|
-
this.router.events.subscribe((event) => {
|
|
51
|
-
if (event instanceof NavigationEnd) {
|
|
52
|
-
this.showNavMenu = false;
|
|
53
|
-
this.dropMenuChange.emit(this.showNavMenu);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
initTranslations(baseUrl) {
|
|
58
|
-
if (this.trans.store.translations[this.trans.currentLang]) {
|
|
59
|
-
this.loadTranslation(baseUrl, this.trans.currentLang);
|
|
60
|
-
}
|
|
61
|
-
this.subscription.add(this.trans.onLangChange.subscribe((event) => {
|
|
62
|
-
this.translationFinished = false;
|
|
63
|
-
this.loadTranslation(baseUrl, event.lang);
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
loadTranslation(baseUrl, lang) {
|
|
67
|
-
//TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
|
|
68
|
-
const url = this.artfakta ? baseUrl + `/assets/i18n/${lang}.json` : baseUrl + `/assets/artportalen/i18n/${lang}.json`;
|
|
69
|
-
this.subscription.add(this.httpClient.get(url).subscribe(translations => {
|
|
70
|
-
this.trans.setTranslation(lang, translations, true);
|
|
71
|
-
this.translationFinished = true;
|
|
72
|
-
}));
|
|
73
|
-
}
|
|
74
|
-
showMenuDropdown(show) {
|
|
75
|
-
this.showUserMenu = false;
|
|
76
|
-
if (this.showNavMenu !== show) {
|
|
77
|
-
this.showNavMenu = show;
|
|
78
|
-
this.dropMenuChange.emit(show);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
setLanguage(lang) {
|
|
82
|
-
this.trans.use(lang);
|
|
83
|
-
this.showNavMenu = false;
|
|
84
|
-
this.dropMenuChange.emit(false);
|
|
85
|
-
//TODO: set localstorage/cookies or probaly event to main app
|
|
86
|
-
}
|
|
87
|
-
login() {
|
|
88
|
-
this.loginClicked.emit();
|
|
89
|
-
}
|
|
90
|
-
logout() {
|
|
91
|
-
this.logoutClicked.emit();
|
|
92
|
-
}
|
|
93
|
-
ngOnDestroy() {
|
|
94
|
-
this.subscription.unsubscribe();
|
|
95
|
-
}
|
|
96
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ADBNavComponent, deps: [{ token: i1.HttpClient }, { token: i2.Router }, { token: i3.EnvironmentService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ADBNavComponent, selector: "adb-nav", inputs: { showPattern: "showPattern", userName: "userName", artfakta: "artfakta" }, outputs: { loginClicked: "loginClicked", logoutClicked: "logoutClicked", dropMenuChange: "dropMenuChange" }, ngImport: i0, template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-1\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artfakta</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n attr.aria-label=\"{{'ADB_HEADER.MENY'|translate}}\"\r\n (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'ADB_HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\"\r\n [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artfakta</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div tabindex=\"-1\" class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showArtfakta?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showArtfakta = !showArtfakta\"\r\n attr.aria-controls=\"artfakta-links\" attr.aria-expanded=\"{{showArtfakta}}\">\r\n <span class=\"fas\" [ngClass]=\"showArtfakta?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showArtfakta\" id=\"artfakta-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.keys.url}}\" class=\"text-white\">\r\n {{navigation.keys.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.mySpecies.url}}\" class=\"text-white\">\r\n {{navigation.mySpecies.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.lists.url}}\" class=\"text-white\">\r\n {{navigation.lists.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.imageRec.url}}\" class=\"text-white\">\r\n {{navigation.imageRec.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.filter.url}}\" class=\"text-white\">\r\n {{navigation.filter.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showNOS?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <button class=\"btn btn-link p-0 text-white w-100 text-start\" (click)=\"showNOS = !showNOS\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </button>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showNOS = !showNOS\" attr.aria-controls=\"nos-links\" attr.aria-expanded=\"{{showNOS}}\">\r\n <span class=\"fas\" [ngClass]=\"showNOS?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showNOS\" id=\"nos-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.nameSearch.url}}\" class=\"text-white\">\r\n {{navigation.nameSearch.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.match.url}}\" class=\"text-white\">\r\n {{navigation.match.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6.ClickOutsideDirective, selector: "[adbClickOutside]", outputs: ["adbClickOutside"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ADBNavComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ selector: 'adb-nav', template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-1\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artfakta</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n attr.aria-label=\"{{'ADB_HEADER.MENY'|translate}}\"\r\n (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'ADB_HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\"\r\n [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artfakta</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div tabindex=\"-1\" class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showArtfakta?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showArtfakta = !showArtfakta\"\r\n attr.aria-controls=\"artfakta-links\" attr.aria-expanded=\"{{showArtfakta}}\">\r\n <span class=\"fas\" [ngClass]=\"showArtfakta?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showArtfakta\" id=\"artfakta-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.keys.url}}\" class=\"text-white\">\r\n {{navigation.keys.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.mySpecies.url}}\" class=\"text-white\">\r\n {{navigation.mySpecies.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.lists.url}}\" class=\"text-white\">\r\n {{navigation.lists.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.imageRec.url}}\" class=\"text-white\">\r\n {{navigation.imageRec.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.filter.url}}\" class=\"text-white\">\r\n {{navigation.filter.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showNOS?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <button class=\"btn btn-link p-0 text-white w-100 text-start\" (click)=\"showNOS = !showNOS\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </button>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showNOS = !showNOS\" attr.aria-controls=\"nos-links\" attr.aria-expanded=\"{{showNOS}}\">\r\n <span class=\"fas\" [ngClass]=\"showNOS?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showNOS\" id=\"nos-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.nameSearch.url}}\" class=\"text-white\">\r\n {{navigation.nameSearch.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.match.url}}\" class=\"text-white\">\r\n {{navigation.match.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
102
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Router }, { type: i3.EnvironmentService }, { type: i4.TranslateService }], propDecorators: { loginClicked: [{
|
|
103
|
-
type: Output
|
|
104
|
-
}], logoutClicked: [{
|
|
105
|
-
type: Output
|
|
106
|
-
}], dropMenuChange: [{
|
|
107
|
-
type: Output
|
|
108
|
-
}], showPattern: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], userName: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], artfakta: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWhlYWRlci9hZGItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItaGVhZGVyL2FkYi1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFTLGFBQWEsR0FBVyxNQUFNLGlCQUFpQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBT3BDLE1BQU0sT0FBTyxlQUFlO0lBV3hCLElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FB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QVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7aUlBbEdRLGVBQWU7cUhBQWYsZUFBZSxnUENYNUIsNHhTQThJTTs7MkZEbklPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksU0FBUztvS0FLVCxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUtPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBVUcsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFdmVudCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb24gfSBmcm9tICcuL25hdmlnYXRpb24ubW9kZWwnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYWRiLW5hdicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWRiLW5hdi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFEQk5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gICAgQE91dHB1dCgpIGxvZ2luQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBsb2dvdXRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGRyb3BNZW51Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dQYXR0ZXJuID0gZmFsc2U7XHJcbiAgICBmdWxsTmFtZTogc3RyaW5nO1xyXG4gICAgdHJhbnNsYXRpb25GaW5pc2hlZCA9IGZhbHNlO1xyXG4gICAgbGFzdFBvc2l0aW9uID0gMDtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgdXNlck5hbWUoZnVsbE5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZnVsbE5hbWUgPSBmdWxsTmFtZTtcclxuICAgICAgICBjb25zdCBzcGxpdHRlZCA9IGZ1bGxOYW1lPy5zcGxpdCgnICcpO1xyXG4gICAgICAgIGlmIChzcGxpdHRlZD8ubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICBjb25zdCBpbml0aWFscyA9IHNwbGl0dGVkLnNoaWZ0KCkuY2hhckF0KDApICsgc3BsaXR0ZWQucG9wKCkuY2hhckF0KDApO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzID0gaW5pdGlhbHMudG9VcHBlckNhc2UoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzID0gdGhpcy5mdWxsTmFtZSA/IHRoaXMuZnVsbE5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgOiB0aGlzLmZ1bGxOYW1lO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBASW5wdXQoKSBhcnRmYWt0YSA9IHRydWU7XHJcblxyXG4gICAgaW5pdGlhbHM6IHN0cmluZztcclxuICAgIHNob3dOYXZNZW51ID0gZmFsc2U7XHJcbiAgICBzaG93VXNlck1lbnUgPSBmYWxzZTtcclxuICAgIHNob3dBcnRmYWt0YSA9IHRydWU7XHJcbiAgICBzaG93Tk9TID0gdHJ1ZTtcclxuICAgIG5hdmlnYXRpb246IE5hdmlnYXRpb247XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgZW52U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyB0cmFuczogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XHJcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuZW52U2VydmljZS5lbnZpcm9ubWVudC5yZXNvdXJjZVVybDtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmFydGZha3RhID8gJy9hc3NldHMvbGlua3MtYXAzLmpzb24nIDogJy9hc3NldHMvYXJ0cG9ydGFsZW4vbGlua3MtYXAzLmpzb24nO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmh0dHBDbGllbnQuZ2V0PE5hdmlnYXRpb24+KGJhc2VVcmwgKyB1cmwpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRpb24gPSByZXN1bHQ7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHRoaXMuaW5pdFRyYW5zbGF0aW9ucyhiYXNlVXJsKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TmF2TWVudSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wTWVudUNoYW5nZS5lbWl0KHRoaXMuc2hvd05hdk1lbnUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRUcmFuc2xhdGlvbnMoYmFzZVVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJhbnMuc3RvcmUudHJhbnNsYXRpb25zW3RoaXMudHJhbnMuY3VycmVudExhbmddKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFRyYW5zbGF0aW9uKGJhc2VVcmwsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50cmFucy5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uRmluaXNoZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkVHJhbnNsYXRpb24oYmFzZVVybCwgZXZlbnQubGFuZyk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbG9hZFRyYW5zbGF0aW9uKGJhc2VVcmw6IHN0cmluZywgbGFuZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgLy9UT0RPOiBQcmVwYXJlIGZvciBkaWZmZW50cyBsYW5nIHRoZW4gZW4gc3YgKGVuLUdCKSBvciBhZGQgbW9yZSBmaWxlcyBpbiBkZXZjb21wb25lbnRzZXJ2ZXIgOilcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmFydGZha3RhID8gYmFzZVVybCArIGAvYXNzZXRzL2kxOG4vJHtsYW5nfS5qc29uYCA6IGJhc2VVcmwgKyBgL2Fzc2V0cy9hcnRwb3J0YWxlbi9pMThuLyR7bGFuZ30uanNvbmA7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMuaHR0cENsaWVudC5nZXQodXJsKS5zdWJzY3JpYmUodHJhbnNsYXRpb25zID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbihsYW5nLCB0cmFuc2xhdGlvbnMsIHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uRmluaXNoZWQgPSB0cnVlO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93TWVudURyb3Bkb3duKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dVc2VyTWVudSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dOYXZNZW51ICE9PSBzaG93KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd05hdk1lbnUgPSBzaG93O1xyXG4gICAgICAgICAgICB0aGlzLmRyb3BNZW51Q2hhbmdlLmVtaXQoc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldExhbmd1YWdlKGxhbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyYW5zLnVzZShsYW5nKTtcclxuICAgICAgICB0aGlzLnNob3dOYXZNZW51ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kcm9wTWVudUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAvL1RPRE86IHNldCBsb2NhbHN0b3JhZ2UvY29va2llcyBvciBwcm9iYWx5IGV2ZW50IHRvIG1haW4gYXBwXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9naW5DbGlja2VkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sb2dvdXRDbGlja2VkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwiYmctcHJpbWFyeSBhZGItbWFpbi1oZWFkZXJcIiAoYWRiQ2xpY2tPdXRzaWRlKT1cInNob3dNZW51RHJvcGRvd24oZmFsc2UpO1wiPlxyXG4gICAgPGhlYWRlciBjbGFzcz1cImNvbnRhaW5lci1sZ1wiICpuZ0lmPVwidHJhbnNsYXRpb25GaW5pc2hlZFwiPlxyXG4gICAgICAgIDxkaXYgW2F0dHIuaWRdPVwic2hvd1BhdHRlcm4/J2Jhbm5lcic6JydcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPG5hdiBjbGFzcz1cImQtZmxleCBmbGV4LWdyb3ctMSBhbGlnbi1pdGVtcy1jZW50ZXIgcGUtMiBweS0yIGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtZmxleCB0ZXh0LXdoaXRlIHRleHQtZGVjb3JhdGlvbi1ub25lIGQtZmxleCBnYXAtMlwiIGhyZWY9XCJodHRwczovL3d3dy5hcnRkYXRhYmFua2VuLnNlL1wiIHRhcmdldD1cIm5ld1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3R5bGU9XCJoZWlnaHQ6IDJyZW07XCIgc3JjPVwiL2Fzc2V0cy9pbWFnZXMvc2x1LnN2Z1wiIGFsdD1cImxvZ29cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWVuZCBkLW5vbmUgZC1zbS1ibG9ja1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJkLW5vbmUgZC1zbS1ibG9jayBhbGlnbi1zZWxmLWNlbnRlciBwZS01XCIgc3R5bGU9XCJoZWlnaHQ6IDAuN3JlbTtcIiBzcmM9XCIvYXNzZXRzL2ltYWdlcy9hcnRkYXRhYmFua2VuLnN2Z1wiIGFsdD1cImxvZ29cIj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDxhIHJvdXRlckxpbms9XCIvXCIgY2xhc3M9XCJ0ZXh0LXdoaXRlIHRleHQtZGVjb3JhdGlvbi1ub25lIGZzLTEgZnctYm9sZFwiPkFydGZha3RhPC9hPlxyXG4gICAgICAgICAgICA8L25hdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5LWRhcmsgYnRuLWxnXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cInt7J0FEQl9IRUFERVIuTUVOWSd8dHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd01lbnVEcm9wZG93bighc2hvd05hdk1lbnUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWJhcnNcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImQtbm9uZSBtcy0yIGQtbWQtaW5saW5lLWJsb2NrXCI+e3snQURCX0hFQURFUi5NRU5ZJ3x0cmFuc2xhdGV9fTwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2hlYWRlcj5cclxuICAgIDxkaXYgKm5nSWY9XCJuYXZpZ2F0aW9uXCIgcm9sZT1cImRpYWxvZ1wiIGNsYXNzPVwib2ZmY2FudmFzIG9mZmNhbnZhcy1lbmQgYmctcHJpbWFyeSB0ZXh0LXdoaXRlXCJcclxuICAgICAgICBbY2xhc3Muc2hvd109XCJzaG93TmF2TWVudVwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCJvZmZjYW52YXNOYXZcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib2ZmY2FudmFzLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJvZmZjYW52YXMtdGl0bGUgaC1zZWN0aW9uIG1iLTBcIiBpZD1cIm9mZmNhbnZhc05hdlwiPkFydGZha3RhPC9oMT5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgYnRuLWNsb3NlLXdoaXRlXCIgYXR0ci5hcmlhLWxhYmVsPVwie3snQ0xPU0UnfHRyYW5zbGF0ZX19XCIgKGNsaWNrKT1cInNob3dNZW51RHJvcGRvd24oZmFsc2UpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJvZmZjYW52YXMtYm9keSBkLWZsZXggZmxleC1jb2x1bW4gcC0wXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMiBnYXAtMSBweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluaXRpYWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJsb2dvdXQoKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeS1kYXJrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snQURCX0hFQURFUi5MT0dPVVQnfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3tmdWxsTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbml0aWFsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5LWRhcmtcIiAoY2xpY2spPVwibG9naW4oKVwiIGlkPVwic3RhcnQtbG9naW5cIj57eydBREJfSEVBREVSLkxPR0lOJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCJuYXZpZ2F0aW9uXCIgY2xhc3M9XCJ0ZXh0LXdoaXRlXCIgaHJlZj1cInt7bmF2aWdhdGlvbi5jcmVhdGVBY2NvdW50TGlua319P2xhbmc9e3t0cmFucy5jdXJyZW50TGFuZ319JnJldHVyblVybD17e3VybH19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydBREJfSEVBREVSLkNSRUFURV9VU0VSJ3x0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaCBib3JkZXItdG9wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGJnLXByaW1hcnlcIiBbbmdDbGFzc109XCJzaG93QXJ0ZmFrdGE/J2JvcmRlci1ib3R0b20tMCBwYi0wJzonJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtYmxvY2sgcHktMSB0ZXh0LXdoaXRlXCIgaHJlZj1cInt7bmF2aWdhdGlvbi5hcnRpbmZvLnVybH19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tuYXZpZ2F0aW9uLmFydGluZm8udHJhbnNJZHx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic2hvd0FydGZha3RhID0gIXNob3dBcnRmYWt0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci5hcmlhLWNvbnRyb2xzPVwiYXJ0ZmFrdGEtbGlua3NcIiBhdHRyLmFyaWEtZXhwYW5kZWQ9XCJ7e3Nob3dBcnRmYWt0YX19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJzaG93QXJ0ZmFrdGE/J2ZhLWNoZXZyb24tdXAnOidmYS1jaGV2cm9uLWRvd24nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGJnLXByaW1hcnkgcHQtMCBweC0zXCIgKm5nSWY9XCJzaG93QXJ0ZmFrdGFcIiBpZD1cImFydGZha3RhLWxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7e25hdmlnYXRpb24ua2V5cy51cmx9fVwiIGNsYXNzPVwidGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e25hdmlnYXRpb24ua2V5cy50cmFuc0lkfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7e25hdmlnYXRpb24ubXlTcGVjaWVzLnVybH19XCIgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bmF2aWdhdGlvbi5teVNwZWNpZXMudHJhbnNJZHx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkLWJsb2NrIHB5LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwie3tuYXZpZ2F0aW9uLmxpc3RzLnVybH19XCIgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bmF2aWdhdGlvbi5saXN0cy50cmFuc0lkfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7e25hdmlnYXRpb24uaW1hZ2VSZWMudXJsfX1cIiBjbGFzcz1cInRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tuYXZpZ2F0aW9uLmltYWdlUmVjLnRyYW5zSWR8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZC1ibG9jayBweS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInt7bmF2aWdhdGlvbi5maWx0ZXIudXJsfX1cIiBjbGFzcz1cInRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tuYXZpZ2F0aW9uLmZpbHRlci50cmFuc0lkfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9jayBweS0xIHRleHQtd2hpdGVcIiBocmVmPVwie3tuYXZpZ2F0aW9uLm9ic2VydmF0aW9ucy51cmx9fT9sYW5nPXt7dHJhbnMuY3VycmVudExhbmd9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tuYXZpZ2F0aW9uLm9ic2VydmF0aW9ucy50cmFuc0lkfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5XCIgW25nQ2xhc3NdPVwic2hvd05PUz8nYm9yZGVyLWJvdHRvbS0wIHBiLTAnOicnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpbmsgcC0wIHRleHQtd2hpdGUgdy0xMDAgdGV4dC1zdGFydFwiIChjbGljayk9XCJzaG93Tk9TID0gIXNob3dOT1NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e25hdmlnYXRpb24ubmFtZUFuZFJlbGF0aW9uc2hpcC50cmFuc0lkfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInNob3dOT1MgPSAhc2hvd05PU1wiIGF0dHIuYXJpYS1jb250cm9scz1cIm5vcy1saW5rc1wiIGF0dHIuYXJpYS1leHBhbmRlZD1cInt7c2hvd05PU319XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJzaG93Tk9TPydmYS1jaGV2cm9uLXVwJzonZmEtY2hldnJvbi1kb3duJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5IHB0LTAgcHgtM1wiICpuZ0lmPVwic2hvd05PU1wiIGlkPVwibm9zLWxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImQtYmxvY2sgcHktMSB0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInt7bmF2aWdhdGlvbi5uYW1lU2VhcmNoLnVybH19XCIgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bmF2aWdhdGlvbi5uYW1lU2VhcmNoLnRyYW5zSWR8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZC1ibG9jayBweS0xIHRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwie3tuYXZpZ2F0aW9uLm1hdGNoLnVybH19XCIgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7bmF2aWdhdGlvbi5tYXRjaC50cmFuc0lkfHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9jayBweS0xIHRleHQtd2hpdGVcIiBbaHJlZl09XCJuYXZpZ2F0aW9uLmFib3V0LnVybFwiPnt7bmF2aWdhdGlvbi5hYm91dC50cmFuc0lkfHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIGJnLXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIGZ3LWJvbGQgcHktMSB0ZXh0LXdoaXRlXCIgW2hyZWZdPVwibmF2aWdhdGlvbi5hcnRwb3J0YWxlblVybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3snQURCX0hFQURFUi5BUlRQT1JUQUxFTl9USVRMRSd8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWV4dGVybmFsLWxpbmtcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBiZy1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImQtYmxvY2sgdGV4dC13aGl0ZSBwdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydBREJfSEVBREVSLkRFVkVMT1BFRF9CWSd8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5hcnRkYXRhYmFua2VuLnNlL1wiIGNsYXNzPVwidGV4dC13aGl0ZVwiPjx1IGNsYXNzPVwibWUtMVwiPnt7J0FEQl9IRUFERVIuQVJUREFUQUJBTktFTid8dHJhbnNsYXRlfX08L3U+IDxzcGFuIGNsYXNzPVwiZmFzIGZhLWV4dGVybmFsLWxpbmtcIj48L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBpZD1cInBhdHRlcm5cIiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class EnvironmentService {
|
|
4
|
-
constructor(environment) {
|
|
5
|
-
this.environment = environment;
|
|
6
|
-
}
|
|
7
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EnvironmentService, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EnvironmentService }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: EnvironmentService, decorators: [{
|
|
11
|
-
type: Injectable
|
|
12
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
13
|
-
type: Inject,
|
|
14
|
-
args: ['env']
|
|
15
|
-
}] }] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItaGVhZGVyL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR25ELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFBa0MsV0FBVztRQUFYLGdCQUFXLEdBQVgsV0FBVyxDQUFBO0lBQzdDLENBQUM7aUlBRlEsa0JBQWtCLGtCQUNQLEtBQUs7cUlBRGhCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBRU0sTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEVudmlyb25tZW50U2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnYnKSBwdWJsaWMgZW52aXJvbm1lbnQpIHtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItaGVhZGVyL25hdmlnYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTGluayB7XHJcbiAgICB0cmFuc0lkOiBzdHJpbmc7XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIHRvcExpbms/OiBib29sZWFuO1xyXG4gICAgaWNvbj86IHN0cmluZztcclxuICAgIGNoaWxkcmVuPzogTGlua1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb24ge1xyXG4gICAgYWJvdXQ6IExpbmsyO1xyXG4gICAgYXJ0aW5mbzogTGluazI7XHJcbiAgICBhcnRmYWt0YTogTGluazI7XHJcbiAgICBrZXlzOiBMaW5rMjtcclxuICAgIG15U3BlY2llczogTGluazI7XHJcbiAgICBsaXN0czogTGluazIsXHJcbiAgICBpbWFnZVJlYzogTGluazIsXHJcbiAgICBmaWx0ZXI6IExpbmsyO1xyXG4gICAgb2JzZXJ2YXRpb25zOiBMaW5rMjtcclxuICAgIG5hbWVBbmRSZWxhdGlvbnNoaXA6IExpbmsyO1xyXG4gICAgbmFtZVNlYXJjaDogTGluazI7XHJcbiAgICBtYXRjaDogTGluazI7XHJcbiAgICBjcmVhdGVBY2NvdW50TGluazogc3RyaW5nO1xyXG4gICAgYXJ0ZmFrdGFVcmw6IHN0cmluZztcclxuICAgIGFydHBvcnRhbGVuVXJsOiBzdHJpbmc7XHJcbiAgICBzdXBwb3J0VXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGluazIge1xyXG4gICAgdHJhbnNJZDogc3RyaW5nO1xyXG4gICAgdXJsPzogc3RyaW5nO1xyXG59Il19
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { Component, forwardRef, Input } from "@angular/core";
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
export class AdbRichEditorComponent {
|
|
7
|
-
constructor(el) {
|
|
8
|
-
this.el = el;
|
|
9
|
-
this.hasTaxon = false;
|
|
10
|
-
this.hasReference = false;
|
|
11
|
-
this.rows = 3;
|
|
12
|
-
//ControlValueAccessor
|
|
13
|
-
this.onChange = () => { };
|
|
14
|
-
this.onTouched = () => { };
|
|
15
|
-
}
|
|
16
|
-
onDoubleClick() {
|
|
17
|
-
const textarea = this.el.nativeElement.querySelector('textarea');
|
|
18
|
-
const selectionStart = textarea.selectionStart;
|
|
19
|
-
let selectionEnd = textarea.selectionEnd;
|
|
20
|
-
while (selectionEnd > selectionStart && textarea.value[selectionEnd - 1] === ' ') {
|
|
21
|
-
selectionEnd--;
|
|
22
|
-
}
|
|
23
|
-
textarea.setSelectionRange(selectionStart, selectionEnd);
|
|
24
|
-
}
|
|
25
|
-
onItalicClick() {
|
|
26
|
-
this.applyFormatting('_');
|
|
27
|
-
}
|
|
28
|
-
onBoldClick() {
|
|
29
|
-
this.applyFormatting('__');
|
|
30
|
-
}
|
|
31
|
-
applyFormatting(marker) {
|
|
32
|
-
const textarea = this.el.nativeElement.querySelector('textarea');
|
|
33
|
-
if (textarea) {
|
|
34
|
-
const selectionStart = textarea.selectionStart;
|
|
35
|
-
const selectionEnd = textarea.selectionEnd;
|
|
36
|
-
let currentValue = textarea.value;
|
|
37
|
-
let modifiedText = selectionStart !== selectionEnd
|
|
38
|
-
? `${currentValue.substring(0, selectionStart)}${marker}${currentValue.substring(selectionStart, selectionEnd)}${marker}${currentValue.substring(selectionEnd)}`
|
|
39
|
-
: `${currentValue.substring(0, selectionStart)}${marker}${marker}${currentValue.substring(selectionStart)}`;
|
|
40
|
-
this.text = modifiedText;
|
|
41
|
-
textarea.value = modifiedText;
|
|
42
|
-
textarea.setSelectionRange(selectionStart !== selectionEnd ? selectionEnd + marker.length * 2 : selectionStart + marker.length, selectionStart !== selectionEnd ? selectionEnd + marker.length * 2 : selectionStart + marker.length);
|
|
43
|
-
this.onChange(this.text);
|
|
44
|
-
textarea.focus();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
onTaxonClick() {
|
|
48
|
-
this.replaceMarked('[Name](taxon:0)');
|
|
49
|
-
}
|
|
50
|
-
onReferenceClick() {
|
|
51
|
-
this.replaceMarked('[Name](reference:0)');
|
|
52
|
-
}
|
|
53
|
-
replaceMarked(replaceTag) {
|
|
54
|
-
const textarea = this.el.nativeElement.querySelector('textarea');
|
|
55
|
-
if (textarea) {
|
|
56
|
-
const start = textarea.selectionStart;
|
|
57
|
-
const end = textarea.selectionEnd;
|
|
58
|
-
const originalText = textarea.value;
|
|
59
|
-
const charBefore = start > 0 ? originalText[start - 1] : '';
|
|
60
|
-
const charAfter = end < originalText.length ? originalText[end] : '';
|
|
61
|
-
const spaceBefore = charBefore && !/\s/.test(charBefore) ? ' ' : '';
|
|
62
|
-
const spaceAfter = charAfter && !/\s/.test(charAfter) ? ' ' : '';
|
|
63
|
-
const newText = originalText.slice(0, start) + spaceBefore + replaceTag + spaceAfter + originalText.slice(end);
|
|
64
|
-
this.text = newText;
|
|
65
|
-
this.onChange(this.text);
|
|
66
|
-
const nameStart = newText.indexOf('Name', start); // Find 'Name' starting from the previous selection start
|
|
67
|
-
if (nameStart !== -1) {
|
|
68
|
-
const nameEnd = nameStart + 'Name'.length;
|
|
69
|
-
// Use setTimeout to make sure the textarea is updated before selecting
|
|
70
|
-
setTimeout(() => {
|
|
71
|
-
textarea.focus();
|
|
72
|
-
textarea.setSelectionRange(nameStart, nameEnd); // Select the 'Name' string
|
|
73
|
-
}, 0);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
onTextChange() {
|
|
78
|
-
this.onChange(this.text);
|
|
79
|
-
}
|
|
80
|
-
writeValue(value) {
|
|
81
|
-
this.text = value;
|
|
82
|
-
}
|
|
83
|
-
registerOnChange(fn) {
|
|
84
|
-
this.onChange = fn;
|
|
85
|
-
}
|
|
86
|
-
registerOnTouched(fn) {
|
|
87
|
-
this.onTouched = fn;
|
|
88
|
-
}
|
|
89
|
-
setDisabledState(isDisabled) {
|
|
90
|
-
}
|
|
91
|
-
ngOnDestroy() {
|
|
92
|
-
}
|
|
93
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AdbRichEditorComponent, selector: "adb-rich-editor", inputs: { hasTaxon: "hasTaxon", hasReference: "hasReference", rows: "rows" }, providers: [{
|
|
95
|
-
provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbRichEditorComponent)),
|
|
96
|
-
multi: true
|
|
97
|
-
}], ngImport: i0, template: "<div>\r\n <div class=\"d-flex justify-content-end gap-3 mb-1\">\r\n <button class=\"btn btn-secondary\" (click)=\"onItalicClick()\" title=\"Italic\" aria-label=\"Italic\" type=\"button\"><span class=\"fas fa-italic\"></span></button>\r\n <button class=\"btn btn-secondary\" (click)=\"onBoldClick()\" title=\"Italic\" aria-label=\"strong\" type=\"button\"><span class=\"fas fa-bold\"></span></button>\r\n <button *ngIf=\"hasTaxon\" class=\"btn btn-secondary\" (click)=\"onTaxonClick()\" title=\"Taxon\" aria-label=\"Taxon\" type=\"button\"><span class=\"fas fa-bug\"></span></button>\r\n <button *ngIf=\"hasReference\" class=\"btn btn-secondary\" (click)=\"onReferenceClick()\" title=\"Reference\" aria-label=\"Reference\" type=\"button\"><span class=\"fas fa-asterisk\"></span></button>\r\n </div>\r\n <textarea class=\"form-control\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange()\" [rows]=\"rows\" (dblclick)=\"onDoubleClick()\"></textarea>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ selector: 'adb-rich-editor', providers: [{
|
|
102
|
-
provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbRichEditorComponent)),
|
|
103
|
-
multi: true
|
|
104
|
-
}], template: "<div>\r\n <div class=\"d-flex justify-content-end gap-3 mb-1\">\r\n <button class=\"btn btn-secondary\" (click)=\"onItalicClick()\" title=\"Italic\" aria-label=\"Italic\" type=\"button\"><span class=\"fas fa-italic\"></span></button>\r\n <button class=\"btn btn-secondary\" (click)=\"onBoldClick()\" title=\"Italic\" aria-label=\"strong\" type=\"button\"><span class=\"fas fa-bold\"></span></button>\r\n <button *ngIf=\"hasTaxon\" class=\"btn btn-secondary\" (click)=\"onTaxonClick()\" title=\"Taxon\" aria-label=\"Taxon\" type=\"button\"><span class=\"fas fa-bug\"></span></button>\r\n <button *ngIf=\"hasReference\" class=\"btn btn-secondary\" (click)=\"onReferenceClick()\" title=\"Reference\" aria-label=\"Reference\" type=\"button\"><span class=\"fas fa-asterisk\"></span></button>\r\n </div>\r\n <textarea class=\"form-control\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange()\" [rows]=\"rows\" (dblclick)=\"onDoubleClick()\"></textarea>\r\n</div>\r\n" }]
|
|
105
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { hasTaxon: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], hasReference: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], rows: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFVBQVUsRUFBRSxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVV6RSxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBSnpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQXNGbEIsc0JBQXNCO1FBQ3RCLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQXRGVyxDQUFDO0lBR3ZDLGFBQWE7UUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakUsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUMvQyxJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE9BQU8sWUFBWSxHQUFHLGNBQWMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFD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QUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQU1ELFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtJQUVyQyxDQUFDO0lBRUQsV0FBVztJQUNYLENBQUM7aUlBL0dRLHNCQUFzQjtxSEFBdEIsc0JBQXNCLHdIQUxwQixDQUFDO2dCQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixFQUFDO2dCQUNqRixLQUFLLEVBQUUsSUFBSTthQUNkLENBQUMsMEJDVE4sMCtCQVNBOzsyRkRFYSxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0ksaUJBQWlCLGFBRWhCLENBQUM7NEJBQ1IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLHVCQUF1QixFQUFDOzRCQUNqRixLQUFLLEVBQUUsSUFBSTt5QkFDZCxDQUFDOytFQUlPLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FkYi1yaWNoLWVkaXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWRiUmljaEVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJSaWNoRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBoYXNUYXhvbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgaGFzUmVmZXJlbmNlID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByb3dzID0gMztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcblxyXG4gICAgb25Eb3VibGVDbGljaygpIHtcclxuICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0ZXh0YXJlYScpO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgICAgbGV0IHNlbGVjdGlvbkVuZCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZDtcclxuICAgICAgICB3aGlsZSAoc2VsZWN0aW9uRW5kID4gc2VsZWN0aW9uU3RhcnQgJiYgdGV4dGFyZWEudmFsdWVbc2VsZWN0aW9uRW5kIC0gMV0gPT09ICcgJykge1xyXG4gICAgICAgICAgICBzZWxlY3Rpb25FbmQtLTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGV4dGFyZWEuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25JdGFsaWNDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFwcGx5Rm9ybWF0dGluZygnXycpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBvbkJvbGRDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFwcGx5Rm9ybWF0dGluZygnX18nKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFwcGx5Rm9ybWF0dGluZyhtYXJrZXI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHRhcmVhJyk7XHJcbiAgICAgICAgaWYgKHRleHRhcmVhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbkVuZCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZDtcclxuICAgICAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZSA9IHRleHRhcmVhLnZhbHVlO1xyXG4gICAgXHJcbiAgICAgICAgICAgIGxldCBtb2RpZmllZFRleHQgPSBzZWxlY3Rpb25TdGFydCAhPT0gc2VsZWN0aW9uRW5kXHJcbiAgICAgICAgICAgICAgICA/IGAke2N1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoMCwgc2VsZWN0aW9uU3RhcnQpfSR7bWFya2VyfSR7Y3VycmVudFZhbHVlLnN1YnN0cmluZyhzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKX0ke21hcmtlcn0ke2N1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoc2VsZWN0aW9uRW5kKX1gXHJcbiAgICAgICAgICAgICAgICA6IGAke2N1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoMCwgc2VsZWN0aW9uU3RhcnQpfSR7bWFya2VyfSR7bWFya2VyfSR7Y3VycmVudFZhbHVlLnN1YnN0cmluZyhzZWxlY3Rpb25TdGFydCl9YDtcclxuICAgIFxyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSBtb2RpZmllZFRleHQ7XHJcbiAgICAgICAgICAgIHRleHRhcmVhLnZhbHVlID0gbW9kaWZpZWRUZXh0O1xyXG4gICAgICAgICAgICB0ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZShcclxuICAgICAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ICE9PSBzZWxlY3Rpb25FbmQgPyBzZWxlY3Rpb25FbmQgKyBtYXJrZXIubGVuZ3RoICogMiA6IHNlbGVjdGlvblN0YXJ0ICsgbWFya2VyLmxlbmd0aCxcclxuICAgICAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ICE9PSBzZWxlY3Rpb25FbmQgPyBzZWxlY3Rpb25FbmQgKyBtYXJrZXIubGVuZ3RoICogMiA6IHNlbGVjdGlvblN0YXJ0ICsgbWFya2VyLmxlbmd0aFxyXG4gICAgICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy50ZXh0KTtcclxuICAgICAgICAgICAgdGV4dGFyZWEuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25UYXhvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVwbGFjZU1hcmtlZCgnW05hbWVdKHRheG9uOjApJyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25SZWZlcmVuY2VDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlcGxhY2VNYXJrZWQoJ1tOYW1lXShyZWZlcmVuY2U6MCknKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlcGxhY2VNYXJrZWQocmVwbGFjZVRhZzogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGV4dGFyZWEnKTtcclxuICAgICAgICBpZiAodGV4dGFyZWEpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICAgICAgY29uc3QgZW5kID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5kO1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSB0ZXh0YXJlYS52YWx1ZTtcclxuICAgICAgICAgICAgY29uc3QgY2hhckJlZm9yZSA9IHN0YXJ0ID4gMCA/IG9yaWdpbmFsVGV4dFtzdGFydCAtIDFdIDogJyc7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYXJBZnRlciA9IGVuZCA8IG9yaWdpbmFsVGV4dC5sZW5ndGggPyBvcmlnaW5hbFRleHRbZW5kXSA6ICcnO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3BhY2VCZWZvcmUgPSBjaGFyQmVmb3JlICYmICEvXFxzLy50ZXN0KGNoYXJCZWZvcmUpID8gJyAnIDogJyc7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwYWNlQWZ0ZXIgPSBjaGFyQWZ0ZXIgJiYgIS9cXHMvLnRlc3QoY2hhckFmdGVyKSA/ICcgJyA6ICcnO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbmV3VGV4dCA9IG9yaWdpbmFsVGV4dC5zbGljZSgwLCBzdGFydCkgKyBzcGFjZUJlZm9yZSArIHJlcGxhY2VUYWcgKyBzcGFjZUFmdGVyICsgb3JpZ2luYWxUZXh0LnNsaWNlKGVuZCk7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IG5ld1RleHQ7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy50ZXh0KTtcclxuICAgICAgICAgICAgY29uc3QgbmFtZVN0YXJ0ID0gbmV3VGV4dC5pbmRleE9mKCdOYW1lJywgc3RhcnQpOyAvLyBGaW5kICdOYW1lJyBzdGFydGluZyBmcm9tIHRoZSBwcmV2aW91cyBzZWxlY3Rpb24gc3RhcnRcclxuICAgICAgICAgICAgaWYgKG5hbWVTdGFydCAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWVFbmQgPSBuYW1lU3RhcnQgKyAnTmFtZScubGVuZ3RoO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0IHRvIG1ha2Ugc3VyZSB0aGUgdGV4dGFyZWEgaXMgdXBkYXRlZCBiZWZvcmUgc2VsZWN0aW5nXHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYS5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHRhcmVhLnNldFNlbGVjdGlvblJhbmdlKG5hbWVTdGFydCwgbmFtZUVuZCk7IC8vIFNlbGVjdCB0aGUgJ05hbWUnIHN0cmluZ1xyXG4gICAgICAgICAgICAgICAgfSwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25UZXh0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy50ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICAvL0NvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbiAgICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB9XHJcbn0iLCI8ZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0zIG1iLTFcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwib25JdGFsaWNDbGljaygpXCIgdGl0bGU9XCJJdGFsaWNcIiBhcmlhLWxhYmVsPVwiSXRhbGljXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWl0YWxpY1wiPjwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwib25Cb2xkQ2xpY2soKVwiIHRpdGxlPVwiSXRhbGljXCIgYXJpYS1sYWJlbD1cInN0cm9uZ1wiIHR5cGU9XCJidXR0b25cIj48c3BhbiBjbGFzcz1cImZhcyBmYS1ib2xkXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJoYXNUYXhvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwib25UYXhvbkNsaWNrKClcIiB0aXRsZT1cIlRheG9uXCIgYXJpYS1sYWJlbD1cIlRheG9uXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuIGNsYXNzPVwiZmFzIGZhLWJ1Z1wiPjwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaGFzUmVmZXJlbmNlXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJvblJlZmVyZW5jZUNsaWNrKClcIiB0aXRsZT1cIlJlZmVyZW5jZVwiIGFyaWEtbGFiZWw9XCJSZWZlcmVuY2VcIiB0eXBlPVwiYnV0dG9uXCI+PHNwYW4gY2xhc3M9XCJmYXMgZmEtYXN0ZXJpc2tcIj48L3NwYW4+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx0ZXh0YXJlYSBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgpXCIgW3Jvd3NdPVwicm93c1wiIChkYmxjbGljayk9XCJvbkRvdWJsZUNsaWNrKClcIj48L3RleHRhcmVhPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
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';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
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
|
-
}
|
|
17
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
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] }); }
|
|
19
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, imports: [CommonModule, FormsModule] }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbRichEditorModule, decorators: [{
|
|
22
|
-
type: NgModule,
|
|
23
|
-
args: [{
|
|
24
|
-
imports: [CommonModule, FormsModule],
|
|
25
|
-
declarations: [AdbRichEditorComponent, RichTextComponent],
|
|
26
|
-
exports: [AdbRichEditorComponent, RichTextComponent]
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXJpY2gtZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQzs7QUFPNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXdCO1FBQ3JDLE9BQU87WUFDTCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQ2xEO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBUlUsbUJBQW1CO2tJQUFuQixtQkFBbUIsaUJBSGYsc0JBQXNCLEVBQUUsaUJBQWlCLGFBRDlDLFlBQVksRUFBRSxXQUFXLGFBRXpCLHNCQUFzQixFQUFFLGlCQUFpQjtrSUFFeEMsbUJBQW1CLFlBSnBCLFlBQVksRUFBRSxXQUFXOzsyRkFJeEIsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDO29CQUN6RCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWRiUmljaEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYWRiLXJpY2gtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9hZGItcmljaC10ZXh0JztcclxuaW1wb3J0IHsgUklDSF9NT0RVTEVfQ09ORklHLCBSaWNoTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9yaWNoLW1vZHVsZS1jb25maWcnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgZGVjbGFyYXRpb25zOiBbQWRiUmljaEVkaXRvckNvbXBvbmVudCwgUmljaFRleHRDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtBZGJSaWNoRWRpdG9yQ29tcG9uZW50LCBSaWNoVGV4dENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYlJpY2hFZGl0b3JNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUmljaE1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QWRiUmljaEVkaXRvck1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFkYlJpY2hFZGl0b3JNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogUklDSF9NT0RVTEVfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
-
import { RICH_MODULE_CONFIG } from './rich-module-config';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class RichTextComponent {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
this.config = config;
|
|
8
|
-
this.text = '';
|
|
9
|
-
this.parts = [];
|
|
10
|
-
this.taxonUrl = config.taxonUrl;
|
|
11
|
-
}
|
|
12
|
-
ngOnChanges() {
|
|
13
|
-
if (this.text) {
|
|
14
|
-
this.parts = this.parseCustomMarkdown(this.text);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
parseCustomMarkdown(input) {
|
|
18
|
-
const parts = [];
|
|
19
|
-
const italicRegex = /_([^_]+)_/g;
|
|
20
|
-
const boldRegex = /__([^_]+)__/g;
|
|
21
|
-
const taxonRegex = /\[([^\]]+)\]\(taxon:([^)]+)\)/g;
|
|
22
|
-
const termRegex = /\[([^\]]+)\]\(term:([^)]+)\)/g;
|
|
23
|
-
const referenceRegex = /\[([^\]]+)\]\(reference:([^)]+)\)/g;
|
|
24
|
-
const combinedRegex = new RegExp(`${italicRegex.source}|${boldRegex.source}|${taxonRegex.source}|${termRegex.source}|${referenceRegex.source}`, 'g');
|
|
25
|
-
let lastIndex = 0;
|
|
26
|
-
let match;
|
|
27
|
-
while ((match = combinedRegex.exec(input)) !== null) {
|
|
28
|
-
if (match.index > lastIndex) {
|
|
29
|
-
parts.push({ type: 'text', content: input.slice(lastIndex, match.index) });
|
|
30
|
-
}
|
|
31
|
-
if (match[1]) {
|
|
32
|
-
parts.push({ type: 'italic', content: match[1] });
|
|
33
|
-
}
|
|
34
|
-
else if (match[2]) {
|
|
35
|
-
parts.push({ type: 'bold', content: match[2] });
|
|
36
|
-
}
|
|
37
|
-
else if (match[3]) {
|
|
38
|
-
parts.push({ type: 'taxon', content: match[3], id: match[4] });
|
|
39
|
-
}
|
|
40
|
-
else if (match[5]) {
|
|
41
|
-
parts.push({ type: 'term', content: match[5], id: match[6] });
|
|
42
|
-
}
|
|
43
|
-
else if (match[7]) {
|
|
44
|
-
parts.push({ type: 'reference', content: match[7], id: match[8] });
|
|
45
|
-
}
|
|
46
|
-
lastIndex = combinedRegex.lastIndex;
|
|
47
|
-
}
|
|
48
|
-
if (lastIndex < input.length) {
|
|
49
|
-
parts.push({ type: 'text', content: input.slice(lastIndex) });
|
|
50
|
-
}
|
|
51
|
-
return parts;
|
|
52
|
-
}
|
|
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"] }] }); }
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RichTextComponent, decorators: [{
|
|
57
|
-
type: Component,
|
|
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: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXJpY2gtdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtdGV4dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItcmljaC1lZGl0b3IvYWRiLXJpY2gtdGV4dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sc0JBQXNCLENBQUM7OztBQVc1RSxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQWdELE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBTC9ELFNBQUksR0FBVyxFQUFFLENBQUM7UUFFcEIsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFJaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFhO1FBQ3ZDLE1BQU0sS0FBSyxHQUFtQixFQUFFLENBQUM7UUFFakMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNqQyxNQUFNLFVBQVUsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNwRCxNQUFNLFNBQVMsR0FBRywrQkFBK0IsQ0FBQztRQUNsRCxNQUFNLGNBQWMsR0FBRyxvQ0FBb0MsQ0FBQztRQUU1RCxNQUFNLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXJKLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLEtBQUssQ0FBQztRQUVWLE9BQU8sQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3BELElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0UsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRCxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakUsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRSxDQUFDO1lBRUQsU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztpSUF0RFUsaUJBQWlCLGtCQU1SLGtCQUFrQjtxSEFOM0IsaUJBQWlCLG9HQ1o5Qiwwa0JBVUU7OzJGREVXLGlCQUFpQjtrQkFKN0IsU0FBUzsrQkFDRSxlQUFlOzswQkFTWixNQUFNOzJCQUFDLGtCQUFrQjt5Q0FMN0IsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJJQ0hfTU9EVUxFX0NPTkZJRywgUmljaE1vZHVsZUNvbmZpZyB9IGZyb20gJy4vcmljaC1tb2R1bGUtY29uZmlnJztcclxuZXhwb3J0IGludGVyZmFjZSBSaWNoVGV4dFBhcnQge1xyXG4gIHR5cGU6ICd0ZXh0JyB8ICdpdGFsaWMnIHwgJ2JvbGQnIHwgJ3RheG9uJyB8ICd0ZXJtJyB8ICdyZWZlcmVuY2UnO1xyXG4gIGNvbnRlbnQ6IHN0cmluZztcclxuICBpZD86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhZGItcmljaC10ZXh0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRiLXJpY2gtdGV4dC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJpY2hUZXh0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHVibGljIHBhcnRzOiBSaWNoVGV4dFBhcnRbXSA9IFtdO1xyXG4gIHRheG9uVXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUklDSF9NT0RVTEVfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogUmljaE1vZHVsZUNvbmZpZykge1xyXG4gICAgdGhpcy50YXhvblVybCA9IGNvbmZpZy50YXhvblVybDtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMudGV4dCkge1xyXG4gICAgICB0aGlzLnBhcnRzID0gdGhpcy5wYXJzZUN1c3RvbU1hcmtkb3duKHRoaXMudGV4dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlQ3VzdG9tTWFya2Rvd24oaW5wdXQ6IHN0cmluZyk6IFJpY2hUZXh0UGFydFtdIHtcclxuICAgIGNvbnN0IHBhcnRzOiBSaWNoVGV4dFBhcnRbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGl0YWxpY1JlZ2V4ID0gL18oW15fXSspXy9nO1xyXG4gICAgY29uc3QgYm9sZFJlZ2V4ID0gL19fKFteX10rKV9fL2c7XHJcbiAgICBjb25zdCB0YXhvblJlZ2V4ID0gL1xcWyhbXlxcXV0rKVxcXVxcKHRheG9uOihbXildKylcXCkvZztcclxuICAgIGNvbnN0IHRlcm1SZWdleCA9IC9cXFsoW15cXF1dKylcXF1cXCh0ZXJtOihbXildKylcXCkvZztcclxuICAgIGNvbnN0IHJlZmVyZW5jZVJlZ2V4ID0gL1xcWyhbXlxcXV0rKVxcXVxcKHJlZmVyZW5jZTooW14pXSspXFwpL2c7XHJcblxyXG4gICAgY29uc3QgY29tYmluZWRSZWdleCA9IG5ldyBSZWdFeHAoYCR7aXRhbGljUmVnZXguc291cmNlfXwke2JvbGRSZWdleC5zb3VyY2V9fCR7dGF4b25SZWdleC5zb3VyY2V9fCR7dGVybVJlZ2V4LnNvdXJjZX18JHtyZWZlcmVuY2VSZWdleC5zb3VyY2V9YCwgJ2cnKTtcclxuXHJcbiAgICBsZXQgbGFzdEluZGV4ID0gMDtcclxuICAgIGxldCBtYXRjaDtcclxuXHJcbiAgICB3aGlsZSAoKG1hdGNoID0gY29tYmluZWRSZWdleC5leGVjKGlucHV0KSkgIT09IG51bGwpIHtcclxuICAgICAgaWYgKG1hdGNoLmluZGV4ID4gbGFzdEluZGV4KSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICd0ZXh0JywgY29udGVudDogaW5wdXQuc2xpY2UobGFzdEluZGV4LCBtYXRjaC5pbmRleCkgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1hdGNoWzFdKSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICdpdGFsaWMnLCBjb250ZW50OiBtYXRjaFsxXSB9KTtcclxuICAgICAgfSBlbHNlIGlmIChtYXRjaFsyXSkge1xyXG4gICAgICAgIHBhcnRzLnB1c2goeyB0eXBlOiAnYm9sZCcsIGNvbnRlbnQ6IG1hdGNoWzJdIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKG1hdGNoWzNdKSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICd0YXhvbicsIGNvbnRlbnQ6IG1hdGNoWzNdLCBpZDogbWF0Y2hbNF0gfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAobWF0Y2hbNV0pIHtcclxuICAgICAgICBwYXJ0cy5wdXNoKHsgdHlwZTogJ3Rlcm0nLCBjb250ZW50OiBtYXRjaFs1XSwgaWQ6IG1hdGNoWzZdIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKG1hdGNoWzddKSB7XHJcbiAgICAgICAgcGFydHMucHVzaCh7IHR5cGU6ICdyZWZlcmVuY2UnLCBjb250ZW50OiBtYXRjaFs3XSwgaWQ6IG1hdGNoWzhdIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsYXN0SW5kZXggPSBjb21iaW5lZFJlZ2V4Lmxhc3RJbmRleDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGFzdEluZGV4IDwgaW5wdXQubGVuZ3RoKSB7XHJcbiAgICAgIHBhcnRzLnB1c2goeyB0eXBlOiAndGV4dCcsIGNvbnRlbnQ6IGlucHV0LnNsaWNlKGxhc3RJbmRleCkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhcnRzO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtd3JhcDtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhcnQgb2YgcGFydHNcIj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYXJ0LnR5cGUgPT09ICd0ZXh0J1wiPnt7IHBhcnQuY29udGVudCB9fTwvc3Bhbj5cclxuICAgICAgPGVtICpuZ0lmPVwicGFydC50eXBlID09PSAnaXRhbGljJ1wiPnt7IHBhcnQuY29udGVudCB9fTwvZW0+XHJcbiAgICAgIDxiICpuZ0lmPVwicGFydC50eXBlID09PSAnYm9sZCdcIj57eyBwYXJ0LmNvbnRlbnQgfX08L2I+XHJcbiAgICAgIDxhICpuZ0lmPVwicGFydC50eXBlID09PSAndGF4b24nXCIgW2hyZWZdPVwidGF4b25VcmwgKyBwYXJ0LmlkXCI+e3sgcGFydC5jb250ZW50IH19PC9hPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhcnQudHlwZSA9PT0gJ3Rlcm0nXCI+e3sgcGFydC5jb250ZW50IH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhcnQudHlwZSA9PT0gJ3JlZmVyZW5jZSdcIj57eyBwYXJ0LmNvbnRlbnQgfX08L3NwYW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICAiXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const RICH_MODULE_CONFIG = new InjectionToken('richModule.config');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC1tb2R1bGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJ0ZGF0YS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2FkYi1yaWNoLWVkaXRvci9yaWNoLW1vZHVsZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hNb2R1bGVDb25maWcge1xyXG4gIHRheG9uVXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBSSUNIX01PRFVMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmljaE1vZHVsZUNvbmZpZz4oJ3JpY2hNb2R1bGUuY29uZmlnJyk7XHJcbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { ToastType } from './adb-toast.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./adb-toast.service";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "@ngx-translate/core";
|
|
7
|
-
export class AdbToast {
|
|
8
|
-
constructor(toastService) {
|
|
9
|
-
this.toastService = toastService;
|
|
10
|
-
this.toastType = ToastType;
|
|
11
|
-
this.toastService.$toasts.subscribe(toasts => {
|
|
12
|
-
this.toasts = toasts;
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
onRemoveToast(toast) {
|
|
16
|
-
this.toastService.remove(toast);
|
|
17
|
-
}
|
|
18
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbToast, deps: [{ token: i1.AdbToastService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AdbToast, selector: "ng-component", ngImport: i0, template: "<div class=\"position-fixed bottom-0 end-0\" style=\"z-index: 50000;min-width: 15rem;\">\r\n <div class=\"alert alert-dismissible\" role=\"alert\" *ngFor=\"let toast of toasts\"\r\n [class.alert-primary]=\"toast.type===toastType.Primary\"\r\n [class.alert-success]=\"toast.type===toastType.Success\"\r\n [class.alert-warning]=\"toast.type===toastType.Warn\"\r\n [class.alert-danger]=\"toast.type===toastType.Danger\">\r\n <div class=\"d-flex align-items-center justify-content-between pb-1\" *ngIf=\"toast.header\">\r\n <div class=\"fw-bold pb-1\" *ngIf=\"!toast.headerValue\">{{toast.header|translate}}</div>\r\n <div class=\"fw-bold pb-1\" *ngIf=\"toast.headerValue\">{{(toast.header|translate:toast.headerValue )}}</div>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"onRemoveToast(toast)\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"d-flex align-items-center justify-content-between mt-1\">\r\n <div *ngIf=\"!toast.messageValue\">{{toast.message|translate}}</div>\r\n <div *ngIf=\"toast.messageValue\">{{(toast.message|translate:toast.messageValue )}}</div>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"onRemoveToast(toast)\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbToast, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ template: "<div class=\"position-fixed bottom-0 end-0\" style=\"z-index: 50000;min-width: 15rem;\">\r\n <div class=\"alert alert-dismissible\" role=\"alert\" *ngFor=\"let toast of toasts\"\r\n [class.alert-primary]=\"toast.type===toastType.Primary\"\r\n [class.alert-success]=\"toast.type===toastType.Success\"\r\n [class.alert-warning]=\"toast.type===toastType.Warn\"\r\n [class.alert-danger]=\"toast.type===toastType.Danger\">\r\n <div class=\"d-flex align-items-center justify-content-between pb-1\" *ngIf=\"toast.header\">\r\n <div class=\"fw-bold pb-1\" *ngIf=\"!toast.headerValue\">{{toast.header|translate}}</div>\r\n <div class=\"fw-bold pb-1\" *ngIf=\"toast.headerValue\">{{(toast.header|translate:toast.headerValue )}}</div>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"onRemoveToast(toast)\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"d-flex align-items-center justify-content-between mt-1\">\r\n <div *ngIf=\"!toast.messageValue\">{{toast.message|translate}}</div>\r\n <div *ngIf=\"toast.messageValue\">{{(toast.message|translate:toast.messageValue )}}</div>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"onRemoveToast(toast)\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
24
|
-
}], ctorParameters: () => [{ type: i1.AdbToastService }] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXRvYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJ0ZGF0YS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2FkYi10b2FzdC9hZGItdG9hc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLXRvYXN0L2FkYi10b2FzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFpQyxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFJL0UsTUFBTSxPQUFPLFFBQVE7SUFHakIsWUFBbUIsWUFBNkI7UUFBN0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBRGhELGNBQVMsR0FBRyxTQUFTLENBQUM7UUFFbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELGFBQWEsQ0FBQyxLQUFtQjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO2lJQVZRLFFBQVE7cUhBQVIsUUFBUSxvRENOckIsczRDQWlCTTs7MkZEWE8sUUFBUTtrQkFIcEIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWRiVG9hc3RTZXJ2aWNlLCBUb2FzdE1lc3NhZ2UsIFRvYXN0VHlwZSB9IGZyb20gJy4vYWRiLXRvYXN0LnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlVXJsOiAnYWRiLXRvYXN0Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJUb2FzdCB7XHJcbiAgICB0b2FzdHM6IFRvYXN0TWVzc2FnZVtdO1xyXG4gICAgdG9hc3RUeXBlID0gVG9hc3RUeXBlO1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIHRvYXN0U2VydmljZTogQWRiVG9hc3RTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuJHRvYXN0cy5zdWJzY3JpYmUodG9hc3RzID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdHMgPSB0b2FzdHM7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvblJlbW92ZVRvYXN0KHRvYXN0OiBUb2FzdE1lc3NhZ2UpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5yZW1vdmUodG9hc3QpO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInBvc2l0aW9uLWZpeGVkIGJvdHRvbS0wIGVuZC0wXCIgc3R5bGU9XCJ6LWluZGV4OiA1MDAwMDttaW4td2lkdGg6IDE1cmVtO1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRpc21pc3NpYmxlXCIgcm9sZT1cImFsZXJ0XCIgKm5nRm9yPVwibGV0IHRvYXN0IG9mIHRvYXN0c1wiXHJcbiAgICAgICAgW2NsYXNzLmFsZXJ0LXByaW1hcnldPVwidG9hc3QudHlwZT09PXRvYXN0VHlwZS5QcmltYXJ5XCJcclxuICAgICAgICBbY2xhc3MuYWxlcnQtc3VjY2Vzc109XCJ0b2FzdC50eXBlPT09dG9hc3RUeXBlLlN1Y2Nlc3NcIlxyXG4gICAgICAgIFtjbGFzcy5hbGVydC13YXJuaW5nXT1cInRvYXN0LnR5cGU9PT10b2FzdFR5cGUuV2FyblwiXHJcbiAgICAgICAgW2NsYXNzLmFsZXJ0LWRhbmdlcl09XCJ0b2FzdC50eXBlPT09dG9hc3RUeXBlLkRhbmdlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHBiLTFcIiAqbmdJZj1cInRvYXN0LmhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCBwYi0xXCIgKm5nSWY9XCIhdG9hc3QuaGVhZGVyVmFsdWVcIj57e3RvYXN0LmhlYWRlcnx0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCBwYi0xXCIgKm5nSWY9XCJ0b2FzdC5oZWFkZXJWYWx1ZVwiPnt7KHRvYXN0LmhlYWRlcnx0cmFuc2xhdGU6dG9hc3QuaGVhZGVyVmFsdWUgKX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cIm9uUmVtb3ZlVG9hc3QodG9hc3QpXCIgZGF0YS1icy1kaXNtaXNzPVwiYWxlcnRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhdG9hc3QubWVzc2FnZVZhbHVlXCI+e3t0b2FzdC5tZXNzYWdlfHRyYW5zbGF0ZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b2FzdC5tZXNzYWdlVmFsdWVcIj57eyh0b2FzdC5tZXNzYWdlfHRyYW5zbGF0ZTp0b2FzdC5tZXNzYWdlVmFsdWUgKX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cIm9uUmVtb3ZlVG9hc3QodG9hc3QpXCIgZGF0YS1icy1kaXNtaXNzPVwiYWxlcnRcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from "@angular/common";
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { TranslateModule } from "@ngx-translate/core";
|
|
4
|
-
import { AdbDirectivesModule } from "../../directives/directives.module";
|
|
5
|
-
import { AdbToast } from "./adb-toast";
|
|
6
|
-
import { AdbToastService } from "./adb-toast.service";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@ngx-translate/core";
|
|
9
|
-
export class AdbToastModule {
|
|
10
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AdbToastModule, declarations: [AdbToast], imports: [CommonModule, i1.TranslateModule, AdbDirectivesModule], exports: [AdbToast] }); }
|
|
12
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbToastModule, providers: [AdbToastService], imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule] }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbToastModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],
|
|
18
|
-
declarations: [AdbToast],
|
|
19
|
-
exports: [AdbToast],
|
|
20
|
-
providers: [AdbToastService]
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLXRvYXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItdG9hc3QvYWRiLXRvYXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVF0RCxNQUFNLE9BQU8sY0FBYztpSUFBZCxjQUFjO2tJQUFkLGNBQWMsaUJBSlIsUUFBUSxhQURiLFlBQVksc0JBQThCLG1CQUFtQixhQUU3RCxRQUFRO2tJQUdULGNBQWMsYUFGWixDQUFDLGVBQWUsQ0FBQyxZQUhsQixZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLG1CQUFtQjs7MkZBSzlELGNBQWM7a0JBTjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQztvQkFDeEUsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBQ25CLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgQWRiRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlXCI7XHJcbmltcG9ydCB7IEFkYlRvYXN0IH0gZnJvbSBcIi4vYWRiLXRvYXN0XCI7XHJcbmltcG9ydCB7IEFkYlRvYXN0U2VydmljZSB9IGZyb20gXCIuL2FkYi10b2FzdC5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksIEFkYkRpcmVjdGl2ZXNNb2R1bGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbQWRiVG9hc3RdLFxyXG4gICAgZXhwb3J0czogW0FkYlRvYXN0XSxcclxuICAgIHByb3ZpZGVyczogW0FkYlRvYXN0U2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYlRvYXN0TW9kdWxlIHsgfSJdfQ==
|