adb-shared 0.0.47 → 0.0.49
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/adb-shared.metadata.json +1 -1
- package/bundles/adb-shared.umd.js +1 -1
- package/bundles/adb-shared.umd.js.map +1 -1
- package/bundles/adb-shared.umd.min.js +1 -1
- package/bundles/adb-shared.umd.min.js.map +1 -1
- package/esm2015/lib/adb-header.component.js +2 -2
- package/esm5/lib/adb-header.component.js +2 -2
- package/fesm2015/adb-shared.js +1 -1
- package/fesm2015/adb-shared.js.map +1 -1
- package/fesm5/adb-shared.js +1 -1
- package/fesm5/adb-shared.js.map +1 -1
- package/package.json +1 -1
package/adb-shared.metadata.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ADBHeaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"adb-header2","template":"<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\r\n <button *ngIf=\"initials\" class=\"btn initials\" (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 </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials 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:5rem\"></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"}]}],"members":{"loginClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"logoutClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"userName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":31,"character":24},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":33,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"initAllTranslations":[{"__symbolic":"method"}],"initTranslations":[{"__symbolic":"method"}],"setLanguage":[{"__symbolic":"method"}],"onExpandLink":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ADBHeaderModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ADBHeaderComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":15,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":16,"character":4}],"exports":[{"__symbolic":"reference","name":"ADBHeaderComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["environment"],"value":{"ngModule":{"__symbolic":"reference","name":"ADBHeaderModule"},"providers":[{"__symbolic":"reference","name":"ɵa"},{"provide":"env","useValue":{"__symbolic":"reference","name":"environment"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":4,"character":17},"arguments":["env"]}]],"parameters":[null]}]}}},"origins":{"ADBHeaderComponent":"./lib/adb-header.component","ADBHeaderModule":"./lib/adb-header.module","ɵa":"./lib/environment.service"},"importAs":"adb-shared"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ADBHeaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"adb-header2","template":"<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\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 </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-1 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:5rem\"></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"}]}],"members":{"loginClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"logoutClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"userName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":31,"character":24},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":33,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"initAllTranslations":[{"__symbolic":"method"}],"initTranslations":[{"__symbolic":"method"}],"setLanguage":[{"__symbolic":"method"}],"onExpandLink":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ADBHeaderModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ADBHeaderComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":15,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":16,"character":4}],"exports":[{"__symbolic":"reference","name":"ADBHeaderComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["environment"],"value":{"ngModule":{"__symbolic":"reference","name":"ADBHeaderModule"},"providers":[{"__symbolic":"reference","name":"ɵa"},{"provide":"env","useValue":{"__symbolic":"reference","name":"environment"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":4,"character":17},"arguments":["env"]}]],"parameters":[null]}]}}},"origins":{"ADBHeaderComponent":"./lib/adb-header.component","ADBHeaderModule":"./lib/adb-header.module","ɵa":"./lib/environment.service"},"importAs":"adb-shared"}
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
ADBHeaderComponent.decorators = [
|
|
193
193
|
{ type: core.Component, args: [{
|
|
194
194
|
selector: 'adb-header2',
|
|
195
|
-
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\r\n <button *ngIf=\"initials\" class=\"btn initials\" (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 </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials 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:5rem\"></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"
|
|
195
|
+
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\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 </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-1 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:5rem\"></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"
|
|
196
196
|
}] }
|
|
197
197
|
];
|
|
198
198
|
/** @nocollapse */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adb-shared.umd.js","sources":["ng://adb-shared/lib/environment.service.ts","ng://adb-shared/lib/adb-header.component.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 { 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\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\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":["Injectable","Inject","Subscription","EventEmitter","forkJoin","HttpHeaders","Component","HttpClient","TranslateService","Output","Input","NgModule","CommonModule","HttpClientModule","RouterModule","TranslateModule"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adb-shared.umd.js","sources":["ng://adb-shared/lib/environment.service.ts","ng://adb-shared/lib/adb-header.component.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 { 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\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\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":["Injectable","Inject","Subscription","EventEmitter","forkJoin","HttpHeaders","Component","HttpClient","TranslateService","Output","Input","NgModule","CommonModule","HttpClientModule","RouterModule","TranslateModule"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common/http"),require("@angular/core"),require("@ngx-translate/core"),require("rxjs"),require("@angular/common"),require("@angular/router")):"function"==typeof define&&define.amd?define("adb-shared",["exports","@angular/common/http","@angular/core","@ngx-translate/core","rxjs","@angular/common","@angular/router"],t):t((n=n||self)["adb-shared"]={},n.ng.common.http,n.ng.core,n.core$1,n.rxjs,n.ng.common,n.ng.router)}(this,(function(n,t,r,e,s,i,a){"use strict";var l=function(){function n(n){this.environment=n}return n.decorators=[{type:r.Injectable}],n.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.Inject,args:["env"]}]}]},n}();var o=function(){function n(n,t,e){this.httpClient=n,this.envService=t,this.trans=e,this.subscription=new s.Subscription,this.loginClicked=new r.EventEmitter,this.logoutClicked=new r.EventEmitter,this.showMenu=!1,this.showUserMenu=!1}return Object.defineProperty(n.prototype,"userName",{set:function(n){this.fullName=n;var t=n.split(" ");if(t&&t.length>1){var r=t.shift().charAt(0)+t.pop().charAt(0);this.initials=r.toUpperCase()}},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){var n=this;this.url=window.location.href;var t=this.envService.environment.resourceUrl;this.subscription.add(this.httpClient.get(t+"/assets/links.json").subscribe((function(t){n.navigation=t}))),this.initAllTranslations(t)},n.prototype.initAllTranslations=function(n){var t=this,r=s.forkJoin([this.httpClient.get(n+"/assets/i18n/en.json"),this.httpClient.get(n+"/assets/i18n/sv.json")]);this.subscription.add(r.subscribe((function(n){t.trans.setTranslation("en",n[0],!0),t.trans.setTranslation("sv",n[1],!0)})))},n.prototype.initTranslations=function(n,r){var e=this;this.subscription.add(this.httpClient.get(n+"/assets/i18n/"+r+".json",{headers:new t.HttpHeaders}).subscribe((function(n){e.trans.setTranslation(r,n,!0)})))},n.prototype.setLanguage=function(n){this.trans.use(n)},n.prototype.onExpandLink=function(n){this.expandedLink!==n?this.expandedLink=n:this.expandedLink=null},n.prototype.login=function(){this.loginClicked.emit()},n.prototype.logout=function(){this.logoutClicked.emit()},n.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},n.decorators=[{type:r.Component,args:[{selector:"adb-header2",template:'<header id="top-header">\r\n <nav class="px-2">\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 <div class="title">Artfakta</div>\r\n <nav class="d-none d-lg-flex align-items-center 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 <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 class="d-none d-md-block auth">\r\n <button *ngIf="initials" class="btn initials" (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 </nav>\r\n <div class="menu" *ngIf="showUserMenu">\r\n <div class="menu-body bg-white" style="width:15rem">\r\n <ng-container *ngIf="initials">\r\n <div class="text-dark">\r\n <span class="initials 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:5rem"></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'}]}],n.ctorParameters=function(){return[{type:t.HttpClient},{type:l},{type:e.TranslateService}]},n.propDecorators={loginClicked:[{type:r.Output}],logoutClicked:[{type:r.Output}],userName:[{type:r.Input}]},n}();var c=function(){function n(){}return n.forRoot=function(t){return{ngModule:n,providers:[l,{provide:"env",useValue:t}]}},n.decorators=[{type:r.NgModule,args:[{declarations:[o],imports:[i.CommonModule,t.HttpClientModule,a.RouterModule,e.TranslateModule],exports:[o]}]}],n}();n.ADBHeaderComponent=o,n.ADBHeaderModule=c,n.ɵa=l,Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common/http"),require("@angular/core"),require("@ngx-translate/core"),require("rxjs"),require("@angular/common"),require("@angular/router")):"function"==typeof define&&define.amd?define("adb-shared",["exports","@angular/common/http","@angular/core","@ngx-translate/core","rxjs","@angular/common","@angular/router"],t):t((n=n||self)["adb-shared"]={},n.ng.common.http,n.ng.core,n.core$1,n.rxjs,n.ng.common,n.ng.router)}(this,(function(n,t,r,e,s,i,a){"use strict";var l=function(){function n(n){this.environment=n}return n.decorators=[{type:r.Injectable}],n.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.Inject,args:["env"]}]}]},n}();var o=function(){function n(n,t,e){this.httpClient=n,this.envService=t,this.trans=e,this.subscription=new s.Subscription,this.loginClicked=new r.EventEmitter,this.logoutClicked=new r.EventEmitter,this.showMenu=!1,this.showUserMenu=!1}return Object.defineProperty(n.prototype,"userName",{set:function(n){this.fullName=n;var t=n.split(" ");if(t&&t.length>1){var r=t.shift().charAt(0)+t.pop().charAt(0);this.initials=r.toUpperCase()}},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){var n=this;this.url=window.location.href;var t=this.envService.environment.resourceUrl;this.subscription.add(this.httpClient.get(t+"/assets/links.json").subscribe((function(t){n.navigation=t}))),this.initAllTranslations(t)},n.prototype.initAllTranslations=function(n){var t=this,r=s.forkJoin([this.httpClient.get(n+"/assets/i18n/en.json"),this.httpClient.get(n+"/assets/i18n/sv.json")]);this.subscription.add(r.subscribe((function(n){t.trans.setTranslation("en",n[0],!0),t.trans.setTranslation("sv",n[1],!0)})))},n.prototype.initTranslations=function(n,r){var e=this;this.subscription.add(this.httpClient.get(n+"/assets/i18n/"+r+".json",{headers:new t.HttpHeaders}).subscribe((function(n){e.trans.setTranslation(r,n,!0)})))},n.prototype.setLanguage=function(n){this.trans.use(n)},n.prototype.onExpandLink=function(n){this.expandedLink!==n?this.expandedLink=n:this.expandedLink=null},n.prototype.login=function(){this.loginClicked.emit()},n.prototype.logout=function(){this.logoutClicked.emit()},n.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},n.decorators=[{type:r.Component,args:[{selector:"adb-header2",template:'<header id="top-header">\r\n <nav class="px-2">\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 <div class="title">Artfakta</div>\r\n <nav class="d-none d-lg-flex align-items-center 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 <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 class="d-none d-md-block auth">\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 </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-1 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:5rem"></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'}]}],n.ctorParameters=function(){return[{type:t.HttpClient},{type:l},{type:e.TranslateService}]},n.propDecorators={loginClicked:[{type:r.Output}],logoutClicked:[{type:r.Output}],userName:[{type:r.Input}]},n}();var c=function(){function n(){}return n.forRoot=function(t){return{ngModule:n,providers:[l,{provide:"env",useValue:t}]}},n.decorators=[{type:r.NgModule,args:[{declarations:[o],imports:[i.CommonModule,t.HttpClientModule,a.RouterModule,e.TranslateModule],exports:[o]}]}],n}();n.ADBHeaderComponent=o,n.ADBHeaderModule=c,n.ɵa=l,Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=adb-shared.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ng://adb-shared/lib/environment.service.ts","ng://adb-shared/lib/adb-header.component.ts","ng://adb-shared/lib/adb-header.module.ts"],"names":["EnvironmentService","environment","this","Injectable","Inject","args","ADBHeaderComponent","httpClient","envService","trans","subscription","Subscription","loginClicked","EventEmitter","logoutClicked","showMenu","showUserMenu","Object","defineProperty","prototype","fullName","splitted","split","length","initials","shift","charAt","pop","toUpperCase","ngOnInit","_this","url","window","location","href","baseUrl","resourceUrl","add","get","subscribe","result","navigation","initAllTranslations","trans$","forkJoin","setTranslation","initTranslations","lang","headers","HttpHeaders","translations","setLanguage","use","onExpandLink","transId","expandedLink","login","emit","logout","ngOnDestroy","unsubscribe","Component","selector","template","HttpClient","TranslateService","Output","Input","ADBHeaderModule","forRoot","ngModule","providers","provide","useValue","NgModule","declarations","imports","CommonModule","HttpClientModule","RouterModule","TranslateModule","exports"],"mappings":"6iBAAA,IAAAA,EAAA,WAII,SAAAA,EAAkCC,GAAAC,KAAAD,YAAAA,EAEtC,2BAJCE,EAAAA,+EAEgBC,EAAAA,OAAMC,KAAA,CAAC,YAExBL,EANA,GCAA,IAAAM,EAAA,WA8BE,SAAAA,EACUC,EACAC,EACDC,GAFCP,KAAAK,WAAAA,EACAL,KAAAM,WAAAA,EACDN,KAAAO,MAAAA,EArBDP,KAAAQ,aAAe,IAAIC,EAAAA,aACjBT,KAAAU,aAAe,IAAIC,EAAAA,aACnBX,KAAAY,cAAgB,IAAID,EAAAA,aAW9BX,KAAAa,UAAW,EACXb,KAAAc,cAAe,EAoEjB,OA9EEC,OAAAC,eAAaZ,EAAAa,UAAA,WAAQ,KAArB,SAAsBC,GACpBlB,KAAKkB,SAAWA,MACVC,EAAWD,EAASE,MAAM,KAChC,GAAID,GAAYA,EAASE,OAAS,EAAG,KAC7BC,EAAWH,EAASI,QAAQC,OAAO,GAAKL,EAASM,MAAMD,OAAO,GACpExB,KAAKsB,SAAWA,EAASI,gDAe7BtB,EAAAa,UAAAU,SAAA,WAAA,IAAAC,EAAA5B,KACEA,KAAK6B,IAAMC,OAAOC,SAASC,SACrBC,EAAUjC,KAAKM,WAAWP,YAAYmC,YAC5ClC,KAAKQ,aAAa2B,IAAInC,KAAKK,WAAW+B,IAAgBH,EAAU,sBAAsBI,WAAS,SAACC,GAC9FV,EAAKW,WAAaD,MAEpBtC,KAAKwC,oBAAoBP,IAYnB7B,EAAAa,UAAAuB,oBAAR,SAA4BP,GAA5B,IAAAL,EAAA5B,KACQyC,EAASC,EAAAA,SAAS,CAAC1C,KAAKK,WAAW+B,IAAIH,EAAU,wBAAyBjC,KAAKK,WAAW+B,IAAIH,EAAU,0BAC9GjC,KAAKQ,aAAa2B,IAAIM,EAAOJ,WAAS,SAACC,GACrCV,EAAKrB,MAAMoC,eAAe,KAAML,EAAO,IAAI,GAC3CV,EAAKrB,MAAMoC,eAAe,KAAML,EAAO,IAAI,QAIvClC,EAAAa,UAAA2B,iBAAR,SAAyBX,EAAiBY,GAA1C,IAAAjB,EAAA5B,KAEEA,KAAKQ,aAAa2B,IAAInC,KAAKK,WAAW+B,IAAIH,EAAU,gBAAgBY,EAAI,QAAS,CAAEC,QAAS,IAAIC,EAAAA,cAAiBV,WAAS,SAACW,GACzHpB,EAAKrB,MAAMoC,eAAeE,EAAMG,GAAc,QAIlD5C,EAAAa,UAAAgC,YAAA,SAAYJ,GACV7C,KAAKO,MAAM2C,IAAIL,IAIjBzC,EAAAa,UAAAkC,aAAA,SAAaC,GACPpD,KAAKqD,eAAiBD,EAI1BpD,KAAKqD,aAAeD,EAHlBpD,KAAKqD,aAAe,MAMxBjD,EAAAa,UAAAqC,MAAA,WACEtD,KAAKU,aAAa6C,QAGpBnD,EAAAa,UAAAuC,OAAA,WACExD,KAAKY,cAAc2C,QAGrBnD,EAAAa,UAAAwC,YAAA,WACEzD,KAAKQ,aAAakD,mCApFrBC,EAAAA,UAASxD,KAAA,CAAC,CACTyD,SAAU,cACVC,SAAA,
|
|
1
|
+
{"version":3,"sources":["ng://adb-shared/lib/environment.service.ts","ng://adb-shared/lib/adb-header.component.ts","ng://adb-shared/lib/adb-header.module.ts"],"names":["EnvironmentService","environment","this","Injectable","Inject","args","ADBHeaderComponent","httpClient","envService","trans","subscription","Subscription","loginClicked","EventEmitter","logoutClicked","showMenu","showUserMenu","Object","defineProperty","prototype","fullName","splitted","split","length","initials","shift","charAt","pop","toUpperCase","ngOnInit","_this","url","window","location","href","baseUrl","resourceUrl","add","get","subscribe","result","navigation","initAllTranslations","trans$","forkJoin","setTranslation","initTranslations","lang","headers","HttpHeaders","translations","setLanguage","use","onExpandLink","transId","expandedLink","login","emit","logout","ngOnDestroy","unsubscribe","Component","selector","template","HttpClient","TranslateService","Output","Input","ADBHeaderModule","forRoot","ngModule","providers","provide","useValue","NgModule","declarations","imports","CommonModule","HttpClientModule","RouterModule","TranslateModule","exports"],"mappings":"6iBAAA,IAAAA,EAAA,WAII,SAAAA,EAAkCC,GAAAC,KAAAD,YAAAA,EAEtC,2BAJCE,EAAAA,+EAEgBC,EAAAA,OAAMC,KAAA,CAAC,YAExBL,EANA,GCAA,IAAAM,EAAA,WA8BE,SAAAA,EACUC,EACAC,EACDC,GAFCP,KAAAK,WAAAA,EACAL,KAAAM,WAAAA,EACDN,KAAAO,MAAAA,EArBDP,KAAAQ,aAAe,IAAIC,EAAAA,aACjBT,KAAAU,aAAe,IAAIC,EAAAA,aACnBX,KAAAY,cAAgB,IAAID,EAAAA,aAW9BX,KAAAa,UAAW,EACXb,KAAAc,cAAe,EAoEjB,OA9EEC,OAAAC,eAAaZ,EAAAa,UAAA,WAAQ,KAArB,SAAsBC,GACpBlB,KAAKkB,SAAWA,MACVC,EAAWD,EAASE,MAAM,KAChC,GAAID,GAAYA,EAASE,OAAS,EAAG,KAC7BC,EAAWH,EAASI,QAAQC,OAAO,GAAKL,EAASM,MAAMD,OAAO,GACpExB,KAAKsB,SAAWA,EAASI,gDAe7BtB,EAAAa,UAAAU,SAAA,WAAA,IAAAC,EAAA5B,KACEA,KAAK6B,IAAMC,OAAOC,SAASC,SACrBC,EAAUjC,KAAKM,WAAWP,YAAYmC,YAC5ClC,KAAKQ,aAAa2B,IAAInC,KAAKK,WAAW+B,IAAgBH,EAAU,sBAAsBI,WAAS,SAACC,GAC9FV,EAAKW,WAAaD,MAEpBtC,KAAKwC,oBAAoBP,IAYnB7B,EAAAa,UAAAuB,oBAAR,SAA4BP,GAA5B,IAAAL,EAAA5B,KACQyC,EAASC,EAAAA,SAAS,CAAC1C,KAAKK,WAAW+B,IAAIH,EAAU,wBAAyBjC,KAAKK,WAAW+B,IAAIH,EAAU,0BAC9GjC,KAAKQ,aAAa2B,IAAIM,EAAOJ,WAAS,SAACC,GACrCV,EAAKrB,MAAMoC,eAAe,KAAML,EAAO,IAAI,GAC3CV,EAAKrB,MAAMoC,eAAe,KAAML,EAAO,IAAI,QAIvClC,EAAAa,UAAA2B,iBAAR,SAAyBX,EAAiBY,GAA1C,IAAAjB,EAAA5B,KAEEA,KAAKQ,aAAa2B,IAAInC,KAAKK,WAAW+B,IAAIH,EAAU,gBAAgBY,EAAI,QAAS,CAAEC,QAAS,IAAIC,EAAAA,cAAiBV,WAAS,SAACW,GACzHpB,EAAKrB,MAAMoC,eAAeE,EAAMG,GAAc,QAIlD5C,EAAAa,UAAAgC,YAAA,SAAYJ,GACV7C,KAAKO,MAAM2C,IAAIL,IAIjBzC,EAAAa,UAAAkC,aAAA,SAAaC,GACPpD,KAAKqD,eAAiBD,EAI1BpD,KAAKqD,aAAeD,EAHlBpD,KAAKqD,aAAe,MAMxBjD,EAAAa,UAAAqC,MAAA,WACEtD,KAAKU,aAAa6C,QAGpBnD,EAAAa,UAAAuC,OAAA,WACExD,KAAKY,cAAc2C,QAGrBnD,EAAAa,UAAAwC,YAAA,WACEzD,KAAKQ,aAAakD,mCApFrBC,EAAAA,UAASxD,KAAA,CAAC,CACTyD,SAAU,cACVC,SAAA,mqQATOC,EAAAA,kBAIAhE,SAFAiE,EAAAA,0DAWNC,EAAAA,8BACAA,EAAAA,yBAEAC,EAAAA,SA8EH7D,EA9FA,GCAA,IAAA8D,EAAA,WAUA,SAAAA,KAuBA,OAZgBA,EAAAC,QAAd,SAAsBpE,GACpB,MAAO,CACLqE,SAAUF,EACVG,UAAW,CACTvE,EACA,CACEwE,QAAS,MACTC,SAAUxE,0BAlBnByE,EAAAA,SAAQrE,KAAA,CAAC,CACRsE,aAAc,CAACrE,GACfsE,QAAS,CACPC,EAAAA,aACAC,EAAAA,iBACAC,EAAAA,aACAC,EAAAA,iBAEFC,QAAS,CAAC3E,OAeZ8D,EAjCA","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 { 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\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\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"]}
|
|
@@ -137,7 +137,7 @@ export class ADBHeaderComponent {
|
|
|
137
137
|
ADBHeaderComponent.decorators = [
|
|
138
138
|
{ type: Component, args: [{
|
|
139
139
|
selector: 'adb-header2',
|
|
140
|
-
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\r\n <button *ngIf=\"initials\" class=\"btn initials\" (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 </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials 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:5rem\"></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"
|
|
140
|
+
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\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 </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-1 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:5rem\"></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"
|
|
141
141
|
}] }
|
|
142
142
|
];
|
|
143
143
|
/** @nocollapse */
|
|
@@ -189,4 +189,4 @@ if (false) {
|
|
|
189
189
|
ADBHeaderComponent.prototype.trans;
|
|
190
190
|
/* Skipping unhandled member: ;*/
|
|
191
191
|
}
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hZGItc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FkYi1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTzNELE1BQU0sT0FBTyxrQkFBa0I7Ozs7OztJQW1CN0IsWUFDVSxVQUFzQixFQUN0QixVQUE4QixFQUMvQixLQUF1QjtRQUZ0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9CLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBckJ4QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVc3QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUXJCLENBQUM7Ozs7O0lBbEJELElBQWEsUUFBUSxDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDOztjQUNuQixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDcEMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVB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QUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQXJGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLGl6UUFBMEM7YUFDM0M7Ozs7WUFWUSxVQUFVO1lBSVYsa0JBQWtCO1lBRmxCLGdCQUFnQjs7OzJCQVd0QixNQUFNOzRCQUNOLE1BQU07dUJBRU4sS0FBSzs7Ozs7OztJQUpOLDBDQUEwQzs7SUFDMUMsMENBQTRDOztJQUM1QywyQ0FBNkM7O0lBQzdDLHNDQUFpQjs7SUFTakIsc0NBQWlCOztJQUNqQixzQ0FBaUI7O0lBQ2pCLDBDQUFxQjs7SUFDckIsd0NBQXVCOztJQUN2QixpQ0FBWTs7SUFDWiwwQ0FBcUI7Ozs7O0lBRW5CLHdDQUE4Qjs7Ozs7SUFDOUIsd0NBQXNDOztJQUN0QyxtQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhZGItaGVhZGVyMicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBREJIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgQE91dHB1dCgpIGxvZ2luQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbG9nb3V0Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmdWxsTmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCB1c2VyTmFtZShmdWxsTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZ1bGxOYW1lID0gZnVsbE5hbWU7XHJcbiAgICBjb25zdCBzcGxpdHRlZCA9IGZ1bGxOYW1lLnNwbGl0KCcgJyk7XHJcbiAgICBpZiAoc3BsaXR0ZWQgJiYgc3BsaXR0ZWQubGVuZ3RoID4gMSkge1xyXG4gICAgICBjb25zdCBpbml0aWFscyA9IHNwbGl0dGVkLnNoaWZ0KCkuY2hhckF0KDApICsgc3BsaXR0ZWQucG9wKCkuY2hhckF0KDApO1xyXG4gICAgICB0aGlzLmluaXRpYWxzID0gaW5pdGlhbHMudG9VcHBlckNhc2UoKTtcclxuICAgIH1cclxuICB9O1xyXG4gIGluaXRpYWxzOiBzdHJpbmc7XHJcbiAgc2hvd01lbnUgPSBmYWxzZTtcclxuICBzaG93VXNlck1lbnUgPSBmYWxzZTtcclxuICBuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGV4cGFuZGVkTGluazogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnM6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy51cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmVudlNlcnZpY2UuZW52aXJvbm1lbnQucmVzb3VyY2VVcmw7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5odHRwQ2xpZW50LmdldDxOYXZpZ2F0aW9uPihiYXNlVXJsICsgJy9hc3NldHMvbGlua3MuanNvbicpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb24gPSByZXN1bHQ7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmluaXRBbGxUcmFuc2xhdGlvbnMoYmFzZVVybCk7XHJcbiAgICAvLyBpZiAodGhpcy50cmFucy5zdG9yZS50cmFuc2xhdGlvbnNbdGhpcy50cmFucy5jdXJyZW50TGFuZ10pIHtcclxuICAgIC8vICAgY29uc29sZS5sb2coJ3RoaXMudHJhbnMuY3VycmVudExhbmcnLCB0aGlzLnRyYW5zLmN1cnJlbnRMYW5nKTtcclxuICAgIC8vICAgdGhpcy5pbml0VHJhbnNsYXRpb25zKGJhc2VVcmwsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudHJhbnMub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZygnZXZlbnQnLCBldmVudCk7XHJcbiAgICAvLyAgICAgdGhpcy5pbml0VHJhbnNsYXRpb25zKGJhc2VVcmwsIGV2ZW50LmxhbmcpO1xyXG4gICAgLy8gICB9KSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRBbGxUcmFuc2xhdGlvbnMoYmFzZVVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB0cmFucyQgPSBmb3JrSm9pbihbdGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgJy9hc3NldHMvaTE4bi9lbi5qc29uJyksIHRoaXMuaHR0cENsaWVudC5nZXQoYmFzZVVybCArICcvYXNzZXRzL2kxOG4vc3YuanNvbicpXSlcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0cmFucyQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMudHJhbnMuc2V0VHJhbnNsYXRpb24oJ2VuJywgcmVzdWx0WzBdLCB0cnVlKTtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbignc3YnLCByZXN1bHRbMV0sIHRydWUpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0VHJhbnNsYXRpb25zKGJhc2VVcmw6IHN0cmluZywgbGFuZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAvL1RPRE86IFByZXBhcmUgZm9yIGRpZmZlbnRzIGxhbmcgdGhlbiBlbiBzdiAoZW4tR0IpIG9yIGFkZCBtb3JlIGZpbGVzIGluIGRldmNvbXBvbmVudHNlcnZlciA6KVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMuaHR0cENsaWVudC5nZXQoYmFzZVVybCArIGAvYXNzZXRzL2kxOG4vJHtsYW5nfS5qc29uYCwgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKSB9KS5zdWJzY3JpYmUodHJhbnNsYXRpb25zID0+IHtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbihsYW5nLCB0cmFuc2xhdGlvbnMsIHRydWUpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFuZ3VhZ2UobGFuZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFucy51c2UobGFuZyk7XHJcbiAgICAvL3NldCBsb2NhbHN0b3JhZ2UvY29va2llcyBvY3IgcHJvYmFseSBldmVudCB0byBtYWluIGFwcFxyXG4gIH1cclxuXHJcbiAgb25FeHBhbmRMaW5rKHRyYW5zSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZXhwYW5kZWRMaW5rID09PSB0cmFuc0lkKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWRMaW5rID0gbnVsbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5leHBhbmRlZExpbmsgPSB0cmFuc0lkO1xyXG4gIH1cclxuXHJcbiAgbG9naW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ2luQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ291dENsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -169,7 +169,7 @@ var ADBHeaderComponent = /** @class */ (function () {
|
|
|
169
169
|
ADBHeaderComponent.decorators = [
|
|
170
170
|
{ type: Component, args: [{
|
|
171
171
|
selector: 'adb-header2',
|
|
172
|
-
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\r\n <button *ngIf=\"initials\" class=\"btn initials\" (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 </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials 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:5rem\"></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"
|
|
172
|
+
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\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 </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-1 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:5rem\"></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"
|
|
173
173
|
}] }
|
|
174
174
|
];
|
|
175
175
|
/** @nocollapse */
|
|
@@ -224,4 +224,4 @@ if (false) {
|
|
|
224
224
|
ADBHeaderComponent.prototype.trans;
|
|
225
225
|
/* Skipping unhandled member: ;*/
|
|
226
226
|
}
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hZGItc2hhcmVkLyIsInNvdXJjZXMiOlsibGliL2FkYi1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzNEO0lBdUJFLDRCQUNVLFVBQXNCLEVBQ3RCLFVBQThCLEVBQy9CLEtBQXVCO1FBRnRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFDL0IsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFyQnhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBVzdDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFRckIsQ0FBQztJQWxCRCxzQkFBYSx3Q0FBUTs7Ozs7UUFBckIsVUFBc0IsUUFBZ0I7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7O2dCQUNuQixRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDcEMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O29CQUM3QixR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RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFRCxtQ0FBTTs7O0lBQU47UUFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCx3Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O2dCQXJGRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGl6UUFBMEM7aUJBQzNDOzs7O2dCQVZRLFVBQVU7Z0JBSVYsa0JBQWtCO2dCQUZsQixnQkFBZ0I7OzsrQkFXdEIsTUFBTTtnQ0FDTixNQUFNOzJCQUVOLEtBQUs7O0lBOEVSLHlCQUFDO0NBQUEsQUF2RkQsSUF1RkM7U0FuRlksa0JBQWtCOzs7Ozs7SUFDN0IsMENBQTBDOztJQUMxQywwQ0FBNEM7O0lBQzVDLDJDQUE2Qzs7SUFDN0Msc0NBQWlCOztJQVNqQixzQ0FBaUI7O0lBQ2pCLHNDQUFpQjs7SUFDakIsMENBQXFCOztJQUNyQix3Q0FBdUI7O0lBQ3ZCLGlDQUFZOztJQUNaLDBDQUFxQjs7Ozs7SUFFbkIsd0NBQThCOzs7OztJQUM5Qix3Q0FBc0M7O0lBQ3RDLG1DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb24gfSBmcm9tICcuL25hdmlnYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FkYi1oZWFkZXIyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRiLWhlYWRlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFEQkhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBAT3V0cHV0KCkgbG9naW5DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBsb2dvdXRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHVzZXJOYW1lKGZ1bGxOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZnVsbE5hbWUgPSBmdWxsTmFtZTtcclxuICAgIGNvbnN0IHNwbGl0dGVkID0gZnVsbE5hbWUuc3BsaXQoJyAnKTtcclxuICAgIGlmIChzcGxpdHRlZCAmJiBzcGxpdHRlZC5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGNvbnN0IGluaXRpYWxzID0gc3BsaXR0ZWQuc2hpZnQoKS5jaGFyQXQoMCkgKyBzcGxpdHRlZC5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbHMgPSBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgaW5pdGlhbHM6IHN0cmluZztcclxuICBzaG93TWVudSA9IGZhbHNlO1xyXG4gIHNob3dVc2VyTWVudSA9IGZhbHNlO1xyXG4gIG5hdmlnYXRpb246IE5hdmlnYXRpb247XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgZXhwYW5kZWRMaW5rOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuczogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuZW52U2VydmljZS5lbnZpcm9ubWVudC5yZXNvdXJjZVVybDtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmh0dHBDbGllbnQuZ2V0PE5hdmlnYXRpb24+KGJhc2VVcmwgKyAnL2Fzc2V0cy9saW5rcy5qc29uJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbiA9IHJlc3VsdDtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsKTtcclxuICAgIC8vIGlmICh0aGlzLnRyYW5zLnN0b3JlLnRyYW5zbGF0aW9uc1t0aGlzLnRyYW5zLmN1cnJlbnRMYW5nXSkge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZygndGhpcy50cmFucy5jdXJyZW50TGFuZycsIHRoaXMudHJhbnMuY3VycmVudExhbmcpO1xyXG4gICAgLy8gICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgdGhpcy50cmFucy5jdXJyZW50TGFuZyk7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50cmFucy5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCdldmVudCcsIGV2ZW50KTtcclxuICAgIC8vICAgICB0aGlzLmluaXRUcmFuc2xhdGlvbnMoYmFzZVVybCwgZXZlbnQubGFuZyk7XHJcbiAgICAvLyAgIH0pKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEFsbFRyYW5zbGF0aW9ucyhiYXNlVXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRyYW5zJCA9IGZvcmtKb2luKFt0aGlzLmh0dHBDbGllbnQuZ2V0KGJhc2VVcmwgKyAnL2Fzc2V0cy9pMThuL2VuLmpzb24nKSwgdGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgJy9hc3NldHMvaTE4bi9zdi5qc29uJyldKVxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRyYW5zJC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy50cmFucy5zZXRUcmFuc2xhdGlvbignZW4nLCByZXN1bHRbMF0sIHRydWUpO1xyXG4gICAgICB0aGlzLnRyYW5zLnNldFRyYW5zbGF0aW9uKCdzdicsIHJlc3VsdFsxXSwgdHJ1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRUcmFuc2xhdGlvbnMoYmFzZVVybDogc3RyaW5nLCBsYW5nOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vVE9ETzogUHJlcGFyZSBmb3IgZGlmZmVudHMgbGFuZyB0aGVuIGVuIHN2IChlbi1HQikgb3IgYWRkIG1vcmUgZmlsZXMgaW4gZGV2Y29tcG9uZW50c2VydmVyIDopXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5odHRwQ2xpZW50LmdldChiYXNlVXJsICsgYC9hc3NldHMvaTE4bi8ke2xhbmd9Lmpzb25gLCB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpIH0pLnN1YnNjcmliZSh0cmFuc2xhdGlvbnMgPT4ge1xyXG4gICAgICB0aGlzLnRyYW5zLnNldFRyYW5zbGF0aW9uKGxhbmcsIHRyYW5zbGF0aW9ucywgdHJ1ZSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBzZXRMYW5ndWFnZShsYW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zLnVzZShsYW5nKTtcclxuICAgIC8vc2V0IGxvY2Fsc3RvcmFnZS9jb29raWVzIG9jciBwcm9iYWx5IGV2ZW50IHRvIG1haW4gYXBwXHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZExpbmsodHJhbnNJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5leHBhbmRlZExpbmsgPT09IHRyYW5zSWQpIHtcclxuICAgICAgdGhpcy5leHBhbmRlZExpbmsgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmV4cGFuZGVkTGluayA9IHRyYW5zSWQ7XHJcbiAgfVxyXG5cclxuICBsb2dpbigpOiB2b2lkIHtcclxuICAgIHRoaXMubG9naW5DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9nb3V0Q2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
package/fesm2015/adb-shared.js
CHANGED
|
@@ -163,7 +163,7 @@ class ADBHeaderComponent {
|
|
|
163
163
|
ADBHeaderComponent.decorators = [
|
|
164
164
|
{ type: Component, args: [{
|
|
165
165
|
selector: 'adb-header2',
|
|
166
|
-
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\r\n <button *ngIf=\"initials\" class=\"btn initials\" (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 </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials 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:5rem\"></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"
|
|
166
|
+
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\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 </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-1 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:5rem\"></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"
|
|
167
167
|
}] }
|
|
168
168
|
];
|
|
169
169
|
/** @nocollapse */
|
|
@@ -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/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 { 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\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\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/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 { 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\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\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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"}
|
package/fesm5/adb-shared.js
CHANGED
|
@@ -193,7 +193,7 @@ var ADBHeaderComponent = /** @class */ (function () {
|
|
|
193
193
|
ADBHeaderComponent.decorators = [
|
|
194
194
|
{ type: Component, args: [{
|
|
195
195
|
selector: 'adb-header2',
|
|
196
|
-
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\r\n <button *ngIf=\"initials\" class=\"btn initials\" (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 </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials 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:5rem\"></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"
|
|
196
|
+
template: "<header id=\"top-header\">\r\n <nav class=\"px-2\">\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 <div class=\"title\">Artfakta</div>\r\n <nav class=\"d-none d-lg-flex align-items-center 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 <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 class=\"d-none d-md-block auth\">\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 </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-1 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:5rem\"></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"
|
|
197
197
|
}] }
|
|
198
198
|
];
|
|
199
199
|
/** @nocollapse */
|
package/fesm5/adb-shared.js.map
CHANGED
|
@@ -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/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 { 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\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\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/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 { 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\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent],\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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"}
|