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.
- package/esm2020/lib/components/adb-header/adb-header.module.mjs +12 -7
- package/esm2020/lib/components/adb-header/adb-nav.component.mjs +108 -0
- package/esm2020/lib/components/adb-toast/adb-toast.service.mjs +2 -1
- package/esm2020/lib/components/pagers/pager.mjs +6 -3
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/adb-shared.mjs +227 -120
- package/fesm2015/adb-shared.mjs.map +1 -1
- package/fesm2020/adb-shared.mjs +226 -119
- package/fesm2020/adb-shared.mjs.map +1 -1
- package/lib/components/adb-header/adb-header.module.d.ts +8 -6
- package/lib/components/adb-header/adb-nav.component.d.ts +50 -0
- package/lib/components/pagers/pager.d.ts +2 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
package/fesm2015/adb-shared.mjs
CHANGED
|
@@ -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
|
|
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&¤tPage<=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&¤tPage<=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&¤tPage<=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&¤tPage<=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
|