-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathoverview-container.component.ts
More file actions
80 lines (68 loc) · 2.92 KB
/
Copy pathoverview-container.component.ts
File metadata and controls
80 lines (68 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import { Component, OnInit, Input } from '@angular/core';
import { ActivatedRoute, Router, NavigationExtras } from '@angular/router';
import { DateUtils } from '@lib/utils/date-utils.class';
import { RouteUtils } from '@lib/utils/route-utils.class';
import { SiteStatusType } from '@lib/enums/site-status.enum';
import { SiteResource } from '@core/resources/site-resource.service';
import { UtilsService } from '@core/services/utils.service';
import { Site } from '@registration/shared/models/site.model';
import { Organization } from '@registration/shared/models/organization.model';
import { SiteRoutes } from '@registration/site-registration.routes';
import { CareSettingEnum } from '@shared/enums/care-setting.enum';
import { ValidationErrors } from '@angular/forms';
@Component({
selector: 'app-overview-container',
templateUrl: './overview-container.component.html',
styleUrls: ['./overview-container.component.scss'],
standalone: false
})
export class OverviewContainerComponent implements OnInit {
@Input() public showEditRedirect: boolean;
@Input() public organization: Organization;
@Input() public site: Site;
@Input() public admin: boolean;
@Input() public siteErrors: ValidationErrors;
@Input() public businessLicenceUpdated: boolean;
@Input() public filename: string;
public withinRenewalPeriod: boolean;
public routeUtils: RouteUtils;
public SiteStatusType = SiteStatusType;
public SiteRoutes = SiteRoutes;
public CareSettingEnum = CareSettingEnum;
constructor(
protected route: ActivatedRoute,
protected router: Router,
private siteResource: SiteResource,
private utilsService: UtilsService,
) {
this.routeUtils = new RouteUtils(route, router, SiteRoutes.MODULE_PATH);
this.businessLicenceUpdated = false;
}
public get showRemnoteUsers(): boolean {
return this.site.careSettingCode === CareSettingEnum.HEALTH_AUTHORITY;
}
public get showDeviceProviderId(): boolean {
return this.site.careSettingCode === CareSettingEnum.DEVICE_PROVIDER;
}
public showUpdateBusinessLicence(): boolean {
return this.showEditRedirect && this.site.status !== SiteStatusType.IN_REVIEW &&
this.site.status !== SiteStatusType.LOCKED && this.site.approvedDate !== null;
}
public onRoute(routePath: string | (string | number)[]) {
let navExtra: NavigationExtras;
if (this.site) {
navExtra = { queryParams: { redirect: `${SiteRoutes.SITES}/${this.site.id}` } };
}
this.routeUtils.routeTo(routePath, navExtra);
}
public onRouteRelative(routePath: string | string[]) {
this.routeUtils.routeRelativeTo(routePath);
}
public getBusinessLicence(businessLicenceId: number) {
this.siteResource.getBusinessLicenceDocumentToken(this.site.id, businessLicenceId)
.subscribe((token: string) => this.utilsService.downloadToken(token));
}
public ngOnInit(): void {
this.withinRenewalPeriod = DateUtils.withinRenewalPeriod(Site.getExpiryDate(this.site));
}
}