tango-app-ui-shared 3.3.1-beta.4 → 3.3.1-beta.41
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/esm2022/lib/interceptors/http-auth-interceptor.mjs +9 -3
- package/esm2022/lib/modules/errors/errors-routing.module.mjs +6 -1
- package/esm2022/lib/modules/errors/errors.module.mjs +6 -3
- package/esm2022/lib/modules/errors/invalid-ip/invalid-ip.component.mjs +44 -0
- package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +13 -8
- package/esm2022/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.mjs +21 -14
- package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +3 -2
- package/esm2022/lib/modules/layout/toolbar/date-single-select/date-single-select.component.mjs +14 -9
- package/esm2022/lib/modules/layout/toolbar/datepicker/datepicker.component.mjs +11 -6
- package/esm2022/lib/modules/layout/toolbar/single-store/single-store.component.mjs +8 -5
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +8 -8
- package/esm2022/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.mjs +183 -64
- package/esm2022/lib/modules/notification/notification/notification.component.mjs +128 -18
- package/esm2022/lib/modules/notification/notification-routing.module.mjs +5 -1
- package/esm2022/lib/modules/notification/notification.module.mjs +2 -2
- package/esm2022/lib/routes/routing.mjs +6 -1
- package/esm2022/lib/services/notification.service.mjs +6 -1
- package/fesm2022/{tango-app-ui-shared-intro.module-CAPPEqzI.mjs → tango-app-ui-shared-intro.module-0F5I6zgS.mjs} +3 -3
- package/fesm2022/{tango-app-ui-shared-intro.module-CAPPEqzI.mjs.map → tango-app-ui-shared-intro.module-0F5I6zgS.mjs.map} +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-DrHpMc3M.mjs +352 -0
- package/fesm2022/tango-app-ui-shared-notification.module-DrHpMc3M.mjs.map +1 -0
- package/fesm2022/tango-app-ui-shared.mjs +332 -127
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/errors/errors.module.d.ts +4 -3
- package/lib/modules/errors/invalid-ip/invalid-ip.component.d.ts +17 -0
- package/lib/modules/layout/header/page-title/page-title.component.d.ts +4 -1
- package/lib/modules/layout/sidebar/sidebar-menu/sidebar-menu.component.d.ts +1 -0
- package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts +5 -1
- package/lib/modules/notification/notification/notification.component.d.ts +13 -0
- package/lib/services/notification.service.d.ts +2 -0
- package/package.json +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-Bj0oBem1.mjs +0 -238
- package/fesm2022/tango-app-ui-shared-notification.module-Bj0oBem1.mjs.map +0 -1
|
@@ -3,10 +3,11 @@ import * as i1 from "./errors.component";
|
|
|
3
3
|
import * as i2 from "./error404/error404.component";
|
|
4
4
|
import * as i3 from "./error500/error500.component";
|
|
5
5
|
import * as i4 from "./error403/error403.component";
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
6
|
+
import * as i5 from "./invalid-ip/invalid-ip.component";
|
|
7
|
+
import * as i6 from "@angular/common";
|
|
8
|
+
import * as i7 from "./errors-routing.module";
|
|
8
9
|
export declare class ErrorsModule {
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<ErrorsModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ErrorsModule, [typeof i1.ErrorsComponent, typeof i2.Error404Component, typeof i3.Error500Component, typeof i4.Error403Component], [typeof
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ErrorsModule, [typeof i1.ErrorsComponent, typeof i2.Error404Component, typeof i3.Error500Component, typeof i4.Error403Component, typeof i5.InvalidIpComponent], [typeof i6.CommonModule, typeof i7.ErrorsRoutingModule], never>;
|
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<ErrorsModule>;
|
|
12
13
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { AuthService } from '../../../services/auth.service';
|
|
4
|
+
import { ThemeModeService } from 'tango-app-ui-global';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class InvalidIpComponent implements OnInit, OnDestroy {
|
|
7
|
+
private router;
|
|
8
|
+
private modeService;
|
|
9
|
+
private authService;
|
|
10
|
+
private unsubscribe;
|
|
11
|
+
constructor(router: Router, modeService: ThemeModeService, authService: AuthService);
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
ngOnDestroy(): void;
|
|
14
|
+
getProfile(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InvalidIpComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InvalidIpComponent, "lib-invalid-ip", never, {}, {}, never, never, false, never>;
|
|
17
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
2
3
|
import { Observable } from 'rxjs';
|
|
3
4
|
import { PageInfoService, PageLink } from 'tango-app-ui-global';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class PageTitleComponent implements OnInit, OnDestroy {
|
|
6
7
|
private pageInfo;
|
|
7
8
|
private cd;
|
|
9
|
+
private router;
|
|
8
10
|
private unsubscribe;
|
|
9
11
|
appPageTitleDirection: string;
|
|
10
12
|
appPageTitleBreadcrumb: boolean;
|
|
@@ -12,9 +14,10 @@ export declare class PageTitleComponent implements OnInit, OnDestroy {
|
|
|
12
14
|
title$: Observable<string>;
|
|
13
15
|
description$: Observable<string>;
|
|
14
16
|
bc$: Observable<Array<PageLink>>;
|
|
15
|
-
constructor(pageInfo: PageInfoService, cd: ChangeDetectorRef);
|
|
17
|
+
constructor(pageInfo: PageInfoService, cd: ChangeDetectorRef, router: Router);
|
|
16
18
|
ngOnInit(): void;
|
|
17
19
|
ngOnDestroy(): void;
|
|
20
|
+
redirectFunction(path: any): void;
|
|
18
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<PageTitleComponent, never>;
|
|
19
22
|
static ɵcmp: i0.ɵɵComponentDeclaration<PageTitleComponent, "lib-page-title", never, { "appPageTitleDirection": { "alias": "appPageTitleDirection"; "required": false; }; "appPageTitleBreadcrumb": { "alias": "appPageTitleBreadcrumb"; "required": false; }; "appPageTitleDescription": { "alias": "appPageTitleDescription"; "required": false; }; }, {}, never, never, false, never>;
|
|
20
23
|
}
|
|
@@ -11,6 +11,7 @@ export declare class SidebarMenuComponent implements OnInit {
|
|
|
11
11
|
authlocalStorageToken: string;
|
|
12
12
|
oldDashboardRoutingUrl: any;
|
|
13
13
|
clientData: any;
|
|
14
|
+
headerFilters: any;
|
|
14
15
|
constructor(authService: AuthService, gs: GlobalStateService, router: Router);
|
|
15
16
|
private readonly destroy$;
|
|
16
17
|
ngOnInit(): void;
|
package/lib/modules/layout/toolbar/traffic-header/traffic-header/traffic-header.component.d.ts
CHANGED
|
@@ -3,9 +3,11 @@ import dayjs from "dayjs";
|
|
|
3
3
|
import "dayjs/locale/en";
|
|
4
4
|
import { AuthService } from "../../../../../services/auth.service";
|
|
5
5
|
import { GlobalStateService } from "tango-app-ui-global";
|
|
6
|
+
import { Router } from "@angular/router";
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class TrafficHeaderComponent implements OnInit {
|
|
8
9
|
private auth;
|
|
10
|
+
private router;
|
|
9
11
|
gs: GlobalStateService;
|
|
10
12
|
private cd;
|
|
11
13
|
dayjs: typeof dayjs;
|
|
@@ -28,7 +30,8 @@ export declare class TrafficHeaderComponent implements OnInit {
|
|
|
28
30
|
locationLabel: any[];
|
|
29
31
|
groupLabel: any[];
|
|
30
32
|
users: any;
|
|
31
|
-
|
|
33
|
+
url: any;
|
|
34
|
+
constructor(auth: AuthService, router: Router, gs: GlobalStateService, cd: ChangeDetectorRef);
|
|
32
35
|
onClick(event: MouseEvent): void;
|
|
33
36
|
closeDropdown1(): void;
|
|
34
37
|
ngOnInit(): void;
|
|
@@ -55,6 +58,7 @@ export declare class TrafficHeaderComponent implements OnInit {
|
|
|
55
58
|
selectedGroupsLabel(): string;
|
|
56
59
|
removeGroup(): void;
|
|
57
60
|
isAllGroupsSelected(): boolean;
|
|
61
|
+
getStore1(): void;
|
|
58
62
|
getStore(): void;
|
|
59
63
|
resetSelectedStores(): void;
|
|
60
64
|
selectedStoresLabel(): string;
|
|
@@ -16,6 +16,8 @@ export declare class NotificationComponent implements OnInit {
|
|
|
16
16
|
showdownload: boolean;
|
|
17
17
|
loading: boolean;
|
|
18
18
|
noData: boolean;
|
|
19
|
+
downloadloading: boolean;
|
|
20
|
+
downloadnoData: boolean;
|
|
19
21
|
itemsPerPage: number;
|
|
20
22
|
currentPage: number;
|
|
21
23
|
totalItems: number;
|
|
@@ -31,15 +33,26 @@ export declare class NotificationComponent implements OnInit {
|
|
|
31
33
|
private readonly destroy$;
|
|
32
34
|
notification: any;
|
|
33
35
|
total: any;
|
|
36
|
+
downloads: any[];
|
|
37
|
+
headerData: any;
|
|
38
|
+
searchInput: any;
|
|
39
|
+
sortColumName: string;
|
|
40
|
+
sortDirection: any;
|
|
41
|
+
searchValue: string;
|
|
42
|
+
tabtype: any;
|
|
43
|
+
user_id: any;
|
|
34
44
|
constructor(pageInfo: PageInfoService, gs: GlobalStateService, route: ActivatedRoute, service: NotificationService, cd: ChangeDetectorRef, toast: ToastService, router: Router);
|
|
35
45
|
ngOnInit(): void;
|
|
36
46
|
setPageData(): void;
|
|
37
47
|
notificationList(): void;
|
|
38
48
|
updateNotification(data: any, btnDetails: any): void;
|
|
39
49
|
chooseManager(type: any): void;
|
|
50
|
+
setPaginationSizes(): void;
|
|
40
51
|
onPageChange(pageOffset: number): void;
|
|
41
52
|
onPageSizeChange(pageSize: number): void;
|
|
42
53
|
paginationSize(): number;
|
|
54
|
+
downloadmanagerList(): void;
|
|
55
|
+
downloadFile(record: any): void;
|
|
43
56
|
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationComponent, never>;
|
|
44
57
|
static ɵcmp: i0.ɵɵComponentDeclaration<NotificationComponent, "lib-notification", never, {}, {}, never, never, false, never>;
|
|
45
58
|
}
|
|
@@ -7,6 +7,7 @@ export declare class NotificationService {
|
|
|
7
7
|
private gs;
|
|
8
8
|
paymentSubscriptionApiUrl: any;
|
|
9
9
|
clientApiUrl: string;
|
|
10
|
+
traxUrl: any;
|
|
10
11
|
private reloadDataSubject;
|
|
11
12
|
reloadData$: Observable<boolean>;
|
|
12
13
|
clientId: BehaviorSubject<string>;
|
|
@@ -22,6 +23,7 @@ export declare class NotificationService {
|
|
|
22
23
|
updateRemind(_id: any): Observable<any>;
|
|
23
24
|
updateSubscription(data: any): Observable<any>;
|
|
24
25
|
trialApproved(data: any): Observable<any>;
|
|
26
|
+
getdownloadlist(data: any): Observable<any>;
|
|
25
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
26
28
|
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
27
29
|
}
|
package/package.json
CHANGED
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, NgModule } from '@angular/core';
|
|
3
|
-
import * as i2 from '@angular/common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as i1$1 from '@angular/router';
|
|
6
|
-
import { RouterModule } from '@angular/router';
|
|
7
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
8
|
-
import * as i1 from 'tango-app-ui-global';
|
|
9
|
-
import { NotificationService, ToastService, PaginationComponent, CustomDateFormatPipe, CommonSharedModule } from './tango-app-ui-shared.mjs';
|
|
10
|
-
import '@angular/common/http';
|
|
11
|
-
import 'sweetalert2';
|
|
12
|
-
import '@angular/animations';
|
|
13
|
-
import '@ng-bootstrap/ng-bootstrap';
|
|
14
|
-
import 'rxjs/operators';
|
|
15
|
-
import '@angular/platform-browser';
|
|
16
|
-
import 'dayjs';
|
|
17
|
-
import 'dayjs/locale/en';
|
|
18
|
-
import 'dayjs/plugin/utc';
|
|
19
|
-
import 'dayjs/plugin/timezone';
|
|
20
|
-
import '@angular/forms';
|
|
21
|
-
import 'ngx-daterangepicker-material';
|
|
22
|
-
import 'crypto-js';
|
|
23
|
-
import 'ngx-pagination';
|
|
24
|
-
import '@ngx-translate/core';
|
|
25
|
-
import 'ng-inline-svg-2';
|
|
26
|
-
|
|
27
|
-
class NotificationComponent {
|
|
28
|
-
pageInfo;
|
|
29
|
-
gs;
|
|
30
|
-
route;
|
|
31
|
-
service;
|
|
32
|
-
cd;
|
|
33
|
-
toast;
|
|
34
|
-
router;
|
|
35
|
-
showalert = true;
|
|
36
|
-
showdownload = false;
|
|
37
|
-
loading = true;
|
|
38
|
-
noData = false;
|
|
39
|
-
itemsPerPage = 10;
|
|
40
|
-
currentPage = 1;
|
|
41
|
-
totalItems = 0;
|
|
42
|
-
paginationSizes = [10, 20, 30];
|
|
43
|
-
limit = 10;
|
|
44
|
-
offset = 1;
|
|
45
|
-
pageSize = 10;
|
|
46
|
-
user;
|
|
47
|
-
headerFilter;
|
|
48
|
-
clientId;
|
|
49
|
-
_id;
|
|
50
|
-
data;
|
|
51
|
-
destroy$ = new Subject();
|
|
52
|
-
notification;
|
|
53
|
-
total;
|
|
54
|
-
constructor(pageInfo, gs, route, service, cd, toast, router) {
|
|
55
|
-
this.pageInfo = pageInfo;
|
|
56
|
-
this.gs = gs;
|
|
57
|
-
this.route = route;
|
|
58
|
-
this.service = service;
|
|
59
|
-
this.cd = cd;
|
|
60
|
-
this.toast = toast;
|
|
61
|
-
this.router = router;
|
|
62
|
-
}
|
|
63
|
-
ngOnInit() {
|
|
64
|
-
// this.gs.dataRangeValue.pipe(takeUntil(this.destroy$)).subscribe((data: any) => {
|
|
65
|
-
// if (data != null) {
|
|
66
|
-
// this.user = JSON.parse(localStorage.getItem('user-info') || "")
|
|
67
|
-
// this.headerFilter = data;
|
|
68
|
-
// this.clientId = this.headerFilter?.clients
|
|
69
|
-
// }
|
|
70
|
-
// });
|
|
71
|
-
this.notificationList();
|
|
72
|
-
this.setPageData();
|
|
73
|
-
this.service.reloadData$.subscribe(() => {
|
|
74
|
-
this.notificationList();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
setPageData() {
|
|
78
|
-
this.pageInfo.setTitle("Alerts");
|
|
79
|
-
this.pageInfo.setDescription("Track all your activities and notifications here");
|
|
80
|
-
this.pageInfo.setBreadcrumbs([
|
|
81
|
-
{ title: "", path: "", isActive: false, isSeparator: false },
|
|
82
|
-
]);
|
|
83
|
-
}
|
|
84
|
-
notificationList() {
|
|
85
|
-
this.loading = true;
|
|
86
|
-
let data = {
|
|
87
|
-
limit: this.limit,
|
|
88
|
-
offset: this.offset
|
|
89
|
-
};
|
|
90
|
-
this.service.notificationList(data)
|
|
91
|
-
.pipe(takeUntil(this.destroy$))
|
|
92
|
-
.subscribe({
|
|
93
|
-
next: (res) => {
|
|
94
|
-
if (res && res.code == 200) {
|
|
95
|
-
this.total = res.data.count;
|
|
96
|
-
this.notification = res.data.result || [];
|
|
97
|
-
if (this.total < 10) {
|
|
98
|
-
this.paginationSizes = [this.total];
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
this.paginationSizes = [10, 20, 30];
|
|
102
|
-
}
|
|
103
|
-
this.loading = false;
|
|
104
|
-
this.noData = false;
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.noData = true;
|
|
108
|
-
this.loading = false;
|
|
109
|
-
this.notification = [];
|
|
110
|
-
}
|
|
111
|
-
this.cd.detectChanges();
|
|
112
|
-
},
|
|
113
|
-
error: (err) => {
|
|
114
|
-
this.noData = true;
|
|
115
|
-
this.loading = false;
|
|
116
|
-
this.notification = [];
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
updateNotification(data, btnDetails) {
|
|
121
|
-
this.loading = true;
|
|
122
|
-
this.service.notificationUpdate(data._id).pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
123
|
-
if (res && res.code == 200) {
|
|
124
|
-
if (!btnDetails || btnDetails?.redirectionUrl != 'subscribed')
|
|
125
|
-
this.toast.getSuccessToast(res.message);
|
|
126
|
-
setTimeout(() => {
|
|
127
|
-
this.notificationList();
|
|
128
|
-
}, 1000);
|
|
129
|
-
if (btnDetails && btnDetails?.redirectionUrl != '' && btnDetails?.redirectionUrl.split('/').length > 1) {
|
|
130
|
-
this.router.navigateByUrl(btnDetails.redirectionUrl);
|
|
131
|
-
}
|
|
132
|
-
if (btnDetails && btnDetails?.redirectionUrl == 'remind') {
|
|
133
|
-
this.service.updateRemind(data._id).pipe(takeUntil(this.destroy$)).subscribe(() => { });
|
|
134
|
-
}
|
|
135
|
-
if (btnDetails && btnDetails?.redirectionUrl == 'trialApproved') {
|
|
136
|
-
let params = {
|
|
137
|
-
id: btnDetails.id,
|
|
138
|
-
type: 'approve'
|
|
139
|
-
};
|
|
140
|
-
this.service.trialApproved(params).pipe(takeUntil(this.destroy$)).subscribe(() => { });
|
|
141
|
-
}
|
|
142
|
-
if (btnDetails && btnDetails?.redirectionUrl == 'subscribed') {
|
|
143
|
-
let params = {
|
|
144
|
-
clientId: btnDetails?.clientId,
|
|
145
|
-
products: [
|
|
146
|
-
{
|
|
147
|
-
name: btnDetails.product,
|
|
148
|
-
productName: btnDetails.name,
|
|
149
|
-
type: "subscription",
|
|
150
|
-
content: "new"
|
|
151
|
-
}
|
|
152
|
-
]
|
|
153
|
-
};
|
|
154
|
-
this.service.updateSubscription(params).pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
155
|
-
if (res && res.code == 200) {
|
|
156
|
-
this.toast.getSuccessToast('Product Subscribed Successfully');
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
this.cd.detectChanges();
|
|
161
|
-
}
|
|
162
|
-
}, (error) => {
|
|
163
|
-
this.loading = false;
|
|
164
|
-
this.noData = true;
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
chooseManager(type) {
|
|
168
|
-
}
|
|
169
|
-
onPageChange(pageOffset) {
|
|
170
|
-
this.offset = Number(pageOffset);
|
|
171
|
-
this.notificationList();
|
|
172
|
-
}
|
|
173
|
-
onPageSizeChange(pageSize) {
|
|
174
|
-
this.limit = Number(pageSize);
|
|
175
|
-
this.offset = 1;
|
|
176
|
-
this.notificationList();
|
|
177
|
-
}
|
|
178
|
-
paginationSize() {
|
|
179
|
-
console.log('this.limit', this.limit, this.total);
|
|
180
|
-
if (this.total < 10) {
|
|
181
|
-
return this.total;
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
return this.limit;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationComponent, deps: [{ token: i1.PageInfoService }, { token: i1.GlobalStateService }, { token: i1$1.ActivatedRoute }, { token: NotificationService }, { token: i0.ChangeDetectorRef }, { token: ToastService }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
188
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotificationComponent, selector: "lib-notification", ngImport: i0, template: "<!-- <div class=\"row buttonsec mb-10\">\r\n <button [ngClass]=\"showalert?'':'submenu'\" class=\" col-lg-6 btn bg-light-primary text-primary\"\r\n (click)=\"chooseManager('alert')\">Alerts Manager</button>\r\n <button [ngClass]=\"showdownload?'':'submenu'\" class=\"col-lg-6 btn bg-light-primary \"\r\n (click)=\"chooseManager('download')\">Download Manager</button>\r\n</div> -->\r\n\r\n<div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Alerts Manager</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"d-flex flex-column flex-xl-row p-7 \">\r\n <div class=\"flex-lg-row-fluid mb-20 mb-xl-0\">\r\n <div class=\"mb-0\">\r\n <div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown\r\n here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"row w-100\" *ngIf=\"notification?.length && !loading\">\r\n\r\n <div class=\"col-lg-6\" *ngFor=\"let item of notification;let i=index\">\r\n <div class=\"mb-8 border-value w-100\">\r\n <div class=\"flex-grow-1 me-2\">\r\n <div class=\"row mt-4\">\r\n <div class=\"col-lg-11\">\r\n <div class=\"symbol symbol-50px mx-4\">\r\n <span class=\"mt-2\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"40\" height=\"40\" rx=\"20\"\r\n fill=\"#DAF1FF\" />\r\n <g clip-path=\"url(#clip0_12108_56367)\">\r\n <path\r\n d=\"M19.9993 23.3333V20M19.9993 16.6666H20.0077M28.3327 20C28.3327 24.6023 24.6017 28.3333 19.9993 28.3333C15.397 28.3333 11.666 24.6023 11.666 20C11.666 15.3976 15.397 11.6666 19.9993 11.6666C24.6017 11.6666 28.3327 15.3976 28.3327 20Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12108_56367\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"alert-title mx-4\">{{ item._source.title }}<span\r\n class=\"alertdot m-2\">\u2022</span><span\r\n class=\"alertdot\">{{\r\n item._source.date | customDateFormat }} Today</span>\r\n </span>\r\n <div class=\"alt-desc d-block ms-17\">{{\r\n item._source.description\r\n }}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-1\">\r\n <span (click)=\"updateNotification(item,'')\"\r\n class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"ms-20 mt-2\">\r\n <ng-container *ngFor=\"let cta of item._source.alertCta\">\r\n <button *ngIf=\"!['remind','cancel'].includes(cta.redirectionUrl)\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"['remind','cancel'].includes(cta.redirectionUrl)\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{\r\n cta.buttonName }}</span>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- </div> -->\r\n <!-- </div> -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div *ngIf=\"notification?.length && !loading\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\" [totalItems]=\"total\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" width=\"200px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n</div> -->", styles: [".border-value{border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important;height:155px}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alert-title{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "pipe", type: CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
189
|
-
}
|
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationComponent, decorators: [{
|
|
191
|
-
type: Component,
|
|
192
|
-
args: [{ selector: 'lib-notification', template: "<!-- <div class=\"row buttonsec mb-10\">\r\n <button [ngClass]=\"showalert?'':'submenu'\" class=\" col-lg-6 btn bg-light-primary text-primary\"\r\n (click)=\"chooseManager('alert')\">Alerts Manager</button>\r\n <button [ngClass]=\"showdownload?'':'submenu'\" class=\"col-lg-6 btn bg-light-primary \"\r\n (click)=\"chooseManager('download')\">Download Manager</button>\r\n</div> -->\r\n\r\n<div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Alerts Manager</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"d-flex flex-column flex-xl-row p-7 \">\r\n <div class=\"flex-lg-row-fluid mb-20 mb-xl-0\">\r\n <div class=\"mb-0\">\r\n <div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown\r\n here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"row w-100\" *ngIf=\"notification?.length && !loading\">\r\n\r\n <div class=\"col-lg-6\" *ngFor=\"let item of notification;let i=index\">\r\n <div class=\"mb-8 border-value w-100\">\r\n <div class=\"flex-grow-1 me-2\">\r\n <div class=\"row mt-4\">\r\n <div class=\"col-lg-11\">\r\n <div class=\"symbol symbol-50px mx-4\">\r\n <span class=\"mt-2\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"40\" height=\"40\" rx=\"20\"\r\n fill=\"#DAF1FF\" />\r\n <g clip-path=\"url(#clip0_12108_56367)\">\r\n <path\r\n d=\"M19.9993 23.3333V20M19.9993 16.6666H20.0077M28.3327 20C28.3327 24.6023 24.6017 28.3333 19.9993 28.3333C15.397 28.3333 11.666 24.6023 11.666 20C11.666 15.3976 15.397 11.6666 19.9993 11.6666C24.6017 11.6666 28.3327 15.3976 28.3327 20Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12108_56367\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"alert-title mx-4\">{{ item._source.title }}<span\r\n class=\"alertdot m-2\">\u2022</span><span\r\n class=\"alertdot\">{{\r\n item._source.date | customDateFormat }} Today</span>\r\n </span>\r\n <div class=\"alt-desc d-block ms-17\">{{\r\n item._source.description\r\n }}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-1\">\r\n <span (click)=\"updateNotification(item,'')\"\r\n class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"ms-20 mt-2\">\r\n <ng-container *ngFor=\"let cta of item._source.alertCta\">\r\n <button *ngIf=\"!['remind','cancel'].includes(cta.redirectionUrl)\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"['remind','cancel'].includes(cta.redirectionUrl)\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{\r\n cta.buttonName }}</span>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- </div> -->\r\n <!-- </div> -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div *ngIf=\"notification?.length && !loading\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\" [totalItems]=\"total\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" width=\"200px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n</div> -->", styles: [".border-value{border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important;height:155px}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alert-title{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}\n"] }]
|
|
193
|
-
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }, { type: i1$1.ActivatedRoute }, { type: NotificationService }, { type: i0.ChangeDetectorRef }, { type: ToastService }, { type: i1$1.Router }] });
|
|
194
|
-
|
|
195
|
-
const routes = [
|
|
196
|
-
{
|
|
197
|
-
path: 'alerts',
|
|
198
|
-
component: NotificationComponent
|
|
199
|
-
}
|
|
200
|
-
];
|
|
201
|
-
class NotificationRoutingModule {
|
|
202
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
203
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NotificationRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
|
|
204
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
205
|
-
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationRoutingModule, decorators: [{
|
|
207
|
-
type: NgModule,
|
|
208
|
-
args: [{
|
|
209
|
-
imports: [RouterModule.forChild(routes)],
|
|
210
|
-
exports: [RouterModule]
|
|
211
|
-
}]
|
|
212
|
-
}] });
|
|
213
|
-
|
|
214
|
-
class NotificationModule {
|
|
215
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
216
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NotificationModule, declarations: [NotificationComponent], imports: [CommonModule,
|
|
217
|
-
NotificationRoutingModule,
|
|
218
|
-
CommonSharedModule] });
|
|
219
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationModule, imports: [CommonModule,
|
|
220
|
-
NotificationRoutingModule,
|
|
221
|
-
CommonSharedModule] });
|
|
222
|
-
}
|
|
223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificationModule, decorators: [{
|
|
224
|
-
type: NgModule,
|
|
225
|
-
args: [{
|
|
226
|
-
declarations: [
|
|
227
|
-
NotificationComponent
|
|
228
|
-
],
|
|
229
|
-
imports: [
|
|
230
|
-
CommonModule,
|
|
231
|
-
NotificationRoutingModule,
|
|
232
|
-
CommonSharedModule
|
|
233
|
-
]
|
|
234
|
-
}]
|
|
235
|
-
}] });
|
|
236
|
-
|
|
237
|
-
export { NotificationModule };
|
|
238
|
-
//# sourceMappingURL=tango-app-ui-shared-notification.module-Bj0oBem1.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tango-app-ui-shared-notification.module-Bj0oBem1.mjs","sources":["../../../projects/tango-app-shared/src/lib/modules/notification/notification/notification.component.ts","../../../projects/tango-app-shared/src/lib/modules/notification/notification/notification.component.html","../../../projects/tango-app-shared/src/lib/modules/notification/notification-routing.module.ts","../../../projects/tango-app-shared/src/lib/modules/notification/notification.module.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { GlobalStateService, PageInfoService } from 'tango-app-ui-global';\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NotificationService } from '../../../services/notification.service';\r\nimport { ToastService } from '../../../services/toast.service';\r\n\r\n@Component({\r\n selector: 'lib-notification',\r\n templateUrl: './notification.component.html',\r\n styleUrl: './notification.component.scss'\r\n})\r\nexport class NotificationComponent implements OnInit {\r\n showalert:boolean = true;\r\n showdownload:boolean = false;\r\n loading: boolean = true;\r\n noData: boolean = false;\r\n itemsPerPage = 10;\r\n currentPage = 1;\r\n totalItems = 0;\r\n paginationSizes = [10, 20, 30];\r\n limit: number = 10;\r\n offset: number = 1;\r\n pageSize = 10;\r\n user: any;\r\n headerFilter: any;\r\n clientId: any;\r\n _id:any;\r\n data:any\r\n private readonly destroy$ = new Subject();\r\n notification: any;\r\n total:any;\r\n\r\n \r\nconstructor(private pageInfo:PageInfoService,public gs: GlobalStateService, private route: ActivatedRoute, private service:NotificationService,private cd :ChangeDetectorRef,private toast: ToastService, private router:Router){}\r\n ngOnInit(): void {\r\n // this.gs.dataRangeValue.pipe(takeUntil(this.destroy$)).subscribe((data: any) => {\r\n\r\n // if (data != null) {\r\n // this.user = JSON.parse(localStorage.getItem('user-info') || \"\")\r\n // this.headerFilter = data;\r\n // this.clientId = this.headerFilter?.clients \r\n // }\r\n // });\r\n this.notificationList()\r\n this.setPageData();\r\n this.service.reloadData$.subscribe(() => {\r\n this.notificationList()\r\n })\r\n }\r\n setPageData() {\r\n this.pageInfo.setTitle(\"Alerts\");\r\n this.pageInfo.setDescription(\"Track all your activities and notifications here\");\r\n this.pageInfo.setBreadcrumbs([\r\n { title: \"\", path: \"\", isActive: false, isSeparator: false },\r\n ]);\r\n }\r\n notificationList() {\r\n this.loading = true;\r\n let data = {\r\n limit: this.limit,\r\n offset: this.offset\r\n };\r\n this.service.notificationList(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (res: any) => {\r\n if (res && res.code == 200) {\r\n this.total = res.data.count;\r\n this.notification = res.data.result || [];\r\n if(this.total < 10){\r\n this.paginationSizes = [this.total]\r\n }else{\r\n this.paginationSizes = [10, 20, 30];\r\n }\r\n this.loading = false;\r\n this.noData = false;\r\n } else {\r\n this.noData = true;\r\n this.loading = false;\r\n this.notification = []; \r\n }\r\n this.cd.detectChanges();\r\n },\r\n error: (err) => {\r\n this.noData = true;\r\n this.loading = false;\r\n this.notification = [];\r\n }\r\n });\r\n }\r\n\r\n updateNotification(data: any, btnDetails: any): void {\r\n this.loading = true;\r\n this.service.notificationUpdate(data._id).pipe(takeUntil(this.destroy$)).subscribe((res: any) => {\r\n if (res && res.code == 200) {\r\n if(!btnDetails || btnDetails?.redirectionUrl != 'subscribed')\r\n this.toast.getSuccessToast(res.message);\r\n setTimeout(() => {\r\n this.notificationList();\r\n },1000);\r\n if(btnDetails && btnDetails?.redirectionUrl != '' && btnDetails?.redirectionUrl.split('/').length > 1) {\r\n this.router.navigateByUrl(btnDetails.redirectionUrl);\r\n }\r\n if(btnDetails && btnDetails?.redirectionUrl == 'remind') {\r\n this.service.updateRemind(data._id).pipe(takeUntil(this.destroy$)).subscribe(() => {})\r\n }\r\n if(btnDetails && btnDetails?.redirectionUrl == 'trialApproved') {\r\n let params = {\r\n id:btnDetails.id,\r\n type:'approve'\r\n }\r\n this.service.trialApproved(params).pipe(takeUntil(this.destroy$)).subscribe(() => {})\r\n }\r\n if(btnDetails && btnDetails?.redirectionUrl == 'subscribed') {\r\n let params = {\r\n clientId: btnDetails?.clientId,\r\n products: [\r\n {\r\n name: btnDetails.product,\r\n productName: btnDetails.name,\r\n type: \"subscription\",\r\n content: \"new\"\r\n }\r\n ]\r\n }\r\n this.service.updateSubscription(params).pipe(takeUntil(this.destroy$)).subscribe((res:any) => {\r\n if(res && res.code == 200) {\r\n this.toast.getSuccessToast('Product Subscribed Successfully');\r\n }\r\n })\r\n }\r\n this.cd.detectChanges();\r\n }\r\n },(error:any) => {\r\n this.loading = false;\r\n this.noData = true;\r\n })\r\n }\r\n \r\n chooseManager(type:any){\r\n\r\n }\r\n\r\n onPageChange(pageOffset: number) {\r\n this.offset = Number(pageOffset);\r\n this.notificationList();\r\n }\r\n\r\n onPageSizeChange(pageSize: number) {\r\n this.limit = Number(pageSize);\r\n this.offset = 1;\r\n this.notificationList();\r\n }\r\n\r\n paginationSize(): number {\r\n console.log('this.limit',this.limit,this.total)\r\n if (this.total < 10) {\r\n return this.total;\r\n } else {\r\n return this.limit;\r\n }\r\n }\r\n\r\n}\r\n","<!-- <div class=\"row buttonsec mb-10\">\r\n <button [ngClass]=\"showalert?'':'submenu'\" class=\" col-lg-6 btn bg-light-primary text-primary\"\r\n (click)=\"chooseManager('alert')\">Alerts Manager</button>\r\n <button [ngClass]=\"showdownload?'':'submenu'\" class=\"col-lg-6 btn bg-light-primary \"\r\n (click)=\"chooseManager('download')\">Download Manager</button>\r\n</div> -->\r\n\r\n<div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Alerts Manager</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"d-flex flex-column flex-xl-row p-7 \">\r\n <div class=\"flex-lg-row-fluid mb-20 mb-xl-0\">\r\n <div class=\"mb-0\">\r\n <div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown\r\n here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"row w-100\" *ngIf=\"notification?.length && !loading\">\r\n\r\n <div class=\"col-lg-6\" *ngFor=\"let item of notification;let i=index\">\r\n <div class=\"mb-8 border-value w-100\">\r\n <div class=\"flex-grow-1 me-2\">\r\n <div class=\"row mt-4\">\r\n <div class=\"col-lg-11\">\r\n <div class=\"symbol symbol-50px mx-4\">\r\n <span class=\"mt-2\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"40\" height=\"40\" rx=\"20\"\r\n fill=\"#DAF1FF\" />\r\n <g clip-path=\"url(#clip0_12108_56367)\">\r\n <path\r\n d=\"M19.9993 23.3333V20M19.9993 16.6666H20.0077M28.3327 20C28.3327 24.6023 24.6017 28.3333 19.9993 28.3333C15.397 28.3333 11.666 24.6023 11.666 20C11.666 15.3976 15.397 11.6666 19.9993 11.6666C24.6017 11.6666 28.3327 15.3976 28.3327 20Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12108_56367\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"alert-title mx-4\">{{ item._source.title }}<span\r\n class=\"alertdot m-2\">•</span><span\r\n class=\"alertdot\">{{\r\n item._source.date | customDateFormat }} Today</span>\r\n </span>\r\n <div class=\"alt-desc d-block ms-17\">{{\r\n item._source.description\r\n }}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-1\">\r\n <span (click)=\"updateNotification(item,'')\"\r\n class=\"btn btn-sm btn-icon btn-active-color-primary\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"ms-20 mt-2\">\r\n <ng-container *ngFor=\"let cta of item._source.alertCta\">\r\n <button *ngIf=\"!['remind','cancel'].includes(cta.redirectionUrl)\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"['remind','cancel'].includes(cta.redirectionUrl)\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{\r\n cta.buttonName }}</span>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- </div> -->\r\n <!-- </div> -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div *ngIf=\"notification?.length && !loading\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\" [totalItems]=\"total\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<!-- <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" width=\"200px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n</div> -->","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NotificationComponent } from './notification/notification.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path:'alerts',\r\n component:NotificationComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class NotificationRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { NotificationRoutingModule } from './notification-routing.module';\r\nimport { NotificationComponent } from './notification/notification.component';\r\nimport { CommonSharedModule } from '../common/common-shared.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n NotificationComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NotificationRoutingModule,\r\n CommonSharedModule\r\n ]\r\n})\r\nexport class NotificationModule { }\r\n"],"names":["i2","i3.NotificationService","i4.ToastService","i5","i6.PaginationComponent","i7.CustomDateFormatPipe"],"mappings":"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"}
|