@wizishop/angular-components 14.4.46 → 14.4.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/header-page/header-page.component.mjs +8 -36
- package/esm2020/lib/services/history.service.mjs +52 -0
- package/fesm2015/wizishop-angular-components.mjs +41 -21
- package/fesm2015/wizishop-angular-components.mjs.map +1 -1
- package/fesm2020/wizishop-angular-components.mjs +41 -21
- package/fesm2020/wizishop-angular-components.mjs.map +1 -1
- package/lib/components/header-page/header-page.component.d.ts +4 -10
- package/lib/services/history.service.d.ts +16 -0
- package/package.json +1 -1
- package/wizishop-angular-components-14.4.49.tgz +0 -0
- package/wizishop-angular-components-14.4.46.tgz +0 -0
|
@@ -1,58 +1,30 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { NavigationEnd } from '@angular/router';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
3
|
+
import * as i1 from "../../services/history.service";
|
|
5
4
|
import * as i2 from "@angular/common";
|
|
6
5
|
import * as i3 from "../hn/h1/h1.component";
|
|
7
6
|
export class HeaderPageComponent {
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
7
|
+
constructor(historyService, location) {
|
|
8
|
+
this.historyService = historyService;
|
|
10
9
|
this.location = location;
|
|
11
|
-
this.history = [];
|
|
12
10
|
this.withImg = false;
|
|
13
11
|
this.center = false;
|
|
14
12
|
this.useHistory = false;
|
|
15
|
-
this.router.events.subscribe((event) => {
|
|
16
|
-
if (event instanceof NavigationEnd) {
|
|
17
|
-
this.history.push(event.urlAfterRedirects);
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
13
|
}
|
|
21
|
-
ngOnInit() { }
|
|
22
14
|
back() {
|
|
23
15
|
if (!this.useHistory) {
|
|
24
|
-
this.redirect();
|
|
16
|
+
this.historyService.redirect(this.linkBack);
|
|
25
17
|
return;
|
|
26
18
|
}
|
|
27
|
-
this.
|
|
28
|
-
if (this.history.length > 0) {
|
|
29
|
-
this.location.back();
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
this.redirect();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
redirect() {
|
|
36
|
-
if (this.linkBack[0].indexOf('http') !== -1) {
|
|
37
|
-
this.redirectToExternalLink();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.redirectToInternalLink();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
redirectToExternalLink() {
|
|
44
|
-
window.location.href = this.linkBack[0];
|
|
45
|
-
}
|
|
46
|
-
redirectToInternalLink() {
|
|
47
|
-
this.router.navigate(this.linkBack);
|
|
19
|
+
this.historyService.back(this.linkBack);
|
|
48
20
|
}
|
|
49
21
|
}
|
|
50
|
-
HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, deps: [{ token: i1.
|
|
22
|
+
HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, deps: [{ token: i1.HistoryService }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
23
|
HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg", center: "center", useHistory: "useHistory" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.H1Component, selector: "wac-h1", inputs: ["annotation", "withImg", "center", "color"] }] });
|
|
52
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, decorators: [{
|
|
53
25
|
type: Component,
|
|
54
26
|
args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
55
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.HistoryService }, { type: i2.Location }]; }, propDecorators: { title: [{
|
|
56
28
|
type: Input
|
|
57
29
|
}], linkBack: [{
|
|
58
30
|
type: Input
|
|
@@ -63,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
63
35
|
}], useHistory: [{
|
|
64
36
|
type: Input
|
|
65
37
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXItcGFnZS9oZWFkZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci1wYWdlL2hlYWRlci1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQU96RCxNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLFlBQW9CLGNBQThCLEVBQVUsUUFBa0I7UUFBMUQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU45RSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBRThELENBQUM7SUFDbEYsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7Z0hBcEJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHlLQ1JoQywrNEJBaUJBOzJGRFRhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSxpQkFBaUI7NEhBSzNCLEtBQUs7c0JBREosS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBIaXN0b3J5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hpc3Rvcnkuc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtaGVhZGVyLXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLXBhZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlclBhZ2VDb21wb25lbnQge1xuICBASW5wdXQoKVxuICB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBsaW5rQmFjazogc3RyaW5nW107XG4gIEBJbnB1dCgpXG4gIHdpdGhJbWcgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgY2VudGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHVzZUhpc3RvcnkgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhpc3RvcnlTZXJ2aWNlOiBIaXN0b3J5U2VydmljZSwgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24pIHt9XG4gIGJhY2soKSB7XG4gICAgaWYgKCF0aGlzLnVzZUhpc3RvcnkpIHtcbiAgICAgIHRoaXMuaGlzdG9yeVNlcnZpY2UucmVkaXJlY3QodGhpcy5saW5rQmFjayk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5oaXN0b3J5U2VydmljZS5iYWNrKHRoaXMubGlua0JhY2spO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlXCI+XG4gIDxkaXYgY2xhc3M9XCJ3YWMtaGVhZGVyLXBhZ2VfX21heFdpZHRoXCI+XG4gICAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhfX3RvcFwiIFtuZ0NsYXNzXT1cInsnY2VudGVyJzpjZW50ZXJ9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0XCIgW25nQ2xhc3NdPVwieydmdWxsc2l6ZSc6Y2VudGVyfVwiPlxuICAgICAgICA8IS0tIFRPRE8gSGFyZCB0byB1c2Ugd2hlbiBvbmx5IHdhbnQgYSBidXR0b24gYW5kIG5vdCBhIHJvdXRlciBsaW5rIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0X19ub3dyYXBcIj5cbiAgICAgICAgICA8YSAqbmdJZj1cImxpbmtCYWNrXCIgKGNsaWNrKT1cImJhY2soKVwiPjxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tbGVmdFwiPjwvaT48L2E+XG4gICAgICAgICAgPHdhYy1oMSBbY2VudGVyXT1cImNlbnRlclwiIFt3aXRoSW1nXT1cIndpdGhJbWdcIj57eyB0aXRsZSB9fTxuZy1jb250ZW50IHNlbGVjdD1cIltyb2xlPWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+PC93YWMtaDE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCBjbGFzcz1cInN1YnRpdGxlXCI+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JvbGU9c3VidGl0bGVdXCI+PC9uZy1jb250ZW50PjwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhfX3RvcF9fcmlnaHRcIiAqbmdJZj1cIiFjZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NavigationEnd } from '@angular/router';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class HistoryService {
|
|
7
|
+
constructor(router, location) {
|
|
8
|
+
this.router = router;
|
|
9
|
+
this.location = location;
|
|
10
|
+
this.history = [];
|
|
11
|
+
}
|
|
12
|
+
registerHistory() {
|
|
13
|
+
this.router.events.subscribe((event) => {
|
|
14
|
+
if (event instanceof NavigationEnd) {
|
|
15
|
+
this.history.push(event.urlAfterRedirects);
|
|
16
|
+
console.log('history', this.history);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
back(link) {
|
|
21
|
+
this.history.pop();
|
|
22
|
+
if (this.history.length > 0) {
|
|
23
|
+
this.location.back();
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
this.redirect(link);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
redirect(link) {
|
|
30
|
+
if (link[0].indexOf('http') !== -1) {
|
|
31
|
+
this.redirectToExternalLink(link);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.redirectToInternalLink(link);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
redirectToExternalLink(link) {
|
|
38
|
+
window.location.href = link[0];
|
|
39
|
+
}
|
|
40
|
+
redirectToInternalLink(link) {
|
|
41
|
+
this.router.navigate(link);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
HistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HistoryService, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
45
|
+
HistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HistoryService, providedIn: 'root' });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HistoryService, decorators: [{
|
|
47
|
+
type: Injectable,
|
|
48
|
+
args: [{
|
|
49
|
+
providedIn: 'root'
|
|
50
|
+
}]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }]; } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvaGlzdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUZ0RCxZQUFPLEdBQWEsRUFBRSxDQUFDO0lBRWtDLENBQUM7SUFFbEUsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JDLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7Z0JBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN0QztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxJQUFjO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsSUFBYztRQUNyQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDTCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBYztRQUNuQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQWM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7MkdBckNVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIaXN0b3J5U2VydmljZSB7XG4gIHByaXZhdGUgaGlzdG9yeTogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbikge31cblxuICByZWdpc3Rlckhpc3RvcnkoKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgdGhpcy5oaXN0b3J5LnB1c2goZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpXG4gICAgICAgIGNvbnNvbGUubG9nKCdoaXN0b3J5JywgdGhpcy5oaXN0b3J5KTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgYmFjayhsaW5rOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuaGlzdG9yeS5wb3AoKVxuICAgIGlmICh0aGlzLmhpc3RvcnkubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVkaXJlY3QobGluayk7XG4gICAgfVxuICB9XG5cbiAgcmVkaXJlY3QobGluazogc3RyaW5nW10pIHtcbiAgICBpZiAobGlua1swXS5pbmRleE9mKCdodHRwJykgIT09IC0xKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9FeHRlcm5hbExpbmsobGluayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb0ludGVybmFsTGluayhsaW5rKTtcbiAgICB9XG4gIH1cblxuICByZWRpcmVjdFRvRXh0ZXJuYWxMaW5rKGxpbms6IHN0cmluZ1tdKSB7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBsaW5rWzBdO1xuICB9XG5cbiAgcmVkaXJlY3RUb0ludGVybmFsTGluayhsaW5rOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKGxpbmspO1xuICB9XG59XG4iXX0=
|
|
@@ -2577,55 +2577,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
2577
2577
|
type: Input
|
|
2578
2578
|
}] } });
|
|
2579
2579
|
|
|
2580
|
-
class
|
|
2580
|
+
class HistoryService {
|
|
2581
2581
|
constructor(router, location) {
|
|
2582
2582
|
this.router = router;
|
|
2583
2583
|
this.location = location;
|
|
2584
2584
|
this.history = [];
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
this.useHistory = false;
|
|
2585
|
+
}
|
|
2586
|
+
registerHistory() {
|
|
2588
2587
|
this.router.events.subscribe((event) => {
|
|
2589
2588
|
if (event instanceof NavigationEnd) {
|
|
2590
2589
|
this.history.push(event.urlAfterRedirects);
|
|
2590
|
+
console.log('history', this.history);
|
|
2591
2591
|
}
|
|
2592
2592
|
});
|
|
2593
2593
|
}
|
|
2594
|
-
|
|
2595
|
-
back() {
|
|
2596
|
-
if (!this.useHistory) {
|
|
2597
|
-
this.redirect();
|
|
2598
|
-
return;
|
|
2599
|
-
}
|
|
2594
|
+
back(link) {
|
|
2600
2595
|
this.history.pop();
|
|
2601
2596
|
if (this.history.length > 0) {
|
|
2602
2597
|
this.location.back();
|
|
2603
2598
|
}
|
|
2604
2599
|
else {
|
|
2605
|
-
this.redirect();
|
|
2600
|
+
this.redirect(link);
|
|
2606
2601
|
}
|
|
2607
2602
|
}
|
|
2608
|
-
redirect() {
|
|
2609
|
-
if (
|
|
2610
|
-
this.redirectToExternalLink();
|
|
2603
|
+
redirect(link) {
|
|
2604
|
+
if (link[0].indexOf('http') !== -1) {
|
|
2605
|
+
this.redirectToExternalLink(link);
|
|
2611
2606
|
}
|
|
2612
2607
|
else {
|
|
2613
|
-
this.redirectToInternalLink();
|
|
2608
|
+
this.redirectToInternalLink(link);
|
|
2614
2609
|
}
|
|
2615
2610
|
}
|
|
2616
|
-
redirectToExternalLink() {
|
|
2617
|
-
window.location.href =
|
|
2611
|
+
redirectToExternalLink(link) {
|
|
2612
|
+
window.location.href = link[0];
|
|
2613
|
+
}
|
|
2614
|
+
redirectToInternalLink(link) {
|
|
2615
|
+
this.router.navigate(link);
|
|
2618
2616
|
}
|
|
2619
|
-
|
|
2620
|
-
|
|
2617
|
+
}
|
|
2618
|
+
HistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HistoryService, deps: [{ token: i1$3.Router }, { token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2619
|
+
HistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HistoryService, providedIn: 'root' });
|
|
2620
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HistoryService, decorators: [{
|
|
2621
|
+
type: Injectable,
|
|
2622
|
+
args: [{
|
|
2623
|
+
providedIn: 'root'
|
|
2624
|
+
}]
|
|
2625
|
+
}], ctorParameters: function () { return [{ type: i1$3.Router }, { type: i1.Location }]; } });
|
|
2626
|
+
|
|
2627
|
+
class HeaderPageComponent {
|
|
2628
|
+
constructor(historyService, location) {
|
|
2629
|
+
this.historyService = historyService;
|
|
2630
|
+
this.location = location;
|
|
2631
|
+
this.withImg = false;
|
|
2632
|
+
this.center = false;
|
|
2633
|
+
this.useHistory = false;
|
|
2634
|
+
}
|
|
2635
|
+
back() {
|
|
2636
|
+
if (!this.useHistory) {
|
|
2637
|
+
this.historyService.redirect(this.linkBack);
|
|
2638
|
+
return;
|
|
2639
|
+
}
|
|
2640
|
+
this.historyService.back(this.linkBack);
|
|
2621
2641
|
}
|
|
2622
2642
|
}
|
|
2623
|
-
HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, deps: [{ token:
|
|
2643
|
+
HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, deps: [{ token: HistoryService }, { token: i1.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
2624
2644
|
HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg", center: "center", useHistory: "useHistory" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: H1Component, selector: "wac-h1", inputs: ["annotation", "withImg", "center", "color"] }] });
|
|
2625
2645
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, decorators: [{
|
|
2626
2646
|
type: Component,
|
|
2627
2647
|
args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" (click)=\"back()\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
2628
|
-
}], ctorParameters: function () { return [{ type:
|
|
2648
|
+
}], ctorParameters: function () { return [{ type: HistoryService }, { type: i1.Location }]; }, propDecorators: { title: [{
|
|
2629
2649
|
type: Input
|
|
2630
2650
|
}], linkBack: [{
|
|
2631
2651
|
type: Input
|