adb-shared 0.0.54 → 1.0.2
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/README.md +6 -17
- package/adb-shared.d.ts +1 -2
- package/bundles/adb-shared.umd.js +129 -247
- package/bundles/adb-shared.umd.js.map +1 -1
- package/esm2015/adb-shared.js +2 -8
- package/esm2015/lib/adb-header.component.js +28 -120
- package/esm2015/lib/adb-header.module.js +26 -22
- package/esm2015/lib/click-outside.directive.js +16 -36
- package/esm2015/lib/environment.service.js +10 -19
- package/esm2015/lib/navigation.model.js +2 -33
- package/esm2015/public-api.js +3 -7
- package/fesm2015/adb-shared.js +90 -211
- package/fesm2015/adb-shared.js.map +1 -1
- package/lib/adb-header.component.d.ts +4 -1
- package/lib/adb-header.module.d.ts +10 -0
- package/lib/click-outside.directive.d.ts +3 -0
- package/lib/environment.service.d.ts +3 -0
- package/package.json +8 -11
- package/adb-shared.metadata.json +0 -1
- package/bundles/adb-shared.umd.min.js +0 -2
- package/bundles/adb-shared.umd.min.js.map +0 -1
- package/esm5/adb-shared.js +0 -11
- package/esm5/lib/adb-header.component.js +0 -213
- package/esm5/lib/adb-header.module.js +0 -52
- package/esm5/lib/click-outside.directive.js +0 -51
- package/esm5/lib/environment.service.js +0 -24
- package/esm5/lib/navigation.model.js +0 -33
- package/esm5/public-api.js +0 -10
- package/fesm5/adb-shared.js +0 -340
- package/fesm5/adb-shared.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,24 +1,13 @@
|
|
|
1
1
|
# ArtdataShared
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.2.9
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Use it with https://www.npmjs.com/package/slu-design-system to get the correct look
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
> Note: Don't forget to add `--project artdata-shared` or else it will be added to the default project in your `angular.json` file.
|
|
7
|
+
## Development server
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Run `ng build artdata-shared` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build artdata-shared`, go to the dist folder `cd dist/artdata-shared` and run `npm publish`.
|
|
9
|
+
Run `start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
|
|
17
10
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
Run `ng test artdata-shared` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
11
|
+
## Build
|
|
23
12
|
|
|
24
|
-
|
|
13
|
+
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
|
package/adb-shared.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
|
+
/// <amd-module name="adb-shared" />
|
|
4
5
|
export * from './public-api';
|
|
5
|
-
export { ClickOutsideDirective as ɵb } from './lib/click-outside.directive';
|
|
6
|
-
export { EnvironmentService as ɵa } from './lib/environment.service';
|
|
@@ -1,336 +1,218 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/
|
|
3
|
-
typeof define === 'function' && define.amd ? define('adb-shared', ['exports', '@angular/
|
|
4
|
-
(global = global || self, factory(global[
|
|
5
|
-
}(this, (function (exports,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http'), require('@ngx-translate/core'), require('@angular/common'), require('@angular/router')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('adb-shared', ['exports', '@angular/core', 'rxjs', '@angular/common/http', '@ngx-translate/core', '@angular/common', '@angular/router'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["adb-shared"] = {}, global.ng.core, global.rxjs, global.ng.common.http, global.i3, global.ng.common, global.ng.router));
|
|
5
|
+
})(this, (function (exports, i0, rxjs, i1, i3, i5, router) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n["default"] = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
26
|
+
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
|
27
|
+
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
|
28
|
+
var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
|
|
6
29
|
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview added by tsickle
|
|
9
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
10
|
-
*/
|
|
11
30
|
var EnvironmentService = /** @class */ (function () {
|
|
12
31
|
function EnvironmentService(environment) {
|
|
13
32
|
this.environment = environment;
|
|
14
33
|
}
|
|
15
|
-
EnvironmentService.decorators = [
|
|
16
|
-
{ type: core.Injectable }
|
|
17
|
-
];
|
|
18
|
-
/** @nocollapse */
|
|
19
|
-
EnvironmentService.ctorParameters = function () { return [
|
|
20
|
-
{ type: undefined, decorators: [{ type: core.Inject, args: ['env',] }] }
|
|
21
|
-
]; };
|
|
22
34
|
return EnvironmentService;
|
|
23
35
|
}());
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
/** @nocollapse */ EnvironmentService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EnvironmentService, deps: [{ token: 'env' }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
/** @nocollapse */ EnvironmentService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EnvironmentService });
|
|
38
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EnvironmentService, decorators: [{
|
|
39
|
+
type: i0.Injectable
|
|
40
|
+
}], ctorParameters: function () {
|
|
41
|
+
return [{ type: undefined, decorators: [{
|
|
42
|
+
type: i0.Inject,
|
|
43
|
+
args: ['env']
|
|
44
|
+
}] }];
|
|
45
|
+
} });
|
|
46
|
+
|
|
47
|
+
var ClickOutsideDirective = /** @class */ (function () {
|
|
48
|
+
function ClickOutsideDirective(elementRef) {
|
|
49
|
+
this.elementRef = elementRef;
|
|
50
|
+
this.clickOutside = new i0.EventEmitter();
|
|
51
|
+
}
|
|
52
|
+
ClickOutsideDirective.prototype.onClick = function (target) {
|
|
53
|
+
var clickedInside = this.elementRef.nativeElement.contains(target);
|
|
54
|
+
if (!clickedInside) {
|
|
55
|
+
this.clickOutside.emit();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return ClickOutsideDirective;
|
|
59
|
+
}());
|
|
60
|
+
/** @nocollapse */ ClickOutsideDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ClickOutsideDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
61
|
+
/** @nocollapse */ ClickOutsideDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event.target)" } }, ngImport: i0__namespace });
|
|
62
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ClickOutsideDirective, decorators: [{
|
|
63
|
+
type: i0.Directive,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: '[clickOutside]',
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { clickOutside: [{
|
|
68
|
+
type: i0.Output
|
|
69
|
+
}], onClick: [{
|
|
70
|
+
type: i0.HostListener,
|
|
71
|
+
args: ['document:click', ['$event.target']]
|
|
72
|
+
}] } });
|
|
28
73
|
|
|
29
|
-
/**
|
|
30
|
-
* @fileoverview added by tsickle
|
|
31
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
32
|
-
*/
|
|
33
74
|
var ADBHeaderComponent = /** @class */ (function () {
|
|
34
75
|
function ADBHeaderComponent(httpClient, envService, trans) {
|
|
35
76
|
this.httpClient = httpClient;
|
|
36
77
|
this.envService = envService;
|
|
37
78
|
this.trans = trans;
|
|
38
79
|
this.subscription = new rxjs.Subscription();
|
|
39
|
-
this.loginClicked = new
|
|
40
|
-
this.logoutClicked = new
|
|
41
|
-
this.dropMenuChange = new
|
|
80
|
+
this.loginClicked = new i0.EventEmitter();
|
|
81
|
+
this.logoutClicked = new i0.EventEmitter();
|
|
82
|
+
this.dropMenuChange = new i0.EventEmitter();
|
|
42
83
|
this.showMenu = false;
|
|
43
84
|
this.showUserMenu = false;
|
|
44
85
|
}
|
|
45
86
|
Object.defineProperty(ADBHeaderComponent.prototype, "userName", {
|
|
46
|
-
set:
|
|
47
|
-
* @param {?} fullName
|
|
48
|
-
* @return {?}
|
|
49
|
-
*/
|
|
50
|
-
function (fullName) {
|
|
87
|
+
set: function (fullName) {
|
|
51
88
|
this.fullName = fullName;
|
|
52
|
-
/** @type {?} */
|
|
53
89
|
var splitted = fullName.split(' ');
|
|
54
90
|
if (splitted && splitted.length > 1) {
|
|
55
|
-
/** @type {?} */
|
|
56
91
|
var initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);
|
|
57
92
|
this.initials = initials.toUpperCase();
|
|
58
93
|
}
|
|
59
94
|
},
|
|
60
|
-
enumerable:
|
|
95
|
+
enumerable: false,
|
|
61
96
|
configurable: true
|
|
62
97
|
});
|
|
63
98
|
;
|
|
64
|
-
|
|
65
|
-
* @return {?}
|
|
66
|
-
*/
|
|
67
|
-
ADBHeaderComponent.prototype.ngOnInit = /**
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
function () {
|
|
99
|
+
ADBHeaderComponent.prototype.ngOnInit = function () {
|
|
71
100
|
var _this = this;
|
|
72
101
|
this.url = window.location.href;
|
|
73
|
-
/** @type {?} */
|
|
74
102
|
var baseUrl = this.envService.environment.resourceUrl;
|
|
75
|
-
this.subscription.add(this.httpClient.get(baseUrl + '/assets/links.json').subscribe((
|
|
76
|
-
* @param {?} result
|
|
77
|
-
* @return {?}
|
|
78
|
-
*/
|
|
79
|
-
function (result) {
|
|
103
|
+
this.subscription.add(this.httpClient.get(baseUrl + '/assets/links.json').subscribe(function (result) {
|
|
80
104
|
_this.navigation = result;
|
|
81
|
-
}))
|
|
105
|
+
}));
|
|
82
106
|
this.initAllTranslations(baseUrl);
|
|
83
107
|
};
|
|
84
|
-
|
|
85
|
-
* @private
|
|
86
|
-
* @param {?} baseUrl
|
|
87
|
-
* @return {?}
|
|
88
|
-
*/
|
|
89
|
-
ADBHeaderComponent.prototype.initAllTranslations = /**
|
|
90
|
-
* @private
|
|
91
|
-
* @param {?} baseUrl
|
|
92
|
-
* @return {?}
|
|
93
|
-
*/
|
|
94
|
-
function (baseUrl) {
|
|
108
|
+
ADBHeaderComponent.prototype.initAllTranslations = function (baseUrl) {
|
|
95
109
|
var _this = this;
|
|
96
|
-
/** @type {?} */
|
|
97
110
|
var trans$ = rxjs.forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')]);
|
|
98
|
-
this.subscription.add(trans$.subscribe((
|
|
99
|
-
* @param {?} result
|
|
100
|
-
* @return {?}
|
|
101
|
-
*/
|
|
102
|
-
function (result) {
|
|
111
|
+
this.subscription.add(trans$.subscribe(function (result) {
|
|
103
112
|
_this.trans.setTranslation('en', result[0], true);
|
|
104
113
|
_this.trans.setTranslation('sv', result[1], true);
|
|
105
|
-
}))
|
|
114
|
+
}));
|
|
106
115
|
};
|
|
107
|
-
|
|
108
|
-
* @param {?} show
|
|
109
|
-
* @return {?}
|
|
110
|
-
*/
|
|
111
|
-
ADBHeaderComponent.prototype.showMenuDropdown = /**
|
|
112
|
-
* @param {?} show
|
|
113
|
-
* @return {?}
|
|
114
|
-
*/
|
|
115
|
-
function (show) {
|
|
116
|
+
ADBHeaderComponent.prototype.showMenuDropdown = function (show) {
|
|
116
117
|
if (this.showMenu !== show) {
|
|
117
118
|
this.showMenu = show;
|
|
118
119
|
this.dropMenuChange.emit(show);
|
|
119
120
|
}
|
|
120
121
|
};
|
|
121
|
-
|
|
122
|
-
* @param {?} lang
|
|
123
|
-
* @return {?}
|
|
124
|
-
*/
|
|
125
|
-
ADBHeaderComponent.prototype.setLanguage = /**
|
|
126
|
-
* @param {?} lang
|
|
127
|
-
* @return {?}
|
|
128
|
-
*/
|
|
129
|
-
function (lang) {
|
|
122
|
+
ADBHeaderComponent.prototype.setLanguage = function (lang) {
|
|
130
123
|
this.trans.use(lang);
|
|
131
124
|
//TODO: set localstorage/cookies or probaly event to main app
|
|
132
125
|
};
|
|
133
|
-
|
|
134
|
-
* @param {?} transId
|
|
135
|
-
* @return {?}
|
|
136
|
-
*/
|
|
137
|
-
ADBHeaderComponent.prototype.onExpandLink = /**
|
|
138
|
-
* @param {?} transId
|
|
139
|
-
* @return {?}
|
|
140
|
-
*/
|
|
141
|
-
function (transId) {
|
|
126
|
+
ADBHeaderComponent.prototype.onExpandLink = function (transId) {
|
|
142
127
|
if (this.expandedLink === transId) {
|
|
143
128
|
this.expandedLink = null;
|
|
144
129
|
return;
|
|
145
130
|
}
|
|
146
131
|
this.expandedLink = transId;
|
|
147
132
|
};
|
|
148
|
-
|
|
149
|
-
* @return {?}
|
|
150
|
-
*/
|
|
151
|
-
ADBHeaderComponent.prototype.login = /**
|
|
152
|
-
* @return {?}
|
|
153
|
-
*/
|
|
154
|
-
function () {
|
|
133
|
+
ADBHeaderComponent.prototype.login = function () {
|
|
155
134
|
this.loginClicked.emit();
|
|
156
135
|
};
|
|
157
|
-
|
|
158
|
-
* @return {?}
|
|
159
|
-
*/
|
|
160
|
-
ADBHeaderComponent.prototype.logout = /**
|
|
161
|
-
* @return {?}
|
|
162
|
-
*/
|
|
163
|
-
function () {
|
|
136
|
+
ADBHeaderComponent.prototype.logout = function () {
|
|
164
137
|
this.logoutClicked.emit();
|
|
165
138
|
};
|
|
166
|
-
|
|
167
|
-
* @return {?}
|
|
168
|
-
*/
|
|
169
|
-
ADBHeaderComponent.prototype.ngOnDestroy = /**
|
|
170
|
-
* @return {?}
|
|
171
|
-
*/
|
|
172
|
-
function () {
|
|
139
|
+
ADBHeaderComponent.prototype.ngOnDestroy = function () {
|
|
173
140
|
this.subscription.unsubscribe();
|
|
174
141
|
};
|
|
175
|
-
ADBHeaderComponent.decorators = [
|
|
176
|
-
{ type: core.Component, args: [{
|
|
177
|
-
selector: 'adb-header2',
|
|
178
|
-
template: "<header id=\"top-header\" (clickOutside)=\"showUserMenu=false;showMenuDropdown(false);\">\r\n <nav class=\"d-flex flex-wrap px-3\">\r\n <div class=\"flex-grow-1 d-flex align-items-center justify-content-between justify-content-md-start\">\r\n <div class=\"logo d-none d-md-block\">\r\n <img src=\"/assets/images/logo.svg\" style=\"height: 3.2rem;\">\r\n </div>\r\n <div class=\"logo pl-2 d-sm-block d-md-none d-flex align-items-center\">\r\n <img src=\"/assets/images/logo_sm_white.png\" style=\"height: 2rem;\">\r\n </div>\r\n <strong class=\"bigger\">Artfakta</strong>\r\n </div>\r\n <div class=\"flex-grow-1 d-flex justify-content-lg-between justify-content-end align-items-center\">\r\n <div class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pr-4\" style=\"gap:2rem;\" *ngIf=\"navigation\">\r\n <ng-container *ngFor=\"let link of navigation.links\">\r\n <a [href]=\"link.url\" *ngIf=\"link.topLink\" [ngClass]=\"{'d-none d-xl-block':link.transId==='ADB_HEADER.OBSERVATION'}\">\r\n {{link.transId|translate}}\r\n </a>\r\n </ng-container>\r\n </nav>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-sm py-1 px-2 btn-primary\" (click)=\"showUserMenu = false;showMenuDropdown(!showMenu)\">\r\n {{'ADB_HEADER.MENY'|translate}}\r\n <i class=\"ml-1 fas\" [ngClass]=\"showMenu?'fa-chevron-up':'fa-chevron-down'\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-none d-md-block pl-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials px-2 py-1\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\">{{initials}}</button>\r\n <button *ngIf=\"!initials\" type=\"button\" (click)=\"showUserMenu = !showUserMenu;showMenuDropdown(false)\" class=\"btn btn-link\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n </nav>\r\n <div class=\"menu\" *ngIf=\"showUserMenu\">\r\n <div class=\"menu-body bg-white p-3\" style=\"width:15rem\">\r\n <ng-container *ngIf=\"initials\">\r\n <div class=\"text-dark\">\r\n <span class=\"initials py-2 px-2 mr-2\">{{initials}}</span>\r\n <strong>{{fullName}}</strong>\r\n </div>\r\n <hr class=\"mx-n3\">\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-link p-0\">\r\n <i class=\"fas fa-sign-out-alt mr-1\"></i>{{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"d-flex justify-content-center\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a class=\"d-block mt-3\" href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"menu\" *ngIf=\"showMenu\">\r\n <div class=\"menu-body\" *ngIf=\"navigation\">\r\n <div class=\"px-3 pt-3 mb-1\">\r\n <div class=\"d-flex justify-content-between flex-wrap gap-2 mb-2\">\r\n <div>\r\n <div class=\"d-flex d-md-none align-items-center gap-2\" *ngIf=\"initials\">\r\n <span class=\"initials mr-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex gap-2 d-md-none\" *ngIf=\"!initials\">\r\n <button type=\"button\" (click)=\"login()\" class=\"btn btn-primary\" id=\"login\">\r\n {{'ADB_HEADER.LOGIN'|translate}}\r\n </button>\r\n <a href=\"{{navigation.createAccountLink}}?returnUrl={{url}}\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </div>\r\n </div>\r\n <div>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='en'\" (click)=\"setLanguage('sv')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_SWEDISH'|translate}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"trans.currentLang==='sv'\" (click)=\"setLanguage('en')\"\r\n class=\"btn btn-primary\">\r\n {{'ADB_HEADER.IN_ENGLISH'|translate}}\r\n </button>\r\n </div>\r\n </div>\r\n {{'ADB_HEADER.SERVICES'|translate}}\r\n </div>\r\n <div id=\"splash\">\r\n <div class=\"px-3 d-flex flex-column\">\r\n <ul class=\"list-group ml-0 mb-0 pl-0\">\r\n <li class=\"mb-1 list-group-item rounded-0\"\r\n [ngClass]=\"{'pointer list-group-item-action':link.children&&link.children.length>0}\"\r\n *ngFor=\"let link of navigation.links\">\r\n <div class=\"d-flex align-items-center justify-content-between\"\r\n [attr.aria-expanded]=\"link.transId===expandedLink?true:false\" role=\"button\"\r\n (click)=\"onExpandLink(link.transId)\">\r\n <div>\r\n <small class=\"fa-stack\" *ngIf=\"link.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"link.icon\"></span>\r\n </small>\r\n <a [href]=\"link.url\" (click)=\"$event.stopPropagation();\">\r\n {{link.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"text-dark\" (click)=\"$event.stopPropagation();\" *ngIf=\"link.children&&link.children.length>0\">\r\n <i class=\"fas fa-chevron-up\" *ngIf=\"link.transId===expandedLink\"></i>\r\n <i class=\"fas fa-chevron-down\" *ngIf=\"link.transId!==expandedLink\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled pl-4\" *ngIf=\"link.transId===expandedLink\">\r\n <li class=\"py-1m-0\" *ngFor=\"let subLink of link.children\">\r\n <a [href]=\"subLink.url\">\r\n {{subLink.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"navigation.about\" class=\"mt-2 mb-auto\">\r\n <div class=\"mb-1\">{{'ADB_HEADER.CONTACT'|translate}}</div>\r\n <ul class=\"list-unstyled ml-0 pl-0\">\r\n <li class=\"mb-1 d-flex flex-wrap gap-2\">\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse\" [ngClass]=\"navigation.about.icon\"></span>\r\n </small>\r\n <a [href]=\"navigation.about.url\">\r\n {{navigation.about.transId|translate}}\r\n </a>\r\n </div>\r\n <div class=\"bg-white p-2 flex-grow-1\">\r\n <small class=\"fa-stack\" *ngIf=\"navigation.about.icon\">\r\n <span class=\"fas fa-circle fa-stack-2x text-primary\"></span>\r\n <span class=\"fas fa-stack-1x fa-inverse fa-envelope\"></span>\r\n </small>\r\n <a class=\"bg-white p-2\" href=\"mailto:artfakta@artdatabanken.se\">artfakta@artdatabanken.se</a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <div style=\"height:10rem\"></div>\r\n <div>\r\n <img style=\"height: 3.2rem;\" src=\"/assets/images/logo.svg\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</header>\r\n"
|
|
179
|
-
}] }
|
|
180
|
-
];
|
|
181
|
-
/** @nocollapse */
|
|
182
|
-
ADBHeaderComponent.ctorParameters = function () { return [
|
|
183
|
-
{ type: http.HttpClient },
|
|
184
|
-
{ type: EnvironmentService },
|
|
185
|
-
{ type: core$1.TranslateService }
|
|
186
|
-
]; };
|
|
187
|
-
ADBHeaderComponent.propDecorators = {
|
|
188
|
-
loginClicked: [{ type: core.Output }],
|
|
189
|
-
logoutClicked: [{ type: core.Output }],
|
|
190
|
-
dropMenuChange: [{ type: core.Output }],
|
|
191
|
-
userName: [{ type: core.Input }]
|
|
192
|
-
};
|
|
193
142
|
return ADBHeaderComponent;
|
|
194
143
|
}());
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
ADBHeaderComponent.prototype.showMenu;
|
|
213
|
-
/** @type {?} */
|
|
214
|
-
ADBHeaderComponent.prototype.showUserMenu;
|
|
215
|
-
/** @type {?} */
|
|
216
|
-
ADBHeaderComponent.prototype.navigation;
|
|
217
|
-
/** @type {?} */
|
|
218
|
-
ADBHeaderComponent.prototype.url;
|
|
219
|
-
/** @type {?} */
|
|
220
|
-
ADBHeaderComponent.prototype.expandedLink;
|
|
221
|
-
/**
|
|
222
|
-
* @type {?}
|
|
223
|
-
* @private
|
|
224
|
-
*/
|
|
225
|
-
ADBHeaderComponent.prototype.httpClient;
|
|
226
|
-
/**
|
|
227
|
-
* @type {?}
|
|
228
|
-
* @private
|
|
229
|
-
*/
|
|
230
|
-
ADBHeaderComponent.prototype.envService;
|
|
231
|
-
/** @type {?} */
|
|
232
|
-
ADBHeaderComponent.prototype.trans;
|
|
233
|
-
/* Skipping unhandled member: ;*/
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* @fileoverview added by tsickle
|
|
238
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
239
|
-
*/
|
|
240
|
-
var ClickOutsideDirective = /** @class */ (function () {
|
|
241
|
-
function ClickOutsideDirective(elementRef) {
|
|
242
|
-
this.elementRef = elementRef;
|
|
243
|
-
this.clickOutside = new core.EventEmitter();
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* @param {?} target
|
|
247
|
-
* @return {?}
|
|
248
|
-
*/
|
|
249
|
-
ClickOutsideDirective.prototype.onClick = /**
|
|
250
|
-
* @param {?} target
|
|
251
|
-
* @return {?}
|
|
252
|
-
*/
|
|
253
|
-
function (target) {
|
|
254
|
-
/** @type {?} */
|
|
255
|
-
var clickedInside = this.elementRef.nativeElement.contains(target);
|
|
256
|
-
if (!clickedInside) {
|
|
257
|
-
this.clickOutside.emit();
|
|
258
|
-
}
|
|
259
|
-
};
|
|
260
|
-
ClickOutsideDirective.decorators = [
|
|
261
|
-
{ type: core.Directive, args: [{
|
|
262
|
-
selector: '[clickOutside]',
|
|
263
|
-
},] }
|
|
264
|
-
];
|
|
265
|
-
/** @nocollapse */
|
|
266
|
-
ClickOutsideDirective.ctorParameters = function () { return [
|
|
267
|
-
{ type: core.ElementRef }
|
|
268
|
-
]; };
|
|
269
|
-
ClickOutsideDirective.propDecorators = {
|
|
270
|
-
clickOutside: [{ type: core.Output }],
|
|
271
|
-
onClick: [{ type: core.HostListener, args: ['document:click', ['$event.target'],] }]
|
|
272
|
-
};
|
|
273
|
-
return ClickOutsideDirective;
|
|
274
|
-
}());
|
|
275
|
-
if (false) {
|
|
276
|
-
/** @type {?} */
|
|
277
|
-
ClickOutsideDirective.prototype.clickOutside;
|
|
278
|
-
/**
|
|
279
|
-
* @type {?}
|
|
280
|
-
* @private
|
|
281
|
-
*/
|
|
282
|
-
ClickOutsideDirective.prototype.elementRef;
|
|
283
|
-
}
|
|
144
|
+
/** @nocollapse */ ADBHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ADBHeaderComponent, deps: [{ token: i1__namespace.HttpClient }, { token: EnvironmentService }, { token: i3__namespace.TranslateService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
145
|
+
/** @nocollapse */ ADBHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ADBHeaderComponent, selector: "adb-header2", inputs: { userName: "userName" }, outputs: { loginClicked: "loginClicked", logoutClicked: "logoutClicked", dropMenuChange: "dropMenuChange" }, ngImport: i0__namespace, 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 ps-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 *ngIf=\"navigation\" class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pe-4 gap-4\" *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=\"ms-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 ps-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials\" (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 me-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 me-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 *ngIf=\"navigation\" 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 me-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex 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 ms-0 mb-0 ps-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 align-items-center\">\r\n <small class=\"fa-stack me-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?.length>0\">\r\n <i class=\"fas fa-chevron-up\" [ngClass]=\"link.transId===expandedLink?'d-block ':'d-none'\"></i>\r\n <i class=\"fas fa-chevron-down\" [ngClass]=\"link.transId!==expandedLink?'d-block ':'d-none'\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled\" [ngClass]=\"link.transId===expandedLink?'d-block':'d-none'\">\r\n <li class=\"py-1 m-0\" *ngFor=\"let subLink of link.children\" style=\"padding-left:2.4rem;\">\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", directives: [{ type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i3__namespace.TranslatePipe } });
|
|
146
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ADBHeaderComponent, decorators: [{
|
|
147
|
+
type: i0.Component,
|
|
148
|
+
args: [{
|
|
149
|
+
selector: 'adb-header2',
|
|
150
|
+
templateUrl: './adb-header.component.html'
|
|
151
|
+
}]
|
|
152
|
+
}], ctorParameters: function () { return [{ type: i1__namespace.HttpClient }, { type: EnvironmentService }, { type: i3__namespace.TranslateService }]; }, propDecorators: { loginClicked: [{
|
|
153
|
+
type: i0.Output
|
|
154
|
+
}], logoutClicked: [{
|
|
155
|
+
type: i0.Output
|
|
156
|
+
}], dropMenuChange: [{
|
|
157
|
+
type: i0.Output
|
|
158
|
+
}], userName: [{
|
|
159
|
+
type: i0.Input
|
|
160
|
+
}] } });
|
|
284
161
|
|
|
285
|
-
/**
|
|
286
|
-
* @fileoverview added by tsickle
|
|
287
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
288
|
-
*/
|
|
289
162
|
var ADBHeaderModule = /** @class */ (function () {
|
|
290
163
|
function ADBHeaderModule() {
|
|
291
164
|
}
|
|
292
|
-
|
|
293
|
-
* @param {?} environment
|
|
294
|
-
* @return {?}
|
|
295
|
-
*/
|
|
296
|
-
ADBHeaderModule.forRoot = /**
|
|
297
|
-
* @param {?} environment
|
|
298
|
-
* @return {?}
|
|
299
|
-
*/
|
|
300
|
-
function (environment) {
|
|
165
|
+
ADBHeaderModule.forRoot = function (environment) {
|
|
301
166
|
return {
|
|
302
167
|
ngModule: ADBHeaderModule,
|
|
303
168
|
providers: [
|
|
304
169
|
EnvironmentService,
|
|
305
170
|
{
|
|
306
171
|
provide: 'env',
|
|
307
|
-
// you can also use InjectionToken
|
|
308
172
|
useValue: environment
|
|
309
173
|
}
|
|
310
174
|
]
|
|
311
175
|
};
|
|
312
176
|
};
|
|
313
|
-
ADBHeaderModule
|
|
314
|
-
|
|
177
|
+
return ADBHeaderModule;
|
|
178
|
+
}());
|
|
179
|
+
/** @nocollapse */ ADBHeaderModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ADBHeaderModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
180
|
+
/** @nocollapse */ ADBHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ADBHeaderModule, declarations: [ADBHeaderComponent, ClickOutsideDirective], imports: [i5.CommonModule,
|
|
181
|
+
i1.HttpClientModule,
|
|
182
|
+
router.RouterModule,
|
|
183
|
+
i3.TranslateModule], exports: [ADBHeaderComponent] });
|
|
184
|
+
/** @nocollapse */ ADBHeaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ADBHeaderModule, imports: [[
|
|
185
|
+
i5.CommonModule,
|
|
186
|
+
i1.HttpClientModule,
|
|
187
|
+
router.RouterModule,
|
|
188
|
+
i3.TranslateModule
|
|
189
|
+
]] });
|
|
190
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ADBHeaderModule, decorators: [{
|
|
191
|
+
type: i0.NgModule,
|
|
192
|
+
args: [{
|
|
315
193
|
declarations: [ADBHeaderComponent, ClickOutsideDirective],
|
|
316
194
|
imports: [
|
|
317
|
-
|
|
318
|
-
|
|
195
|
+
i5.CommonModule,
|
|
196
|
+
i1.HttpClientModule,
|
|
319
197
|
router.RouterModule,
|
|
320
|
-
|
|
198
|
+
i3.TranslateModule
|
|
321
199
|
],
|
|
322
200
|
exports: [ADBHeaderComponent]
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
201
|
+
}]
|
|
202
|
+
}] });
|
|
203
|
+
|
|
204
|
+
/*
|
|
205
|
+
* Public API Surface of artdata-shared
|
|
206
|
+
*/
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Generated bundle index. Do not edit.
|
|
210
|
+
*/
|
|
327
211
|
|
|
328
212
|
exports.ADBHeaderComponent = ADBHeaderComponent;
|
|
329
213
|
exports.ADBHeaderModule = ADBHeaderModule;
|
|
330
|
-
exports.ɵa = EnvironmentService;
|
|
331
|
-
exports.ɵb = ClickOutsideDirective;
|
|
332
214
|
|
|
333
215
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
334
216
|
|
|
335
|
-
}))
|
|
217
|
+
}));
|
|
336
218
|
//# sourceMappingURL=adb-shared.umd.js.map
|
|
@@ -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/click-outside.directive.ts","ng://adb-shared/lib/adb-header.module.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EnvironmentService {\r\n constructor(@Inject('env') public environment) {\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { Navigation } from './navigation.model';\r\nimport { take } from 'rxjs/operators';\r\n@Component({\r\n selector: 'adb-header2',\r\n templateUrl: './adb-header.component.html'\r\n})\r\nexport class ADBHeaderComponent implements OnInit, OnDestroy {\r\n private subscription = new Subscription();\r\n @Output() loginClicked = new EventEmitter();\r\n @Output() logoutClicked = new EventEmitter();\r\n @Output() dropMenuChange = new EventEmitter<boolean>();\r\n fullName: string;\r\n @Input() set userName(fullName: string) {\r\n this.fullName = fullName;\r\n const splitted = fullName.split(' ');\r\n if (splitted && splitted.length > 1) {\r\n const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);\r\n this.initials = initials.toUpperCase();\r\n }\r\n };\r\n initials: string;\r\n showMenu = false;\r\n showUserMenu = false;\r\n navigation: Navigation;\r\n url: string;\r\n expandedLink: string;\r\n constructor(\r\n private httpClient: HttpClient,\r\n private envService: EnvironmentService,\r\n public trans: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.url = window.location.href;\r\n const baseUrl = this.envService.environment.resourceUrl;\r\n this.subscription.add(this.httpClient.get<Navigation>(baseUrl + '/assets/links.json').subscribe(result => {\r\n this.navigation = result;\r\n }));\r\n this.initAllTranslations(baseUrl);\r\n }\r\n\r\n private initAllTranslations(baseUrl: string): void {\r\n const trans$ = forkJoin([this.httpClient.get(baseUrl + '/assets/i18n/en.json'), this.httpClient.get(baseUrl + '/assets/i18n/sv.json')])\r\n this.subscription.add(trans$.subscribe(result => {\r\n this.trans.setTranslation('en', result[0], true);\r\n this.trans.setTranslation('sv', result[1], true);\r\n }));\r\n }\r\n\r\n showMenuDropdown(show: boolean): void {\r\n if (this.showMenu !== show) {\r\n this.showMenu = show;\r\n this.dropMenuChange.emit(show);\r\n }\r\n }\r\n\r\n setLanguage(lang): void {\r\n this.trans.use(lang);\r\n //TODO: set localstorage/cookies or probaly event to main app\r\n }\r\n\r\n onExpandLink(transId: string): void {\r\n if (this.expandedLink === transId) {\r\n this.expandedLink = null;\r\n return;\r\n }\r\n this.expandedLink = transId;\r\n }\r\n\r\n login(): void {\r\n this.loginClicked.emit();\r\n }\r\n\r\n logout(): void {\r\n this.logoutClicked.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n}\r\n\r\n\r\n // if (this.trans.store.translations[this.trans.currentLang]) {\r\n // console.log('this.trans.currentLang', this.trans.currentLang);\r\n // this.initTranslations(baseUrl, this.trans.currentLang);\r\n // } else {\r\n // this.subscription.add(this.trans.onLangChange.subscribe((event) => {\r\n // console.log('event', event);\r\n // this.initTranslations(baseUrl, event.lang);\r\n // }));\r\n // }\r\n // private initTranslations(baseUrl: string, lang: string): void {\r\n // //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)\r\n // this.subscription.add(this.httpClient.get(baseUrl + `/assets/i18n/${lang}.json`, { headers: new HttpHeaders() }).subscribe(translations => {\r\n // this.trans.setTranslation(lang, translations, true);\r\n // }));\r\n // }","import { Directive, Input, Output, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[clickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() clickOutside = new EventEmitter<void>();\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(target: any) {\r\n const clickedInside = this.elementRef.nativeElement.contains(target);\r\n if (!clickedInside) {\r\n this.clickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { ADBHeaderComponent } from './adb-header.component';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { EnvironmentService } from './environment.service';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [ADBHeaderComponent, ClickOutsideDirective],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n TranslateModule\r\n ],\r\n exports: [ADBHeaderComponent]\r\n})\r\nexport class ADBHeaderModule {\r\n public static forRoot(environment: any): ModuleWithProviders<ADBHeaderModule> {\r\n return {\r\n ngModule: ADBHeaderModule,\r\n providers: [\r\n EnvironmentService,\r\n {\r\n provide: 'env', // you can also use InjectionToken\r\n useValue: environment\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n"],"names":["Injectable","Inject","Subscription","EventEmitter","forkJoin","Component","HttpClient","TranslateService","Output","Input","Directive","ElementRef","HostListener","NgModule","CommonModule","HttpClientModule","RouterModule","TranslateModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adb-shared.umd.js","sources":["../../../projects/artdata-shared/src/lib/environment.service.ts","../../../projects/artdata-shared/src/lib/click-outside.directive.ts","../../../projects/artdata-shared/src/lib/adb-header.component.ts","../../../projects/artdata-shared/src/lib/adb-header.component.html","../../../projects/artdata-shared/src/lib/adb-header.module.ts","../../../projects/artdata-shared/src/public-api.ts","../../../projects/artdata-shared/src/adb-shared.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 { 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 { 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 // }","<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 ps-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 *ngIf=\"navigation\" class=\"d-flex align-items-center\">\r\n <nav class=\"d-none align-items-center d-lg-flex pe-4 gap-4\" *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=\"ms-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 ps-4\">\r\n <button *ngIf=\"initials\" type=\"button\" class=\"btn initials\" (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 me-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 me-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 *ngIf=\"navigation\" 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 me-2\">{{initials}}</span>\r\n <button type=\"button\" (click)=\"logout()\" class=\"btn btn-primary\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div class=\"d-flex 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 ms-0 mb-0 ps-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 align-items-center\">\r\n <small class=\"fa-stack me-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?.length>0\">\r\n <i class=\"fas fa-chevron-up\" [ngClass]=\"link.transId===expandedLink?'d-block ':'d-none'\"></i>\r\n <i class=\"fas fa-chevron-down\" [ngClass]=\"link.transId!==expandedLink?'d-block ':'d-none'\"></i>\r\n </div>\r\n </div>\r\n <ul class=\"list-unstyled\" [ngClass]=\"link.transId===expandedLink?'d-block':'d-none'\">\r\n <li class=\"py-1 m-0\" *ngFor=\"let subLink of link.children\" style=\"padding-left:2.4rem;\">\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","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","/*\r\n * Public API Surface of artdata-shared\r\n */\r\n\r\nexport * from './lib/adb-header.component';\r\nexport * from './lib/adb-header.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","Inject","EventEmitter","Directive","Output","HostListener","Subscription","forkJoin","Component","Input","CommonModule","HttpClientModule","RouterModule","TranslateModule","NgModule"],"mappings":"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"}
|