adb-shared 0.0.50 → 0.0.54

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.
@@ -2,7 +2,7 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { HttpClient, HttpHeaders } from '@angular/common/http';
5
+ import { HttpClient } from '@angular/common/http';
6
6
  import { Component, EventEmitter, Input, Output } from '@angular/core';
7
7
  import { TranslateService } from '@ngx-translate/core';
8
8
  import { forkJoin, Subscription } from 'rxjs';
@@ -20,6 +20,7 @@ export class ADBHeaderComponent {
20
20
  this.subscription = new Subscription();
21
21
  this.loginClicked = new EventEmitter();
22
22
  this.logoutClicked = new EventEmitter();
23
+ this.dropMenuChange = new EventEmitter();
23
24
  this.showMenu = false;
24
25
  this.showUserMenu = false;
25
26
  }
@@ -53,15 +54,6 @@ export class ADBHeaderComponent {
53
54
  this.navigation = result;
54
55
  })));
55
56
  this.initAllTranslations(baseUrl);
56
- // if (this.trans.store.translations[this.trans.currentLang]) {
57
- // console.log('this.trans.currentLang', this.trans.currentLang);
58
- // this.initTranslations(baseUrl, this.trans.currentLang);
59
- // } else {
60
- // this.subscription.add(this.trans.onLangChange.subscribe((event) => {
61
- // console.log('event', event);
62
- // this.initTranslations(baseUrl, event.lang);
63
- // }));
64
- // }
65
57
  }
66
58
  /**
67
59
  * @private
@@ -81,20 +73,14 @@ export class ADBHeaderComponent {
81
73
  })));
82
74
  }
83
75
  /**
84
- * @private
85
- * @param {?} baseUrl
86
- * @param {?} lang
76
+ * @param {?} show
87
77
  * @return {?}
88
78
  */
89
- initTranslations(baseUrl, lang) {
90
- //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
91
- this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`, { headers: new HttpHeaders() }).subscribe((/**
92
- * @param {?} translations
93
- * @return {?}
94
- */
95
- translations => {
96
- this.trans.setTranslation(lang, translations, true);
97
- })));
79
+ showMenuDropdown(show) {
80
+ if (this.showMenu !== show) {
81
+ this.showMenu = show;
82
+ this.dropMenuChange.emit(show);
83
+ }
98
84
  }
99
85
  /**
100
86
  * @param {?} lang
@@ -102,7 +88,7 @@ export class ADBHeaderComponent {
102
88
  */
103
89
  setLanguage(lang) {
104
90
  this.trans.use(lang);
105
- //set localstorage/cookies ocr probaly event to main app
91
+ //TODO: set localstorage/cookies or probaly event to main app
106
92
  }
107
93
  /**
108
94
  * @param {?} transId
@@ -137,7 +123,7 @@ export class ADBHeaderComponent {
137
123
  ADBHeaderComponent.decorators = [
138
124
  { type: Component, args: [{
139
125
  selector: 'adb-header2',
140
- template: "<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenu=false;\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo pl-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">Artfakta</strong>\r\n </div>\r\n <div class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pr-4\" style=\"gap:2rem;\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a [href]=\"link.url\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button class=\"btn py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenu=!showMenu\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block pl-4\">\r\n <button *ngIf=\"initials\" class=\"btn initials px-2 py-1\" (click)=\"showMenu=false;showUserMenu = !showUserMenu\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" (click)=\"showMenu=false;showUserMenu = !showUserMenu\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials py-2 px-2 mr-2\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3\">\r\n <button (click)=\"logout()\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt mr-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button class=\"btn btn-primary\" (click)=\"login()\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body d-flex flex-column\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials mr-2\">{{initials}}</span>\r\n <button (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button (click)=\"login()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3\">\r\n <ul class=\"list-group ml-0 mb-0 pl-0\">\r\n <li class=\"mb-1 list-group-item rounded-0\"\r\n [ngClass]=\"{'pointer list-group-item-action':link.children&&link.children.length>0}\"\r\n *ngFor=\"let link of navigation.links\">\r\n <div class=\"d-flex align-items-center justify-content-between\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\"\r\n (click)=\"onExpandLink(link.transId)\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n <a [href]=\"link.url\" (click)=\"$event.stopPropagation();\">\r\n {{link.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"text-dark\" *ngIf=\"link.children&&link.children.length>0\">\r\n <i class=\"fas fa-chevron-up\" *ngIf=\"link.transId===expandedLink\"></i>\r\n <i class=\"fas fa-chevron-down\" *ngIf=\"link.transId!==expandedLink\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled pl-4\" *ngIf=\"link.transId===expandedLink\">\r\n <li class=\"py-1m-0\" *ngFor=\"let subLink of link.children\">\r\n <a [href]=\"subLink.url\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div style=\"height:10rem\"></div>\r\n <div *ngIf=\"navigation.about\" class=\"mb-4\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <ul class=\"list-unstyled ml-0 pl-0\">\r\n <li class=\"p-2 bg-white mb-1 d-flex justify-content-between flex-wrap align-items-center\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">\r\n {{navigation.about.transId|translate}}\r\n </a>\r\n </div>\r\n <a href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div>\r\n <img style=\"height: 3.2rem;\" src=\"/assets/images/logo.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
126
+ template: "<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo pl-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">Artfakta</strong>\r\n </div>\r\n <div class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pr-4\" style=\"gap:2rem;\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a [href]=\"link.url\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ml-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block pl-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials px-2 py-1\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials py-2 px-2 mr-2\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt mr-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials mr-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ml-0 mb-0 pl-0\">\r\n <li class=\"mb-1 list-group-item rounded-0\"\r\n [ngClass]=\"{'pointer list-group-item-action':link.children&&link.children.length>0}\"\r\n *ngFor=\"let link of navigation.links\">\r\n <div class=\"d-flex align-items-center justify-content-between\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\"\r\n (click)=\"onExpandLink(link.transId)\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n <a [href]=\"link.url\" (click)=\"$event.stopPropagation();\">\r\n {{link.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"text-dark\" (click)=\"$event.stopPropagation();\" *ngIf=\"link.children&&link.children.length>0\">\r\n <i class=\"fas fa-chevron-up\" *ngIf=\"link.transId===expandedLink\"></i>\r\n <i class=\"fas fa-chevron-down\" *ngIf=\"link.transId!==expandedLink\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled pl-4\" *ngIf=\"link.transId===expandedLink\">\r\n <li class=\"py-1m-0\" *ngFor=\"let subLink of link.children\">\r\n <a [href]=\"subLink.url\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <ul class=\"list-unstyled ml-0 pl-0\">\r\n <li class=\"mb-1 d-flex flex-wrap gap-2\">\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">\r\n {{navigation.about.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div>\r\n <img style=\"height: 3.2rem;\" src=\"/assets/images/logo.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
141
127
  }] }
142
128
  ];
143
129
  /** @nocollapse */
@@ -149,6 +135,7 @@ ADBHeaderComponent.ctorParameters = () => [
149
135
  ADBHeaderComponent.propDecorators = {
150
136
  loginClicked: [{ type: Output }],
151
137
  logoutClicked: [{ type: Output }],
138
+ dropMenuChange: [{ type: Output }],
152
139
  userName: [{ type: Input }]
153
140
  };
154
141
  if (false) {
@@ -162,6 +149,8 @@ if (false) {
162
149
  /** @type {?} */
163
150
  ADBHeaderComponent.prototype.logoutClicked;
164
151
  /** @type {?} */
152
+ ADBHeaderComponent.prototype.dropMenuChange;
153
+ /** @type {?} */
165
154
  ADBHeaderComponent.prototype.fullName;
166
155
  /** @type {?} */
167
156
  ADBHeaderComponent.prototype.initials;
@@ -189,4 +178,4 @@ if (false) {
189
178
  ADBHeaderComponent.prototype.trans;
190
179
  /* Skipping unhandled member: ;*/
191
180
  }
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hZGItc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FkYi1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTzNELE1BQU0sT0FBTyxrQkFBa0I7Ozs7OztJQW1CN0IsWUFDVSxVQUFzQixFQUN0QixVQUE4QixFQUMvQixLQUF1QjtRQUZ0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9CLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBckJ4QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVc3QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUXJCLENBQUM7Ozs7O0lBbEJELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDOztjQUNuQixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDcEMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVB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QUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQXJGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHUyUkFBMEM7YUFDM0M7Ozs7WUFWUSxVQUFVO1lBSVYsa0JBQWtCO1lBRmxCLGdCQUFnQjs7OzJCQVd0QixNQUFNOzRCQUNOLE1BQU07dUJBRU4sS0FBSzs7Ozs7OztJQUpOLDBDQUEwQzs7SUFDMUMsMENBQTRDOztJQUM1QywyQ0FBNkM7O0lBQzdDLHNDQUFpQjs7SUFTakIsc0NBQWlCOztJQUNqQixzQ0FBaUI7O0lBQ2pCLDBDQUFxQjs7SUFDckIsd0NBQXVCOztJQUN2QixpQ0FBWTs7SUFDWiwwQ0FBcUI7Ozs7O0lBRW5CLHdDQUE4Qjs7Ozs7SUFDOUIsd0NBQXNDOztJQUN0QyxtQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhZGItaGVhZGVyMicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBREJIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgQE91dHB1dCgpIGxvZ2luQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbG9nb3V0Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmdWxsTmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCB1c2VyTmFtZShmdWxsTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZ1bGxOYW1lID0gZnVsbE5hbWU7XHJcbiAgICBjb25zdCBzcGxpdHRlZCA9IGZ1bGxOYW1lLnNwbGl0KCcgJyk7XHJcbiAgICBpZiAoc3BsaXR0ZWQgJiYgc3BsaXR0ZWQubGVuZ3RoID4gMSkge1xyXG4gICAgICBjb25zdCBpbml0aWFscyA9IHNwbGl0dGVkLnNoaWZ0KCkuY2hhckF0KDApICsgc3BsaXR0ZWQucG9wKCkuY2hhckF0KDApO1xyXG4gICAgICB0aGlzLmluaXRpYWxzID0gaW5pdGlhbHMudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuICB9O1xyXG4gIGluaXRpYWxzOiBzdHJpbmc7XHJcbiAgc2hvd01lbnUgPSBmYWxzZTtcclxuICBzaG93VXNlck1lbnUgPSBmYWxzZTtcclxuICBuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGV4cGFuZGVkTGluazogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnM6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy51cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmVudlNlcnZpY2UuZW52aXJvbm1lbnQucmVzb3VyY2VVcmw7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5odHRwQ2xpZW50LmdldDxOYXZpZ2F0aW9uPihiYXNlVXJsICsgJy9hc3NldHMvbGlua3MuanNvbicpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb24gPSByZXN1bHQ7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmluaXRBbGxUcmFuc2xhdGlvbnMoYmFzZVVybCk7XHJcbiAgICAvLyBpZiAodGhpcy50cmFucy5zdG9yZS50cmFuc2xhdGlvbnNbdGhpcy50cmFucy5jdXJyZW50TGFuZ10pIHtcclxuICAgIC8vICAgY29uc29sZS5sb2coJ3RoaXMudHJhbnMuY3VycmVudExhbmcnLCB0aGlzLnRyYW5zLmN1cnJlbnRMYW5nKTtcclxuICAgIC8vICAgdGhpcy5pbml0VHJhbnNsYXRpb25zKGJhc2VVcmwsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudHJhbnMub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZygnZXZlbnQnLCBldmVudCk7XHJcbiAgICAvLyAgICAgdGhpcy5pbml0VHJhbnNsYXRpb25zKGJhc2VVcmwsIGV2ZW50LmxhbmcpO1xyXG4gICAgLy8gICB9KSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRBbGxUcmFuc2xhdGlvbnMoYmFzZVVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB0cmFucyQgPSBmb3JrSm9pbihbdGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgJy9hc3NldHMvaTE4bi9lbi5qc29uJyksIHRoaXMuaHR0cENsaWVudC5nZXQoYmFzZVVybCArICcvYXNzZXRzL2kxOG4vc3YuanNvbicpXSlcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0cmFucyQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMudHJhbnMuc2V0VHJhbnNsYXRpb24oJ2VuJywgcmVzdWx0WzBdLCB0cnVlKTtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbignc3YnLCByZXN1bHRbMV0sIHRydWUpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0VHJhbnNsYXRpb25zKGJhc2VVcmw6IHN0cmluZywgbGFuZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAvL1RPRE86IFByZXBhcmUgZm9yIGRpZmZlbnRzIGxhbmcgdGhlbiBlbiBzdiAoZW4tR0IpIG9yIGFkZCBtb3JlIGZpbGVzIGluIGRldmNvbXBvbmVudHNlcnZlciA6KVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMuaHR0cENsaWVudC5nZXQoYmFzZVVybCArIGAvYXNzZXRzL2kxOG4vJHtsYW5nfS5qc29uYCwgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKSB9KS5zdWJzY3JpYmUodHJhbnNsYXRpb25zID0+IHtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbihsYW5nLCB0cmFuc2xhdGlvbnMsIHRydWUpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFuZ3VhZ2UobGFuZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFucy51c2UobGFuZyk7XHJcbiAgICAvL3NldCBsb2NhbHN0b3JhZ2UvY29va2llcyBvY3IgcHJvYmFseSBldmVudCB0byBtYWluIGFwcFxyXG4gIH1cclxuXHJcbiAgb25FeHBhbmRMaW5rKHRyYW5zSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZXhwYW5kZWRMaW5rID09PSB0cmFuc0lkKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWRMaW5rID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5leHBhbmRlZExpbmsgPSB0cmFuc0lkO1xyXG4gIH1cclxuXHJcbiAgbG9naW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ2luQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ291dENsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hZGItc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FkYi1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPM0QsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7O0lBb0I3QixZQUNVLFVBQXNCLEVBQ3RCLFVBQThCLEVBQy9CLEtBQXVCO1FBRnRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFDL0IsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUF0QnhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQVd2RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUXJCLENBQUM7Ozs7O0lBbEJELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDOztjQUNuQixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDcEMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUM3QixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QztJQUNILENBQUM7SUFBQSxDQUFDOzs7O0lBYUYsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7O2NBQzFCLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxXQUFXO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFhLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxNQUFNLENBQUMsRUFBRTtZQUN2RyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7OztJQUVPLG1CQUFtQixDQUFDLE9BQWU7O2NBQ25DLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsc0JBQXNCLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsRUFBQyxDQUFDLENBQUM7SUFDTixDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLElBQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLElBQUk7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQiw2REFBNkQ7SUFDL0QsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUMxQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssT0FBTyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO0lBQzlCLENBQUM7Ozs7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQTdFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHd2VEFBMEM7YUFDM0M7Ozs7WUFWUSxVQUFVO1lBSVYsa0JBQWtCO1lBRmxCLGdCQUFnQjs7OzJCQVd0QixNQUFNOzRCQUNOLE1BQU07NkJBQ04sTUFBTTt1QkFFTixLQUFLOzs7Ozs7O0lBTE4sMENBQTBDOztJQUMxQywwQ0FBNEM7O0lBQzVDLDJDQUE2Qzs7SUFDN0MsNENBQXVEOztJQUN2RCxzQ0FBaUI7O0lBU2pCLHNDQUFpQjs7SUFDakIsc0NBQWlCOztJQUNqQiwwQ0FBcUI7O0lBQ3JCLHdDQUF1Qjs7SUFDdkIsaUNBQVk7O0lBQ1osMENBQXFCOzs7OztJQUVuQix3Q0FBOEI7Ozs7O0lBQzlCLHdDQUFzQzs7SUFDdEMsbUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbiB9IGZyb20gJy4vbmF2aWdhdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWRiLWhlYWRlcjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGItaGVhZGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQURCSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIEBPdXRwdXQoKSBsb2dpbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGxvZ291dENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRyb3BNZW51Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHVzZXJOYW1lKGZ1bGxOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZnVsbE5hbWUgPSBmdWxsTmFtZTtcclxuICAgIGNvbnN0IHNwbGl0dGVkID0gZnVsbE5hbWUuc3BsaXQoJyAnKTtcclxuICAgIGlmIChzcGxpdHRlZCAmJiBzcGxpdHRlZC5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGNvbnN0IGluaXRpYWxzID0gc3BsaXR0ZWQuc2hpZnQoKS5jaGFyQXQoMCkgKyBzcGxpdHRlZC5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbHMgPSBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgaW5pdGlhbHM6IHN0cmluZztcclxuICBzaG93TWVudSA9IGZhbHNlO1xyXG4gIHNob3dVc2VyTWVudSA9IGZhbHNlO1xyXG4gIG5hdmlnYXRpb246IE5hdmlnYXRpb247XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgZXhwYW5kZWRMaW5rOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuczogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuZW52U2VydmljZS5lbnZpcm9ubWVudC5yZXNvdXJjZVVybDtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmh0dHBDbGllbnQuZ2V0PE5hdmlnYXRpb24+KGJhc2VVcmwgKyAnL2Fzc2V0cy9saW5rcy5qc29uJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbiA9IHJlc3VsdDtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRyYW5zJCA9IGZvcmtKb2luKFt0aGlzLmh0dHBDbGllbnQuZ2V0KGJhc2VVcmwgKyAnL2Fzc2V0cy9pMThuL2VuLmpzb24nKSwgdGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgJy9hc3NldHMvaTE4bi9zdi5qc29uJyldKVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRyYW5zJC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbignZW4nLCByZXN1bHRbMF0sIHRydWUpO1xyXG4gICAgICB0aGlzLnRyYW5zLnNldFRyYW5zbGF0aW9uKCdzdicsIHJlc3VsdFsxXSwgdHJ1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBzaG93TWVudURyb3Bkb3duKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3dNZW51ICE9PSBzaG93KSB7XHJcbiAgICAgIHRoaXMuc2hvd01lbnUgPSBzaG93O1xyXG4gICAgICB0aGlzLmRyb3BNZW51Q2hhbmdlLmVtaXQoc2hvdyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRMYW5ndWFnZShsYW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zLnVzZShsYW5nKTtcclxuICAgIC8vVE9ETzogc2V0IGxvY2Fsc3RvcmFnZS9jb29raWVzIG9yIHByb2JhbHkgZXZlbnQgdG8gbWFpbiBhcHBcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kTGluayh0cmFuc0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmV4cGFuZGVkTGluayA9PT0gdHJhbnNJZCkge1xyXG4gICAgICB0aGlzLmV4cGFuZGVkTGluayA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZXhwYW5kZWRMaW5rID0gdHJhbnNJZDtcclxuICB9XHJcblxyXG4gIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dpbkNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dvdXRDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuIC8vIGlmICh0aGlzLnRyYW5zLnN0b3JlLnRyYW5zbGF0aW9uc1t0aGlzLnRyYW5zLmN1cnJlbnRMYW5nXSkge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZygndGhpcy50cmFucy5jdXJyZW50TGFuZycsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgLy8gICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgdGhpcy50cmFucy5jdXJyZW50TGFuZyk7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50cmFucy5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCdldmVudCcsIGV2ZW50KTtcclxuICAgIC8vICAgICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgZXZlbnQubGFuZyk7XHJcbiAgICAvLyAgIH0pKTtcclxuICAgIC8vIH1cclxuICAgIC8vIHByaXZhdGUgaW5pdFRyYW5zbGF0aW9ucyhiYXNlVXJsOiBzdHJpbmcsIGxhbmc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gICAvL1RPRE86IFByZXBhcmUgZm9yIGRpZmZlbnRzIGxhbmcgdGhlbiBlbiBzdiAoZW4tR0IpIG9yIGFkZCBtb3JlIGZpbGVzIGluIGRldmNvbXBvbmVudHNlcnZlciA6KVxyXG4gICAgLy8gICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgYC9hc3NldHMvaTE4bi8ke2xhbmd9Lmpzb25gLCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpIH0pLnN1YnNjcmliZSh0cmFuc2xhdGlvbnMgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMudHJhbnMuc2V0VHJhbnNsYXRpb24obGFuZywgdHJhbnNsYXRpb25zLCB0cnVlKTtcclxuICAgIC8vICAgfSkpO1xyXG4gICAgLy8gfSJdfQ==
@@ -2,7 +2,7 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { HttpClient, HttpHeaders } from '@angular/common/http';
5
+ import { HttpClient } from '@angular/common/http';
6
6
  import { Component, EventEmitter, Input, Output } from '@angular/core';
7
7
  import { TranslateService } from '@ngx-translate/core';
8
8
  import { forkJoin, Subscription } from 'rxjs';
@@ -15,6 +15,7 @@ var ADBHeaderComponent = /** @class */ (function () {
15
15
  this.subscription = new Subscription();
16
16
  this.loginClicked = new EventEmitter();
17
17
  this.logoutClicked = new EventEmitter();
18
+ this.dropMenuChange = new EventEmitter();
18
19
  this.showMenu = false;
19
20
  this.showUserMenu = false;
20
21
  }
@@ -56,15 +57,6 @@ var ADBHeaderComponent = /** @class */ (function () {
56
57
  _this.navigation = result;
57
58
  })));
58
59
  this.initAllTranslations(baseUrl);
59
- // if (this.trans.store.translations[this.trans.currentLang]) {
60
- // console.log('this.trans.currentLang', this.trans.currentLang);
61
- // this.initTranslations(baseUrl, this.trans.currentLang);
62
- // } else {
63
- // this.subscription.add(this.trans.onLangChange.subscribe((event) => {
64
- // console.log('event', event);
65
- // this.initTranslations(baseUrl, event.lang);
66
- // }));
67
- // }
68
60
  };
69
61
  /**
70
62
  * @private
@@ -90,27 +82,18 @@ var ADBHeaderComponent = /** @class */ (function () {
90
82
  })));
91
83
  };
92
84
  /**
93
- * @private
94
- * @param {?} baseUrl
95
- * @param {?} lang
85
+ * @param {?} show
96
86
  * @return {?}
97
87
  */
98
- ADBHeaderComponent.prototype.initTranslations = /**
99
- * @private
100
- * @param {?} baseUrl
101
- * @param {?} lang
88
+ ADBHeaderComponent.prototype.showMenuDropdown = /**
89
+ * @param {?} show
102
90
  * @return {?}
103
91
  */
104
- function (baseUrl, lang) {
105
- var _this = this;
106
- //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
107
- this.subscription.add(this.httpClient.get(baseUrl + ("/assets/i18n/" + lang + ".json"), { headers: new HttpHeaders() }).subscribe((/**
108
- * @param {?} translations
109
- * @return {?}
110
- */
111
- function (translations) {
112
- _this.trans.setTranslation(lang, translations, true);
113
- })));
92
+ function (show) {
93
+ if (this.showMenu !== show) {
94
+ this.showMenu = show;
95
+ this.dropMenuChange.emit(show);
96
+ }
114
97
  };
115
98
  /**
116
99
  * @param {?} lang
@@ -122,7 +105,7 @@ var ADBHeaderComponent = /** @class */ (function () {
122
105
  */
123
106
  function (lang) {
124
107
  this.trans.use(lang);
125
- //set localstorage/cookies ocr probaly event to main app
108
+ //TODO: set localstorage/cookies or probaly event to main app
126
109
  };
127
110
  /**
128
111
  * @param {?} transId
@@ -169,7 +152,7 @@ var ADBHeaderComponent = /** @class */ (function () {
169
152
  ADBHeaderComponent.decorators = [
170
153
  { type: Component, args: [{
171
154
  selector: 'adb-header2',
172
- template: "<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenu=false;\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo pl-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">Artfakta</strong>\r\n </div>\r\n <div class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pr-4\" style=\"gap:2rem;\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a [href]=\"link.url\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button class=\"btn py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenu=!showMenu\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block pl-4\">\r\n <button *ngIf=\"initials\" class=\"btn initials px-2 py-1\" (click)=\"showMenu=false;showUserMenu = !showUserMenu\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" (click)=\"showMenu=false;showUserMenu = !showUserMenu\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials py-2 px-2 mr-2\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3\">\r\n <button (click)=\"logout()\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt mr-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button class=\"btn btn-primary\" (click)=\"login()\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body d-flex flex-column\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials mr-2\">{{initials}}</span>\r\n <button (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button (click)=\"login()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3\">\r\n <ul class=\"list-group ml-0 mb-0 pl-0\">\r\n <li class=\"mb-1 list-group-item rounded-0\"\r\n [ngClass]=\"{'pointer list-group-item-action':link.children&&link.children.length>0}\"\r\n *ngFor=\"let link of navigation.links\">\r\n <div class=\"d-flex align-items-center justify-content-between\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\"\r\n (click)=\"onExpandLink(link.transId)\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n <a [href]=\"link.url\" (click)=\"$event.stopPropagation();\">\r\n {{link.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"text-dark\" *ngIf=\"link.children&&link.children.length>0\">\r\n <i class=\"fas fa-chevron-up\" *ngIf=\"link.transId===expandedLink\"></i>\r\n <i class=\"fas fa-chevron-down\" *ngIf=\"link.transId!==expandedLink\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled pl-4\" *ngIf=\"link.transId===expandedLink\">\r\n <li class=\"py-1m-0\" *ngFor=\"let subLink of link.children\">\r\n <a [href]=\"subLink.url\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div style=\"height:10rem\"></div>\r\n <div *ngIf=\"navigation.about\" class=\"mb-4\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <ul class=\"list-unstyled ml-0 pl-0\">\r\n <li class=\"p-2 bg-white mb-1 d-flex justify-content-between flex-wrap align-items-center\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">\r\n {{navigation.about.transId|translate}}\r\n </a>\r\n </div>\r\n <a href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div>\r\n <img style=\"height: 3.2rem;\" src=\"/assets/images/logo.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
155
+ template: "<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo pl-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">Artfakta</strong>\r\n </div>\r\n <div class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pr-4\" style=\"gap:2rem;\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a [href]=\"link.url\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ml-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block pl-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials px-2 py-1\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials py-2 px-2 mr-2\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt mr-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials mr-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ml-0 mb-0 pl-0\">\r\n <li class=\"mb-1 list-group-item rounded-0\"\r\n [ngClass]=\"{'pointer list-group-item-action':link.children&&link.children.length>0}\"\r\n *ngFor=\"let link of navigation.links\">\r\n <div class=\"d-flex align-items-center justify-content-between\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\"\r\n (click)=\"onExpandLink(link.transId)\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n <a [href]=\"link.url\" (click)=\"$event.stopPropagation();\">\r\n {{link.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"text-dark\" (click)=\"$event.stopPropagation();\" *ngIf=\"link.children&&link.children.length>0\">\r\n <i class=\"fas fa-chevron-up\" *ngIf=\"link.transId===expandedLink\"></i>\r\n <i class=\"fas fa-chevron-down\" *ngIf=\"link.transId!==expandedLink\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled pl-4\" *ngIf=\"link.transId===expandedLink\">\r\n <li class=\"py-1m-0\" *ngFor=\"let subLink of link.children\">\r\n <a [href]=\"subLink.url\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <ul class=\"list-unstyled ml-0 pl-0\">\r\n <li class=\"mb-1 d-flex flex-wrap gap-2\">\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">\r\n {{navigation.about.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div>\r\n <img style=\"height: 3.2rem;\" src=\"/assets/images/logo.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
173
156
  }] }
174
157
  ];
175
158
  /** @nocollapse */
@@ -181,6 +164,7 @@ var ADBHeaderComponent = /** @class */ (function () {
181
164
  ADBHeaderComponent.propDecorators = {
182
165
  loginClicked: [{ type: Output }],
183
166
  logoutClicked: [{ type: Output }],
167
+ dropMenuChange: [{ type: Output }],
184
168
  userName: [{ type: Input }]
185
169
  };
186
170
  return ADBHeaderComponent;
@@ -197,6 +181,8 @@ if (false) {
197
181
  /** @type {?} */
198
182
  ADBHeaderComponent.prototype.logoutClicked;
199
183
  /** @type {?} */
184
+ ADBHeaderComponent.prototype.dropMenuChange;
185
+ /** @type {?} */
200
186
  ADBHeaderComponent.prototype.fullName;
201
187
  /** @type {?} */
202
188
  ADBHeaderComponent.prototype.initials;
@@ -224,4 +210,4 @@ if (false) {
224
210
  ADBHeaderComponent.prototype.trans;
225
211
  /* Skipping unhandled member: ;*/
226
212
  }
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hZGItc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FkYi1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzNEO0lBdUJFLDRCQUNVLFVBQXNCLEVBQ3RCLFVBQThCLEVBQy9CLEtBQXVCO1FBRnRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFDL0IsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFyQnhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBVzdDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFRckIsQ0FBQztJQWxCRCxzQkFBYSx3Q0FBUTs7Ozs7UUFBckIsVUFBc0IsUUFBZ0I7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7O2dCQUNuQixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDcEMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O29CQUM3QixR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RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCxtQ0FBTTs7O0lBQU47UUFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O2dCQXJGRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLHUyUkFBMEM7aUJBQzNDOzs7O2dCQVZRLFVBQVU7Z0JBSVYsa0JBQWtCO2dCQUZsQixnQkFBZ0I7OzsrQkFXdEIsTUFBTTtnQ0FDTixNQUFNOzJCQUVOLEtBQUs7O0lBOEVSLHlCQUFDO0NBQUEsQUF2RkQsSUF1RkM7U0FuRlksa0JBQWtCOzs7Ozs7SUFDN0IsMENBQTBDOztJQUMxQywwQ0FBNEM7O0lBQzVDLDJDQUE2Qzs7SUFDN0Msc0NBQWlCOztJQVNqQixzQ0FBaUI7O0lBQ2pCLHNDQUFpQjs7SUFDakIsMENBQXFCOztJQUNyQix3Q0FBdUI7O0lBQ3ZCLGlDQUFZOztJQUNaLDBDQUFxQjs7Ozs7SUFFbkIsd0NBQThCOzs7OztJQUM5Qix3Q0FBc0M7O0lBQ3RDLG1DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb24gfSBmcm9tICcuL25hdmlnYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FkYi1oZWFkZXIyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRiLWhlYWRlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFEQkhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBAT3V0cHV0KCkgbG9naW5DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBsb2dvdXRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHVzZXJOYW1lKGZ1bGxOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZnVsbE5hbWUgPSBmdWxsTmFtZTtcclxuICAgIGNvbnN0IHNwbGl0dGVkID0gZnVsbE5hbWUuc3BsaXQoJyAnKTtcclxuICAgIGlmIChzcGxpdHRlZCAmJiBzcGxpdHRlZC5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGNvbnN0IGluaXRpYWxzID0gc3BsaXR0ZWQuc2hpZnQoKS5jaGFyQXQoMCkgKyBzcGxpdHRlZC5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbHMgPSBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgaW5pdGlhbHM6IHN0cmluZztcclxuICBzaG93TWVudSA9IGZhbHNlO1xyXG4gIHNob3dVc2VyTWVudSA9IGZhbHNlO1xyXG4gIG5hdmlnYXRpb246IE5hdmlnYXRpb247XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgZXhwYW5kZWRMaW5rOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuczogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuZW52U2VydmljZS5lbnZpcm9ubWVudC5yZXNvdXJjZVVybDtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmh0dHBDbGllbnQuZ2V0PE5hdmlnYXRpb24+KGJhc2VVcmwgKyAnL2Fzc2V0cy9saW5rcy5qc29uJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbiA9IHJlc3VsdDtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsKTtcclxuICAgIC8vIGlmICh0aGlzLnRyYW5zLnN0b3JlLnRyYW5zbGF0aW9uc1t0aGlzLnRyYW5zLmN1cnJlbnRMYW5nXSkge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZygndGhpcy50cmFucy5jdXJyZW50TGFuZycsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgLy8gICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgdGhpcy50cmFucy5jdXJyZW50TGFuZyk7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50cmFucy5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCdldmVudCcsIGV2ZW50KTtcclxuICAgIC8vICAgICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgZXZlbnQubGFuZyk7XHJcbiAgICAvLyAgIH0pKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRyYW5zJCA9IGZvcmtKb2luKFt0aGlzLmh0dHBDbGllbnQuZ2V0KGJhc2VVcmwgKyAnL2Fzc2V0cy9pMThuL2VuLmpzb24nKSwgdGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgJy9hc3NldHMvaTE4bi9zdi5qc29uJyldKVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRyYW5zJC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbignZW4nLCByZXN1bHRbMF0sIHRydWUpO1xyXG4gICAgICB0aGlzLnRyYW5zLnNldFRyYW5zbGF0aW9uKCdzdicsIHJlc3VsdFsxXSwgdHJ1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRUcmFuc2xhdGlvbnMoYmFzZVVybDogc3RyaW5nLCBsYW5nOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vVE9ETzogUHJlcGFyZSBmb3IgZGlmZmVudHMgbGFuZyB0aGVuIGVuIHN2IChlbi1HQikgb3IgYWRkIG1vcmUgZmlsZXMgaW4gZGV2Y29tcG9uZW50c2VydmVyIDopXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgYC9hc3NldHMvaTE4bi8ke2xhbmd9Lmpzb25gLCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpIH0pLnN1YnNjcmliZSh0cmFuc2xhdGlvbnMgPT4ge1xyXG4gICAgICB0aGlzLnRyYW5zLnNldFRyYW5zbGF0aW9uKGxhbmcsIHRyYW5zbGF0aW9ucywgdHJ1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBzZXRMYW5ndWFnZShsYW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zLnVzZShsYW5nKTtcclxuICAgIC8vc2V0IGxvY2Fsc3RvcmFnZS9jb29raWVzIG9jciBwcm9iYWx5IGV2ZW50IHRvIG1haW4gYXBwXHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZExpbmsodHJhbnNJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5leHBhbmRlZExpbmsgPT09IHRyYW5zSWQpIHtcclxuICAgICAgdGhpcy5leHBhbmRlZExpbmsgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmV4cGFuZGVkTGluayA9IHRyYW5zSWQ7XHJcbiAgfVxyXG5cclxuICBsb2dpbigpOiB2b2lkIHtcclxuICAgIHRoaXMubG9naW5DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9nb3V0Q2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hZGItc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FkYi1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHM0Q7SUF3QkUsNEJBQ1UsVUFBc0IsRUFDdEIsVUFBOEIsRUFDL0IsS0FBdUI7UUFGdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQXRCeEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBV3ZELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFRckIsQ0FBQztJQWxCRCxzQkFBYSx3Q0FBUTs7Ozs7UUFBckIsVUFBc0IsUUFBZ0I7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7O2dCQUNuQixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDcEMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1B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OztnQkFWUSxVQUFVO2dCQUlWLGtCQUFrQjtnQkFGbEIsZ0JBQWdCOzs7K0JBV3RCLE1BQU07Z0NBQ04sTUFBTTtpQ0FDTixNQUFNOzJCQUVOLEtBQUs7O0lBcUVSLHlCQUFDO0NBQUEsQUEvRUQsSUErRUM7U0EzRVksa0JBQWtCOzs7Ozs7SUFDN0IsMENBQTBDOztJQUMxQywwQ0FBNEM7O0lBQzVDLDJDQUE2Qzs7SUFDN0MsNENBQXVEOztJQUN2RCxzQ0FBaUI7O0lBU2pCLHNDQUFpQjs7SUFDakIsc0NBQWlCOztJQUNqQiwwQ0FBcUI7O0lBQ3JCLHdDQUF1Qjs7SUFDdkIsaUNBQVk7O0lBQ1osMENBQXFCOzs7OztJQUVuQix3Q0FBOEI7Ozs7O0lBQzlCLHdDQUFzQzs7SUFDdEMsbUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbiB9IGZyb20gJy4vbmF2aWdhdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWRiLWhlYWRlcjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGItaGVhZGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQURCSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIEBPdXRwdXQoKSBsb2dpbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGxvZ291dENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRyb3BNZW51Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHVzZXJOYW1lKGZ1bGxOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZnVsbE5hbWUgPSBmdWxsTmFtZTtcclxuICAgIGNvbnN0IHNwbGl0dGVkID0gZnVsbE5hbWUuc3BsaXQoJyAnKTtcclxuICAgIGlmIChzcGxpdHRlZCAmJiBzcGxpdHRlZC5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGNvbnN0IGluaXRpYWxzID0gc3BsaXR0ZWQuc2hpZnQoKS5jaGFyQXQoMCkgKyBzcGxpdHRlZC5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbHMgPSBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgaW5pdGlhbHM6IHN0cmluZztcclxuICBzaG93TWVudSA9IGZhbHNlO1xyXG4gIHNob3dVc2VyTWVudSA9IGZhbHNlO1xyXG4gIG5hdmlnYXRpb246IE5hdmlnYXRpb247XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgZXhwYW5kZWRMaW5rOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuczogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuZW52U2VydmljZS5lbnZpcm9ubWVudC5yZXNvdXJjZVVybDtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmh0dHBDbGllbnQuZ2V0PE5hdmlnYXRpb24+KGJhc2VVcmwgKyAnL2Fzc2V0cy9saW5rcy5qc29uJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbiA9IHJlc3VsdDtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRyYW5zJCA9IGZvcmtKb2luKFt0aGlzLmh0dHBDbGllbnQuZ2V0KGJhc2VVcmwgKyAnL2Fzc2V0cy9pMThuL2VuLmpzb24nKSwgdGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgJy9hc3NldHMvaTE4bi9zdi5qc29uJyldKVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRyYW5zJC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbignZW4nLCByZXN1bHRbMF0sIHRydWUpO1xyXG4gICAgICB0aGlzLnRyYW5zLnNldFRyYW5zbGF0aW9uKCdzdicsIHJlc3VsdFsxXSwgdHJ1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBzaG93TWVudURyb3Bkb3duKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3dNZW51ICE9PSBzaG93KSB7XHJcbiAgICAgIHRoaXMuc2hvd01lbnUgPSBzaG93O1xyXG4gICAgICB0aGlzLmRyb3BNZW51Q2hhbmdlLmVtaXQoc2hvdyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRMYW5ndWFnZShsYW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zLnVzZShsYW5nKTtcclxuICAgIC8vVE9ETzogc2V0IGxvY2Fsc3RvcmFnZS9jb29raWVzIG9yIHByb2JhbHkgZXZlbnQgdG8gbWFpbiBhcHBcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kTGluayh0cmFuc0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmV4cGFuZGVkTGluayA9PT0gdHJhbnNJZCkge1xyXG4gICAgICB0aGlzLmV4cGFuZGVkTGluayA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZXhwYW5kZWRMaW5rID0gdHJhbnNJZDtcclxuICB9XHJcblxyXG4gIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dpbkNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dvdXRDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuIC8vIGlmICh0aGlzLnRyYW5zLnN0b3JlLnRyYW5zbGF0aW9uc1t0aGlzLnRyYW5zLmN1cnJlbnRMYW5nXSkge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZygndGhpcy50cmFucy5jdXJyZW50TGFuZycsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgLy8gICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgdGhpcy50cmFucy5jdXJyZW50TGFuZyk7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50cmFucy5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCdldmVudCcsIGV2ZW50KTtcclxuICAgIC8vICAgICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgZXZlbnQubGFuZyk7XHJcbiAgICAvLyAgIH0pKTtcclxuICAgIC8vIH1cclxuICAgIC8vIHByaXZhdGUgaW5pdFRyYW5zbGF0aW9ucyhiYXNlVXJsOiBzdHJpbmcsIGxhbmc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gICAvL1RPRE86IFByZXBhcmUgZm9yIGRpZmZlbnRzIGxhbmcgdGhlbiBlbiBzdiAoZW4tR0IpIG9yIGFkZCBtb3JlIGZpbGVzIGluIGRldmNvbXBvbmVudHNlcnZlciA6KVxyXG4gICAgLy8gICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgYC9hc3NldHMvaTE4bi8ke2xhbmd9Lmpzb25gLCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpIH0pLnN1YnNjcmliZSh0cmFuc2xhdGlvbnMgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMudHJhbnMuc2V0VHJhbnNsYXRpb24obGFuZywgdHJhbnNsYXRpb25zLCB0cnVlKTtcclxuICAgIC8vICAgfSkpO1xyXG4gICAgLy8gfSJdfQ==
@@ -1,4 +1,4 @@
1
- import { HttpHeaders, HttpClient, HttpClientModule } from '@angular/common/http';
1
+ import { HttpClient, HttpClientModule } from '@angular/common/http';
2
2
  import { Injectable, Inject, EventEmitter, Component, Output, Input, Directive, ElementRef, HostListener, NgModule } from '@angular/core';
3
3
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
4
4
  import { Subscription, forkJoin } from 'rxjs';
@@ -46,6 +46,7 @@ class ADBHeaderComponent {
46
46
  this.subscription = new Subscription();
47
47
  this.loginClicked = new EventEmitter();
48
48
  this.logoutClicked = new EventEmitter();
49
+ this.dropMenuChange = new EventEmitter();
49
50
  this.showMenu = false;
50
51
  this.showUserMenu = false;
51
52
  }
@@ -79,15 +80,6 @@ class ADBHeaderComponent {
79
80
  this.navigation = result;
80
81
  })));
81
82
  this.initAllTranslations(baseUrl);
82
- // if (this.trans.store.translations[this.trans.currentLang]) {
83
- // console.log('this.trans.currentLang', this.trans.currentLang);
84
- // this.initTranslations(baseUrl, this.trans.currentLang);
85
- // } else {
86
- // this.subscription.add(this.trans.onLangChange.subscribe((event) => {
87
- // console.log('event', event);
88
- // this.initTranslations(baseUrl, event.lang);
89
- // }));
90
- // }
91
83
  }
92
84
  /**
93
85
  * @private
@@ -107,20 +99,14 @@ class ADBHeaderComponent {
107
99
  })));
108
100
  }
109
101
  /**
110
- * @private
111
- * @param {?} baseUrl
112
- * @param {?} lang
102
+ * @param {?} show
113
103
  * @return {?}
114
104
  */
115
- initTranslations(baseUrl, lang) {
116
- //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
117
- this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`, { headers: new HttpHeaders() }).subscribe((/**
118
- * @param {?} translations
119
- * @return {?}
120
- */
121
- translations => {
122
- this.trans.setTranslation(lang, translations, true);
123
- })));
105
+ showMenuDropdown(show) {
106
+ if (this.showMenu !== show) {
107
+ this.showMenu = show;
108
+ this.dropMenuChange.emit(show);
109
+ }
124
110
  }
125
111
  /**
126
112
  * @param {?} lang
@@ -128,7 +114,7 @@ class ADBHeaderComponent {
128
114
  */
129
115
  setLanguage(lang) {
130
116
  this.trans.use(lang);
131
- //set localstorage/cookies ocr probaly event to main app
117
+ //TODO: set localstorage/cookies or probaly event to main app
132
118
  }
133
119
  /**
134
120
  * @param {?} transId
@@ -163,7 +149,7 @@ class ADBHeaderComponent {
163
149
  ADBHeaderComponent.decorators = [
164
150
  { type: Component, args: [{
165
151
  selector: 'adb-header2',
166
- template: "<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenu=false;\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo pl-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">Artfakta</strong>\r\n </div>\r\n <div class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pr-4\" style=\"gap:2rem;\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a [href]=\"link.url\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button class=\"btn py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenu=!showMenu\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block pl-4\">\r\n <button *ngIf=\"initials\" class=\"btn initials px-2 py-1\" (click)=\"showMenu=false;showUserMenu = !showUserMenu\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" (click)=\"showMenu=false;showUserMenu = !showUserMenu\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials py-2 px-2 mr-2\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3\">\r\n <button (click)=\"logout()\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt mr-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button class=\"btn btn-primary\" (click)=\"login()\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body d-flex flex-column\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials mr-2\">{{initials}}</span>\r\n <button (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button (click)=\"login()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3\">\r\n <ul class=\"list-group ml-0 mb-0 pl-0\">\r\n <li class=\"mb-1 list-group-item rounded-0\"\r\n [ngClass]=\"{'pointer list-group-item-action':link.children&&link.children.length>0}\"\r\n *ngFor=\"let link of navigation.links\">\r\n <div class=\"d-flex align-items-center justify-content-between\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\"\r\n (click)=\"onExpandLink(link.transId)\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n <a [href]=\"link.url\" (click)=\"$event.stopPropagation();\">\r\n {{link.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"text-dark\" *ngIf=\"link.children&&link.children.length>0\">\r\n <i class=\"fas fa-chevron-up\" *ngIf=\"link.transId===expandedLink\"></i>\r\n <i class=\"fas fa-chevron-down\" *ngIf=\"link.transId!==expandedLink\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled pl-4\" *ngIf=\"link.transId===expandedLink\">\r\n <li class=\"py-1m-0\" *ngFor=\"let subLink of link.children\">\r\n <a [href]=\"subLink.url\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div style=\"height:10rem\"></div>\r\n <div *ngIf=\"navigation.about\" class=\"mb-4\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <ul class=\"list-unstyled ml-0 pl-0\">\r\n <li class=\"p-2 bg-white mb-1 d-flex justify-content-between flex-wrap align-items-center\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">\r\n {{navigation.about.transId|translate}}\r\n </a>\r\n </div>\r\n <a href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div>\r\n <img style=\"height: 3.2rem;\" src=\"/assets/images/logo.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
152
+ template: "<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo pl-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">Artfakta</strong>\r\n </div>\r\n <div class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pr-4\" style=\"gap:2rem;\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a [href]=\"link.url\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ml-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block pl-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials px-2 py-1\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials py-2 px-2 mr-2\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt mr-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials mr-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ml-0 mb-0 pl-0\">\r\n <li class=\"mb-1 list-group-item rounded-0\"\r\n [ngClass]=\"{'pointer list-group-item-action':link.children&&link.children.length>0}\"\r\n *ngFor=\"let link of navigation.links\">\r\n <div class=\"d-flex align-items-center justify-content-between\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\"\r\n (click)=\"onExpandLink(link.transId)\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n <a [href]=\"link.url\" (click)=\"$event.stopPropagation();\">\r\n {{link.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"text-dark\" (click)=\"$event.stopPropagation();\" *ngIf=\"link.children&&link.children.length>0\">\r\n <i class=\"fas fa-chevron-up\" *ngIf=\"link.transId===expandedLink\"></i>\r\n <i class=\"fas fa-chevron-down\" *ngIf=\"link.transId!==expandedLink\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled pl-4\" *ngIf=\"link.transId===expandedLink\">\r\n <li class=\"py-1m-0\" *ngFor=\"let subLink of link.children\">\r\n <a [href]=\"subLink.url\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <ul class=\"list-unstyled ml-0 pl-0\">\r\n <li class=\"mb-1 d-flex flex-wrap gap-2\">\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">\r\n {{navigation.about.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div>\r\n <img style=\"height: 3.2rem;\" src=\"/assets/images/logo.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
167
153
  }] }
168
154
  ];
169
155
  /** @nocollapse */
@@ -175,6 +161,7 @@ ADBHeaderComponent.ctorParameters = () => [
175
161
  ADBHeaderComponent.propDecorators = {
176
162
  loginClicked: [{ type: Output }],
177
163
  logoutClicked: [{ type: Output }],
164
+ dropMenuChange: [{ type: Output }],
178
165
  userName: [{ type: Input }]
179
166
  };
180
167
  if (false) {
@@ -188,6 +175,8 @@ if (false) {
188
175
  /** @type {?} */
189
176
  ADBHeaderComponent.prototype.logoutClicked;
190
177
  /** @type {?} */
178
+ ADBHeaderComponent.prototype.dropMenuChange;
179
+ /** @type {?} */
191
180
  ADBHeaderComponent.prototype.fullName;
192
181
  /** @type {?} */
193
182
  ADBHeaderComponent.prototype.initials;
@@ -1 +1 @@
1
- {"version":3,"file":"adb-shared.js","sources":["ng://adb-shared/lib/environment.service.ts","ng://adb-shared/lib/adb-header.component.ts","ng://adb-shared/lib/click-outside.directive.ts","ng://adb-shared/lib/adb-header.module.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor(@Inject('env') public environment) {\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { Navigation } from './navigation.model';\r\nimport { take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'adb-header2',\r\n templateUrl: './adb-header.component.html'\r\n})\r\nexport class ADBHeaderComponent implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n @Output() loginClicked = new EventEmitter();\r\n @Output() logoutClicked = new EventEmitter();\r\n fullName: string;\r\n @Input() set userName(fullName: string) {\r\n this.fullName = fullName;\r\n const splitted = fullName.split(' ');\r\n if (splitted && splitted.length > 1) {\r\n const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);\r\n this.initials = initials.toUpperCase();\r\n }\r\n };\r\n initials: string;\r\n showMenu = false;\r\n showUserMenu = false;\r\n navigation: Navigation;\r\n url: string;\r\n expandedLink: string;\r\n constructor(\r\n private httpClient: HttpClient,\r\n private envService: EnvironmentService,\r\n public trans: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.href;\r\n const baseUrl = this.envService.environment.resourceUrl;\r\n this.subscription.add(this.httpClient.get<Navigation>(baseUrl + '/assets/links.json').subscribe(result => {\r\n this.navigation = result;\r\n }));\r\n this.initAllTranslations(baseUrl);\r\n // if (this.trans.store.translations[this.trans.currentLang]) {\r\n // console.log('this.trans.currentLang', this.trans.currentLang);\r\n // this.initTranslations(baseUrl, this.trans.currentLang);\r\n // } else {\r\n // this.subscription.add(this.trans.onLangChange.subscribe((event) => {\r\n // console.log('event', event);\r\n // this.initTranslations(baseUrl, event.lang);\r\n // }));\r\n // }\r\n }\r\n\r\n private initAllTranslations(baseUrl: string): void {\r\n const trans$ = forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')])\r\n this.subscription.add(trans$.subscribe(result => {\r\n this.trans.setTranslation('en', result[0], true);\r\n this.trans.setTranslation('sv', result[1], true);\r\n }));\r\n }\r\n\r\n private initTranslations(baseUrl: string, lang: string): void {\r\n //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)\r\n this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`, { headers: new HttpHeaders() }).subscribe(translations => {\r\n this.trans.setTranslation(lang, translations, true);\r\n }));\r\n }\r\n\r\n setLanguage(lang): void {\r\n this.trans.use(lang);\r\n //set localstorage/cookies ocr probaly event to main app\r\n }\r\n\r\n onExpandLink(transId: string): void {\r\n if (this.expandedLink === transId) {\r\n this.expandedLink = null;\r\n return;\r\n }\r\n this.expandedLink = transId;\r\n }\r\n\r\n login(): void {\r\n this.loginClicked.emit();\r\n }\r\n\r\n logout(): void {\r\n this.logoutClicked.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n}\r\n","import { Directive, Input, Output, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() clickOutside = new EventEmitter<void>();\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(target: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.clickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { ADBHeaderComponent } from './adb-header.component';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent, ClickOutsideDirective],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n TranslateModule\r\n ],\r\n exports: [ADBHeaderComponent]\r\n})\r\nexport class ADBHeaderModule {\r\n public static forRoot(environment: any): ModuleWithProviders<ADBHeaderModule> {\r\n return {\r\n ngModule: ADBHeaderModule,\r\n providers: [\r\n EnvironmentService,\r\n {\r\n provide: 'env', // you can also use InjectionToken\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adb-shared.js","sources":["ng://adb-shared/lib/environment.service.ts","ng://adb-shared/lib/adb-header.component.ts","ng://adb-shared/lib/click-outside.directive.ts","ng://adb-shared/lib/adb-header.module.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor(@Inject('env') public environment) {\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { Navigation } from './navigation.model';\r\nimport { take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'adb-header2',\r\n templateUrl: './adb-header.component.html'\r\n})\r\nexport class ADBHeaderComponent implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n @Output() loginClicked = new EventEmitter();\r\n @Output() logoutClicked = new EventEmitter();\r\n @Output() dropMenuChange = new EventEmitter<boolean>();\r\n fullName: string;\r\n @Input() set userName(fullName: string) {\r\n this.fullName = fullName;\r\n const splitted = fullName.split(' ');\r\n if (splitted && splitted.length > 1) {\r\n const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);\r\n this.initials = initials.toUpperCase();\r\n }\r\n };\r\n initials: string;\r\n showMenu = false;\r\n showUserMenu = false;\r\n navigation: Navigation;\r\n url: string;\r\n expandedLink: string;\r\n constructor(\r\n private httpClient: HttpClient,\r\n private envService: EnvironmentService,\r\n public trans: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.href;\r\n const baseUrl = this.envService.environment.resourceUrl;\r\n this.subscription.add(this.httpClient.get<Navigation>(baseUrl + '/assets/links.json').subscribe(result => {\r\n this.navigation = result;\r\n }));\r\n this.initAllTranslations(baseUrl);\r\n }\r\n\r\n private initAllTranslations(baseUrl: string): void {\r\n const trans$ = forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')])\r\n this.subscription.add(trans$.subscribe(result => {\r\n this.trans.setTranslation('en', result[0], true);\r\n this.trans.setTranslation('sv', result[1], true);\r\n }));\r\n }\r\n\r\n showMenuDropdown(show: boolean): void {\r\n if (this.showMenu !== show) {\r\n this.showMenu = show;\r\n this.dropMenuChange.emit(show);\r\n }\r\n }\r\n\r\n setLanguage(lang): void {\r\n this.trans.use(lang);\r\n //TODO: set localstorage/cookies or probaly event to main app\r\n }\r\n\r\n onExpandLink(transId: string): void {\r\n if (this.expandedLink === transId) {\r\n this.expandedLink = null;\r\n return;\r\n }\r\n this.expandedLink = transId;\r\n }\r\n\r\n login(): void {\r\n this.loginClicked.emit();\r\n }\r\n\r\n logout(): void {\r\n this.logoutClicked.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n}\r\n\r\n\r\n // if (this.trans.store.translations[this.trans.currentLang]) {\r\n // console.log('this.trans.currentLang', this.trans.currentLang);\r\n // this.initTranslations(baseUrl, this.trans.currentLang);\r\n // } else {\r\n // this.subscription.add(this.trans.onLangChange.subscribe((event) => {\r\n // console.log('event', event);\r\n // this.initTranslations(baseUrl, event.lang);\r\n // }));\r\n // }\r\n // private initTranslations(baseUrl: string, lang: string): void {\r\n // //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)\r\n // this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`, { headers: new HttpHeaders() }).subscribe(translations => {\r\n // this.trans.setTranslation(lang, translations, true);\r\n // }));\r\n // }","import { Directive, Input, Output, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() clickOutside = new EventEmitter<void>();\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(target: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.clickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { ADBHeaderComponent } from './adb-header.component';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent, ClickOutsideDirective],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n TranslateModule\r\n ],\r\n exports: [ADBHeaderComponent]\r\n})\r\nexport class ADBHeaderModule {\r\n public static forRoot(environment: any): ModuleWithProviders<ADBHeaderModule> {\r\n return {\r\n ngModule: ADBHeaderModule,\r\n providers: [\r\n EnvironmentService,\r\n {\r\n provide: 'env', // you can also use InjectionToken\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}