adb-shared 0.0.55 → 1.0.0

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