adb-shared 3.0.16 → 3.0.19

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.
@@ -226,6 +226,217 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
226
226
  }]
227
227
  }] });
228
228
 
229
+ class AdbDropdownService {
230
+ }
231
+ /** @nocollapse */ AdbDropdownService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
232
+ /** @nocollapse */ AdbDropdownService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownService });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownService, decorators: [{
234
+ type: Injectable
235
+ }] });
236
+
237
+ class AdbDropdownDirective {
238
+ constructor(elementRef, adbDropdownService) {
239
+ this.elementRef = elementRef;
240
+ this.adbDropdownService = adbDropdownService;
241
+ this.adbDropdown = new EventEmitter();
242
+ this.insideClick = false;
243
+ this.dataToggle = "dropdown";
244
+ this.haspPopup = true;
245
+ this.expanded = false;
246
+ this.id = this.getId();
247
+ }
248
+ onClick() {
249
+ var _a;
250
+ this.adbDropdownService.currentMenuId = this.id;
251
+ const node = this.elementRef.nativeElement.parentNode;
252
+ const toggleButton = node.querySelector('.dropdown-toggle');
253
+ let style = `transform:translate3d(0px, ${(toggleButton === null || toggleButton === void 0 ? void 0 : toggleButton.clientHeight) + 1}px, 0px);`;
254
+ const menu = node.querySelector('.dropdown-menu');
255
+ if (menu) {
256
+ this.adbDropdownService.currentMenu = this.elementRef.nativeElement;
257
+ if ((_a = menu.classList) === null || _a === void 0 ? void 0 : _a.contains('dropdown-menu-end')) {
258
+ style = style + 'inset: 0px 0px auto auto;';
259
+ }
260
+ menu.setAttribute('style', style);
261
+ if (menu.classList.contains('show')) {
262
+ menu.classList.remove('show');
263
+ }
264
+ else {
265
+ this.adbDropdown.emit();
266
+ menu.classList.add('show');
267
+ }
268
+ }
269
+ }
270
+ onCheckOutSideClick(target) {
271
+ if (this.adbDropdownService.currentMenuId === this.id) {
272
+ const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
273
+ const clickedInside = parent.contains(target);
274
+ if (!clickedInside) {
275
+ const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
276
+ parent === null || parent === void 0 ? void 0 : parent.classList.remove('show');
277
+ }
278
+ }
279
+ else {
280
+ const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
281
+ parent === null || parent === void 0 ? void 0 : parent.classList.remove('show');
282
+ }
283
+ }
284
+ close() {
285
+ const node = this.elementRef.nativeElement.parentNode;
286
+ const menu = node.querySelector('.dropdown-menu');
287
+ menu.classList.remove('show');
288
+ }
289
+ getId() {
290
+ return '' + Math.floor(Math.random() * Date.now());
291
+ }
292
+ }
293
+ /** @nocollapse */ AdbDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, deps: [{ token: i0.ElementRef }, { token: AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive });
294
+ /** @nocollapse */ AdbDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDropdownDirective, selector: "[adbDropdown]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded" } }, exportAs: ["adbDropdown"], ngImport: i0 });
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, decorators: [{
296
+ type: Directive,
297
+ args: [{
298
+ selector: '[adbDropdown]',
299
+ exportAs: 'adbDropdown'
300
+ }]
301
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AdbDropdownService }]; }, propDecorators: { adbDropdown: [{
302
+ type: Output
303
+ }], insideClick: [{
304
+ type: Input
305
+ }], id: [{
306
+ type: HostBinding,
307
+ args: ['id']
308
+ }], dataToggle: [{
309
+ type: HostBinding,
310
+ args: ['attr.data-toggle']
311
+ }], haspPopup: [{
312
+ type: HostBinding,
313
+ args: ['attr.aria-haspopup']
314
+ }], expanded: [{
315
+ type: HostBinding,
316
+ args: ['attr.aria-expanded']
317
+ }], onClick: [{
318
+ type: HostListener,
319
+ args: ['click']
320
+ }], onCheckOutSideClick: [{
321
+ type: HostListener,
322
+ args: ['document:click', ['$event.target']]
323
+ }] } });
324
+
325
+ class ADBNavComponent {
326
+ constructor(httpClient, trans) {
327
+ this.httpClient = httpClient;
328
+ this.trans = trans;
329
+ this.subscription = new Subscription();
330
+ this.loginClicked = new EventEmitter();
331
+ this.logoutClicked = new EventEmitter();
332
+ this.dropMenuChange = new EventEmitter();
333
+ this.showPattern = false;
334
+ this.translationFinished = false;
335
+ this.artfakta = true;
336
+ this.showMenu = false;
337
+ this.showUserMenu = false;
338
+ }
339
+ set userName(fullName) {
340
+ this.fullName = fullName;
341
+ const splitted = fullName.split(' ');
342
+ if ((splitted === null || splitted === void 0 ? void 0 : splitted.length) > 1) {
343
+ const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);
344
+ this.initials = initials.toUpperCase();
345
+ }
346
+ else {
347
+ this.initials = this.fullName ? this.fullName.charAt(0).toUpperCase() : this.fullName;
348
+ }
349
+ }
350
+ ;
351
+ ngOnInit() {
352
+ this.url = window.location.href;
353
+ const baseUrl = 'https://sharedcomponents-dev.artdata.slu.se';
354
+ this.subscription.add(this.httpClient.get(baseUrl + '/assets/links-ap3.json').subscribe(result => {
355
+ this.navigation = result;
356
+ }));
357
+ this.initTranslations(baseUrl);
358
+ }
359
+ initTranslations(baseUrl) {
360
+ if (this.trans.store.translations[this.trans.currentLang]) {
361
+ this.loadTranslation(baseUrl, this.trans.currentLang);
362
+ }
363
+ this.subscription.add(this.trans.onLangChange.subscribe((event) => {
364
+ this.translationFinished = false;
365
+ this.loadTranslation(baseUrl, event.lang);
366
+ }));
367
+ }
368
+ loadTranslation(baseUrl, lang) {
369
+ //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
370
+ this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`).subscribe(translations => {
371
+ this.trans.setTranslation(lang, translations, true);
372
+ this.translationFinished = true;
373
+ }));
374
+ }
375
+ showMenuDropdown(show) {
376
+ if (this.showMenu !== show) {
377
+ this.showMenu = show;
378
+ this.dropMenuChange.emit(show);
379
+ }
380
+ }
381
+ setLanguage(lang) {
382
+ this.trans.use(lang);
383
+ this.showMenu = false;
384
+ this.dropMenuChange.emit(false);
385
+ //TODO: set localstorage/cookies or probaly event to main app
386
+ }
387
+ onExpandLink(event, transId) {
388
+ event.preventDefault();
389
+ event.stopPropagation();
390
+ if (this.expandedLink === transId) {
391
+ this.expandedLink = null;
392
+ return;
393
+ }
394
+ this.expandedLink = transId;
395
+ }
396
+ login() {
397
+ this.loginClicked.emit();
398
+ }
399
+ logout() {
400
+ this.logoutClicked.emit();
401
+ }
402
+ ngOnDestroy() {
403
+ this.subscription.unsubscribe();
404
+ }
405
+ }
406
+ /** @nocollapse */ ADBNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBNavComponent, deps: [{ token: i1.HttpClient }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
407
+ /** @nocollapse */ ADBNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ADBNavComponent, selector: "adb-nav", inputs: { showPattern: "showPattern", userName: "userName", artfakta: "artfakta" }, outputs: { loginClicked: "loginClicked", logoutClicked: "logoutClicked", dropMenuChange: "dropMenuChange" }, ngImport: i0, template: "<header class=\"bg-primary\" [attr.id]=\"showPattern?'pattern':''\" (adbClickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap align-items-center p-2 gap-2\">\r\n <div class=\"me-5\">\r\n <a href=\"https://www.artdatabanken.se/\" target=\"new\"><img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\"></a>\r\n </div>\r\n <ng-container *ngIf=\"translationFinished\">\r\n <nav class=\"flex-grow-1 d-lg-flex align-items-center pe-4 gap-4\" *ngIf=\"navigation\">\r\n <a class=\"text-white fs-5 me-3\" href=\"{{navigation.artfakta.url}}\">\r\n {{navigation.artfakta.transId|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <a class=\"ms-auto text-white d-none d-lg-block\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" [href]=\"navigation.supportUrl\">Support</a>\r\n </nav>\r\n <div class=\"ms-auto\">\r\n <div class=\"d-flex gap-2\">\r\n <div class=\"btn-group no-caret\">\r\n <button adbDropdown class=\"btn btn-primary btn-sm dropdown-toggle\"><span class=\"far fa-globe\"></span></button>\r\n <ul class=\"dropdown-menu dropdown-menu-end py-1 bg-primary\">\r\n <li>\r\n <button type=\"button\" [class.pe-none]=\"trans.currentLang==='sv'\" (click)=\"setLanguage('sv')\" class=\"btn btn-link py-0 px-2 text-white\">\r\n <span [class.fw-bold]=\"trans.currentLang==='sv'\">{{'ADB_HEADER.IN_SWEDISH'|translate}}</span>\r\n </button>\r\n </li>\r\n <div class=\"dropdown-divider my-1 opacity-25 bg-white\"></div>\r\n <li>\r\n <button type=\"button\" [class.pe-none]=\"trans.currentLang==='en'\" (click)=\"setLanguage('en')\" class=\"btn btn-link py-0 px-2 text-white\">\r\n <span [class.fw-bold]=\"trans.currentLang==='en'\">{{'ADB_HEADER.IN_ENGLISH'|translate}}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"btn-group no-caret d-none d-lg-block\">\r\n <button type=\"button\" adbDropdown class=\"btn btn-primary btn-sm dropdown-toggle\" [class.initials]=\"initials\" (click)=\"showMenuDropdown(!showMenu)\">\r\n <ng-container *ngIf=\"initials\">{{initials}}</ng-container>\r\n <ng-container *ngIf=\"!initials\">{{'ADB_HEADER.LOGIN'|translate}}</ng-container>\r\n </button>\r\n <ul class=\"dropdown-menu dropdown-menu-end py-1 bg-primary text-white\">\r\n <ng-container *ngIf=\"initials\">\r\n <li class=\"px-2 pb-1\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0 text-white\">\r\n <span class=\"fas fa-sign-out-alt me-1\"></span>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </li>\r\n <hr class=\"my-0\">\r\n <li class=\"pt-1 px-2\">\r\n <span class=\"fas fa-user me-1\"></span>\r\n {{fullName}}\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <li>\r\n <div class=\"text-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 </li>\r\n <li>\r\n <a *ngIf=\"navigation\" class=\"d-block text-center mt-2 text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-block d-lg-none\">\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=\"ms-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </nav>\r\n <div class=\"mobile-menu d-flex flex-column d-lg-none bg-primary text-white\" *ngIf=\"showMenu&&navigation\">\r\n <div class=\"p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials me-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 justify-content-between gap-2\" *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}}?lang={{trans.currentLang}}&returnUrl={{url}}\"\r\n class=\"btn btn-primary text-white\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"px-2\">\r\n <hr class=\"my-0\">\r\n <ul class=\"list-unstyled\">\r\n <li>\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 <hr class=\"my-0\">\r\n </li>\r\n <li>\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 <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n </a>\r\n <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <small class=\"d-block text-white py-2\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u>{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"mt-auto splash-height\" id=\"pattern\"></div>\r\n </div>\r\n</header>", directives: [{ type: ClickOutsideDirective, selector: "[adbClickOutside]", outputs: ["adbClickOutside"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AdbDropdownDirective, selector: "[adbDropdown]", inputs: ["insideClick"], outputs: ["adbDropdown"], exportAs: ["adbDropdown"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i1$1.TranslatePipe } });
408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBNavComponent, decorators: [{
409
+ type: Component,
410
+ args: [{ selector: 'adb-nav', template: "<header class=\"bg-primary\" [attr.id]=\"showPattern?'pattern':''\" (adbClickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap align-items-center p-2 gap-2\">\r\n <div class=\"me-5\">\r\n <a href=\"https://www.artdatabanken.se/\" target=\"new\"><img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\"></a>\r\n </div>\r\n <ng-container *ngIf=\"translationFinished\">\r\n <nav class=\"flex-grow-1 d-lg-flex align-items-center pe-4 gap-4\" *ngIf=\"navigation\">\r\n <a class=\"text-white fs-5 me-3\" href=\"{{navigation.artfakta.url}}\">\r\n {{navigation.artfakta.transId|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <a class=\"ms-auto text-white d-none d-lg-block\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n </a>\r\n <a class=\"text-white d-none d-lg-block\" [href]=\"navigation.supportUrl\">Support</a>\r\n </nav>\r\n <div class=\"ms-auto\">\r\n <div class=\"d-flex gap-2\">\r\n <div class=\"btn-group no-caret\">\r\n <button adbDropdown class=\"btn btn-primary btn-sm dropdown-toggle\"><span class=\"far fa-globe\"></span></button>\r\n <ul class=\"dropdown-menu dropdown-menu-end py-1 bg-primary\">\r\n <li>\r\n <button type=\"button\" [class.pe-none]=\"trans.currentLang==='sv'\" (click)=\"setLanguage('sv')\" class=\"btn btn-link py-0 px-2 text-white\">\r\n <span [class.fw-bold]=\"trans.currentLang==='sv'\">{{'ADB_HEADER.IN_SWEDISH'|translate}}</span>\r\n </button>\r\n </li>\r\n <div class=\"dropdown-divider my-1 opacity-25 bg-white\"></div>\r\n <li>\r\n <button type=\"button\" [class.pe-none]=\"trans.currentLang==='en'\" (click)=\"setLanguage('en')\" class=\"btn btn-link py-0 px-2 text-white\">\r\n <span [class.fw-bold]=\"trans.currentLang==='en'\">{{'ADB_HEADER.IN_ENGLISH'|translate}}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"btn-group no-caret d-none d-lg-block\">\r\n <button type=\"button\" adbDropdown class=\"btn btn-primary btn-sm dropdown-toggle\" [class.initials]=\"initials\" (click)=\"showMenuDropdown(!showMenu)\">\r\n <ng-container *ngIf=\"initials\">{{initials}}</ng-container>\r\n <ng-container *ngIf=\"!initials\">{{'ADB_HEADER.LOGIN'|translate}}</ng-container>\r\n </button>\r\n <ul class=\"dropdown-menu dropdown-menu-end py-1 bg-primary text-white\">\r\n <ng-container *ngIf=\"initials\">\r\n <li class=\"px-2 pb-1\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0 text-white\">\r\n <span class=\"fas fa-sign-out-alt me-1\"></span>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </li>\r\n <hr class=\"my-0\">\r\n <li class=\"pt-1 px-2\">\r\n <span class=\"fas fa-user me-1\"></span>\r\n {{fullName}}\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <li>\r\n <div class=\"text-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 </li>\r\n <li>\r\n <a *ngIf=\"navigation\" class=\"d-block text-center mt-2 text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-block d-lg-none\">\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=\"ms-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </nav>\r\n <div class=\"mobile-menu d-flex flex-column d-lg-none bg-primary text-white\" *ngIf=\"showMenu&&navigation\">\r\n <div class=\"p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials me-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 justify-content-between gap-2\" *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}}?lang={{trans.currentLang}}&returnUrl={{url}}\"\r\n class=\"btn btn-primary text-white\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"px-2\">\r\n <hr class=\"my-0\">\r\n <ul class=\"list-unstyled\">\r\n <li>\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 <hr class=\"my-0\">\r\n </li>\r\n <li>\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 <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n </a>\r\n <hr class=\"my-0\">\r\n </li>\r\n <li>\r\n <small class=\"d-block text-white py-2\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u>{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"mt-auto splash-height\" id=\"pattern\"></div>\r\n </div>\r\n</header>" }]
411
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i1$1.TranslateService }]; }, propDecorators: { loginClicked: [{
412
+ type: Output
413
+ }], logoutClicked: [{
414
+ type: Output
415
+ }], dropMenuChange: [{
416
+ type: Output
417
+ }], showPattern: [{
418
+ type: Input
419
+ }], userName: [{
420
+ type: Input
421
+ }], artfakta: [{
422
+ type: Input
423
+ }] } });
424
+
425
+ class AdbDropdownModule {
426
+ }
427
+ /** @nocollapse */ AdbDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
428
+ /** @nocollapse */ AdbDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, declarations: [AdbDropdownDirective], imports: [CommonModule, i1$1.TranslateModule, AdbDirectivesModule], exports: [AdbDropdownDirective] });
429
+ /** @nocollapse */ AdbDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, providers: [AdbDropdownService], imports: [[CommonModule, TranslateModule.forChild(), AdbDirectivesModule]] });
430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, decorators: [{
431
+ type: NgModule,
432
+ args: [{
433
+ imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],
434
+ declarations: [AdbDropdownDirective],
435
+ exports: [AdbDropdownDirective],
436
+ providers: [AdbDropdownService]
437
+ }]
438
+ }] });
439
+
229
440
  class ADBHeaderModule {
230
441
  static forRoot(environment) {
231
442
  return {
@@ -241,30 +452,33 @@ class ADBHeaderModule {
241
452
  }
242
453
  }
243
454
  /** @nocollapse */ ADBHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
244
- /** @nocollapse */ ADBHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBHeaderModule, declarations: [ADBHeaderComponent], imports: [CommonModule,
455
+ /** @nocollapse */ ADBHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBHeaderModule, declarations: [ADBHeaderComponent, ADBNavComponent], imports: [CommonModule,
245
456
  HttpClientModule,
246
457
  RouterModule,
247
458
  TranslateModule,
248
- AdbDirectivesModule], exports: [ADBHeaderComponent] });
459
+ AdbDirectivesModule,
460
+ AdbDropdownModule], exports: [ADBHeaderComponent, ADBNavComponent] });
249
461
  /** @nocollapse */ ADBHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBHeaderModule, imports: [[
250
462
  CommonModule,
251
463
  HttpClientModule,
252
464
  RouterModule,
253
465
  TranslateModule,
254
- AdbDirectivesModule
466
+ AdbDirectivesModule,
467
+ AdbDropdownModule
255
468
  ]] });
256
469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBHeaderModule, decorators: [{
257
470
  type: NgModule,
258
471
  args: [{
259
- declarations: [ADBHeaderComponent],
472
+ declarations: [ADBHeaderComponent, ADBNavComponent],
260
473
  imports: [
261
474
  CommonModule,
262
475
  HttpClientModule,
263
476
  RouterModule,
264
477
  TranslateModule,
265
- AdbDirectivesModule
478
+ AdbDirectivesModule,
479
+ AdbDropdownModule
266
480
  ],
267
- exports: [ADBHeaderComponent]
481
+ exports: [ADBHeaderComponent, ADBNavComponent]
268
482
  }]
269
483
  }] });
270
484
 
@@ -352,6 +566,7 @@ class PagerComponent extends PagerBaseDirective {
352
566
  this.activatedRoute = activatedRoute;
353
567
  this.subscription = new Subscription();
354
568
  this.offsetName = "offset";
569
+ this.infiniteLimit = false;
355
570
  }
356
571
  ngOnInit() {
357
572
  this.subscription.add(this.activatedRoute.queryParams.subscribe(params => {
@@ -379,12 +594,14 @@ class PagerComponent extends PagerBaseDirective {
379
594
  }
380
595
  }
381
596
  /** @nocollapse */ PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PagerComponent, deps: [{ token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
382
- /** @nocollapse */ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: PagerComponent, selector: "adb-pager-nav", inputs: { offsetName: "offsetName" }, usesInheritance: true, ngImport: i0, template: "<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.first\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.prev\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page.name\" *ngFor=\"let page of params.pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"page.params\"\r\n queryParamsHandling=\"merge\">{{page.name}}</a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.next\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\" [attr.aria-disabled]=\"currentPage>=amountOfPages\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.last\" queryParamsHandling=\"merge\"\r\n [attr.aria-disabled]=\"currentPage>=amountOfPages\" [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
597
+ /** @nocollapse */ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: PagerComponent, selector: "adb-pager-nav", inputs: { offsetName: "offsetName", infiniteLimit: "infiniteLimit" }, usesInheritance: true, ngImport: i0, template: "<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.first\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.prev\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page.name\" *ngFor=\"let page of params.pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"page.params\"\r\n queryParamsHandling=\"merge\">{{page.name}}</a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.next\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\" [attr.aria-disabled]=\"currentPage>=amountOfPages\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <ng-container *ngIf=\"!infiniteLimit\">\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.last\" queryParamsHandling=\"merge\"\r\n [attr.aria-disabled]=\"currentPage>=amountOfPages\" [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ng-container>\r\n <li class=\"page-item\" *ngIf=\"infiniteLimit\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.last\" queryParamsHandling=\"merge\"\r\n [attr.aria-disabled]=\"currentPage>=amountOfPages\" [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
383
598
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PagerComponent, decorators: [{
384
599
  type: Component,
385
- args: [{ selector: 'adb-pager-nav', template: "<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.first\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.prev\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page.name\" *ngFor=\"let page of params.pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"page.params\"\r\n queryParamsHandling=\"merge\">{{page.name}}</a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.next\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\" [attr.aria-disabled]=\"currentPage>=amountOfPages\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.last\" queryParamsHandling=\"merge\"\r\n [attr.aria-disabled]=\"currentPage>=amountOfPages\" [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>" }]
600
+ args: [{ selector: 'adb-pager-nav', template: "<nav *ngIf=\"pages&&pages.length>1&&currentPage<=amountOfPages\" class=\"d-flex justify-content-end pe-2 my-1\">\r\n <ul class=\"pagination mb-0\">\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.first\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-double-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.prev\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage===1}\" [attr.aria-disabled]=\"currentPage===1\">\r\n <i class=\"fas fa-chevron-left\"></i>\r\n </a>\r\n </li>\r\n <li class=\"page-item\" [class.active]=\"currentPage===page.name\" *ngFor=\"let page of params.pages\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"page.params\"\r\n queryParamsHandling=\"merge\">{{page.name}}</a>\r\n </li>\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.next\" queryParamsHandling=\"merge\"\r\n [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\" [attr.aria-disabled]=\"currentPage>=amountOfPages\">\r\n <i class=\"fas fa-chevron-right\"></i>\r\n </a>\r\n </li>\r\n <ng-container *ngIf=\"!infiniteLimit\">\r\n <li *ngIf=\"(amountOfPages-1)*limit<10000\" class=\"page-item\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.last\" queryParamsHandling=\"merge\"\r\n [attr.aria-disabled]=\"currentPage>=amountOfPages\" [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ng-container>\r\n <li class=\"page-item\" *ngIf=\"infiniteLimit\">\r\n <a class=\"page-link\" [routerLink]=\"[]\" [queryParams]=\"params.last\" queryParamsHandling=\"merge\"\r\n [attr.aria-disabled]=\"currentPage>=amountOfPages\" [ngClass]=\"{'pe-none opacity-50':currentPage>=amountOfPages}\">\r\n <i class=\"fas fa-chevron-double-right\"></i>\r\n </a>\r\n </li>\r\n </ul>\r\n</nav>" }]
386
601
  }], ctorParameters: function () { return [{ type: i1$2.ActivatedRoute }]; }, propDecorators: { offsetName: [{
387
602
  type: Input
603
+ }], infiniteLimit: [{
604
+ type: Input
388
605
  }] } });
389
606
 
390
607
  class AdbPagersModule {
@@ -915,117 +1132,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
915
1132
  }]
916
1133
  }] });
917
1134
 
918
- class AdbDropdownService {
919
- }
920
- /** @nocollapse */ AdbDropdownService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
921
- /** @nocollapse */ AdbDropdownService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownService });
922
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownService, decorators: [{
923
- type: Injectable
924
- }] });
925
-
926
- class AdbDropdownDirective {
927
- constructor(elementRef, adbDropdownService) {
928
- this.elementRef = elementRef;
929
- this.adbDropdownService = adbDropdownService;
930
- this.adbDropdown = new EventEmitter();
931
- this.insideClick = false;
932
- this.dataToggle = "dropdown";
933
- this.haspPopup = true;
934
- this.expanded = false;
935
- this.id = this.getId();
936
- }
937
- onClick() {
938
- var _a;
939
- this.adbDropdownService.currentMenuId = this.id;
940
- const node = this.elementRef.nativeElement.parentNode;
941
- const toggleButton = node.querySelector('.dropdown-toggle');
942
- let style = `transform:translate3d(0px, ${(toggleButton === null || toggleButton === void 0 ? void 0 : toggleButton.clientHeight) + 1}px, 0px);`;
943
- const menu = node.querySelector('.dropdown-menu');
944
- if (menu) {
945
- this.adbDropdownService.currentMenu = this.elementRef.nativeElement;
946
- if ((_a = menu.classList) === null || _a === void 0 ? void 0 : _a.contains('dropdown-menu-end')) {
947
- style = style + 'inset: 0px 0px auto auto;';
948
- }
949
- menu.setAttribute('style', style);
950
- if (menu.classList.contains('show')) {
951
- menu.classList.remove('show');
952
- }
953
- else {
954
- this.adbDropdown.emit();
955
- menu.classList.add('show');
956
- }
957
- }
958
- }
959
- onCheckOutSideClick(target) {
960
- if (this.adbDropdownService.currentMenuId === this.id) {
961
- const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
962
- const clickedInside = parent.contains(target);
963
- if (!clickedInside) {
964
- const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
965
- parent === null || parent === void 0 ? void 0 : parent.classList.remove('show');
966
- }
967
- }
968
- else {
969
- const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
970
- parent === null || parent === void 0 ? void 0 : parent.classList.remove('show');
971
- }
972
- }
973
- close() {
974
- const node = this.elementRef.nativeElement.parentNode;
975
- const menu = node.querySelector('.dropdown-menu');
976
- menu.classList.remove('show');
977
- }
978
- getId() {
979
- return '' + Math.floor(Math.random() * Date.now());
980
- }
981
- }
982
- /** @nocollapse */ AdbDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, deps: [{ token: i0.ElementRef }, { token: AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive });
983
- /** @nocollapse */ AdbDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDropdownDirective, selector: "[adbDropdown]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded" } }, exportAs: ["adbDropdown"], ngImport: i0 });
984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownDirective, decorators: [{
985
- type: Directive,
986
- args: [{
987
- selector: '[adbDropdown]',
988
- exportAs: 'adbDropdown'
989
- }]
990
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AdbDropdownService }]; }, propDecorators: { adbDropdown: [{
991
- type: Output
992
- }], insideClick: [{
993
- type: Input
994
- }], id: [{
995
- type: HostBinding,
996
- args: ['id']
997
- }], dataToggle: [{
998
- type: HostBinding,
999
- args: ['attr.data-toggle']
1000
- }], haspPopup: [{
1001
- type: HostBinding,
1002
- args: ['attr.aria-haspopup']
1003
- }], expanded: [{
1004
- type: HostBinding,
1005
- args: ['attr.aria-expanded']
1006
- }], onClick: [{
1007
- type: HostListener,
1008
- args: ['click']
1009
- }], onCheckOutSideClick: [{
1010
- type: HostListener,
1011
- args: ['document:click', ['$event.target']]
1012
- }] } });
1013
-
1014
- class AdbDropdownModule {
1015
- }
1016
- /** @nocollapse */ AdbDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1017
- /** @nocollapse */ AdbDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, declarations: [AdbDropdownDirective], imports: [CommonModule, i1$1.TranslateModule, AdbDirectivesModule], exports: [AdbDropdownDirective] });
1018
- /** @nocollapse */ AdbDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, providers: [AdbDropdownService], imports: [[CommonModule, TranslateModule.forChild(), AdbDirectivesModule]] });
1019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, decorators: [{
1020
- type: NgModule,
1021
- args: [{
1022
- imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],
1023
- declarations: [AdbDropdownDirective],
1024
- exports: [AdbDropdownDirective],
1025
- providers: [AdbDropdownService]
1026
- }]
1027
- }] });
1028
-
1029
1135
  class AdbModalService {
1030
1136
  constructor(componentFactoryResolver, rendererFactory, appRef, injector) {
1031
1137
  this.componentFactoryResolver = componentFactoryResolver;
@@ -1116,6 +1222,7 @@ class AdbToastService {
1116
1222
  toastMessage.delay = of(toastMessage).pipe(delay(time)).subscribe(toast => {
1117
1223
  this.remove(toast);
1118
1224
  });
1225
+ console.log('toastMessage', toastMessage);
1119
1226
  this.toasts.push(toastMessage);
1120
1227
  this.toastsSubject.next(this.toasts);
1121
1228
  }
@@ -1191,5 +1298,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
1191
1298
  * Generated bundle index. Do not edit.
1192
1299
  */
1193
1300
 
1194
- export { ADBHeaderComponent, ADBHeaderModule, AdbConfirmModal, AdbDatePickerComponent, AdbDatePickerDirective, AdbDatePickerModule, AdbDirectivesModule, AdbDropdownDirective, AdbDropdownModule, AdbModalModule, AdbModalService, AdbPagersModule, AdbPipesModule, AdbToast, AdbToastModule, AdbToastService, ClickOutsideDirective, EmptyValuePipe, FileUploadDirective, FocusDirective, HighlightPipe, InfiniteScrollComponent, LocaleDatePipe, NumberSpacingPipe, PagerComponent, ToastType };
1301
+ export { ADBHeaderComponent, ADBHeaderModule, ADBNavComponent, AdbConfirmModal, AdbDatePickerComponent, AdbDatePickerDirective, AdbDatePickerModule, AdbDirectivesModule, AdbDropdownDirective, AdbDropdownModule, AdbModalModule, AdbModalService, AdbPagersModule, AdbPipesModule, AdbToast, AdbToastModule, AdbToastService, ClickOutsideDirective, EmptyValuePipe, FileUploadDirective, FocusDirective, HighlightPipe, InfiniteScrollComponent, LocaleDatePipe, NumberSpacingPipe, PagerComponent, ToastType };
1195
1302
  //# sourceMappingURL=adb-shared.mjs.map