tango-app-ui-shared 3.0.63-dev → 3.0.66-dev

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.
@@ -9,6 +9,7 @@ import * as i1 from 'tango-app-ui-global';
9
9
  import { NotificationService, ToastService, PaginationComponent, CustomDateFormatPipe, CommonSharedModule } from './tango-app-ui-shared.mjs';
10
10
  import '@angular/common/http';
11
11
  import 'sweetalert2';
12
+ import '@angular/animations';
12
13
  import '@ng-bootstrap/ng-bootstrap';
13
14
  import 'rxjs/operators';
14
15
  import '@angular/platform-browser';
@@ -69,10 +70,13 @@ class NotificationComponent {
69
70
  // });
70
71
  this.notificationList();
71
72
  this.setPageData();
73
+ this.service.reloadData$.subscribe(() => {
74
+ this.notificationList();
75
+ });
72
76
  }
73
77
  setPageData() {
74
78
  this.pageInfo.setTitle("Alerts");
75
- this.pageInfo.setDescription("Lorem ipsum dolor sit amet consectetur. Sit justo integer massa sit augue.");
79
+ this.pageInfo.setDescription("Track all your activities and notifications here");
76
80
  this.pageInfo.setBreadcrumbs([
77
81
  { title: "", path: "", isActive: false, isSeparator: false },
78
82
  ]);
@@ -88,8 +92,14 @@ class NotificationComponent {
88
92
  .subscribe({
89
93
  next: (res) => {
90
94
  if (res && res.code == 200) {
91
- this.total = res.data.count || 0;
95
+ this.total = res.data.count;
92
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
+ }
93
103
  this.loading = false;
94
104
  this.noData = false;
95
105
  }
@@ -111,7 +121,8 @@ class NotificationComponent {
111
121
  this.loading = true;
112
122
  this.service.notificationUpdate(data._id).pipe(takeUntil(this.destroy$)).subscribe((res) => {
113
123
  if (res && res.code == 200) {
114
- this.toast.getPrimaryToast(res.message);
124
+ if (!btnDetails || btnDetails?.redirectionUrl != 'subscribed')
125
+ this.toast.getSuccessToast(res.message);
115
126
  setTimeout(() => {
116
127
  this.notificationList();
117
128
  }, 1000);
@@ -133,7 +144,11 @@ class NotificationComponent {
133
144
  }
134
145
  ]
135
146
  };
136
- this.service.updateSubscription(params).pipe(takeUntil(this.destroy$)).subscribe(() => { });
147
+ this.service.updateSubscription(params).pipe(takeUntil(this.destroy$)).subscribe((res) => {
148
+ if (res && res.code == 200) {
149
+ this.toast.getSuccessToast('Product Subscribed Successfully');
150
+ }
151
+ });
137
152
  }
138
153
  this.cd.detectChanges();
139
154
  }
@@ -142,14 +157,6 @@ class NotificationComponent {
142
157
  this.noData = true;
143
158
  });
144
159
  }
145
- notificationPushUpdate(data, _id) {
146
- this.service.notificationPushUpdate(data, _id).pipe(takeUntil(this.destroy$)).subscribe((res) => {
147
- if (res && res.code == 200) {
148
- this.toast.getPrimaryToast(res.message);
149
- this.notificationList();
150
- }
151
- });
152
- }
153
160
  chooseManager(type) {
154
161
  }
155
162
  onPageChange(pageOffset) {
@@ -161,12 +168,21 @@ class NotificationComponent {
161
168
  this.offset = 1;
162
169
  this.notificationList();
163
170
  }
171
+ paginationSize() {
172
+ console.log('this.limit', this.limit, this.total);
173
+ if (this.total < 10) {
174
+ return this.total;
175
+ }
176
+ else {
177
+ return this.limit;
178
+ }
179
+ }
164
180
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", 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 });
165
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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\r\n </div>\r\n\r\n <div class=\"ms-20 mt-2\">\r\n <ng-container *ngFor=\"let cta of item._source.alertCta\">\r\n <button *ngIf=\"cta.redirectionUrl !== 'remind'\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"cta.redirectionUrl === 'remind'\"\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]=\"limit\"\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" }] });
181
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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=\"cta.redirectionUrl !== 'remind'\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"cta.redirectionUrl === 'remind'\"\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" }] });
166
182
  }
167
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NotificationComponent, decorators: [{
168
184
  type: Component,
169
- 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\r\n </div>\r\n\r\n <div class=\"ms-20 mt-2\">\r\n <ng-container *ngFor=\"let cta of item._source.alertCta\">\r\n <button *ngIf=\"cta.redirectionUrl !== 'remind'\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"cta.redirectionUrl === 'remind'\"\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]=\"limit\"\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"] }]
185
+ 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=\"cta.redirectionUrl !== 'remind'\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"cta.redirectionUrl === 'remind'\"\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"] }]
170
186
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }, { type: i1$1.ActivatedRoute }, { type: NotificationService }, { type: i0.ChangeDetectorRef }, { type: ToastService }, { type: i1$1.Router }] });
171
187
 
172
188
  const routes = [
@@ -212,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
212
228
  }] });
213
229
 
214
230
  export { NotificationModule };
215
- //# sourceMappingURL=tango-app-ui-shared-notification.module-C_ObuoyP.mjs.map
231
+ //# sourceMappingURL=tango-app-ui-shared-notification.module-DVADPOZg.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tango-app-ui-shared-notification.module-DVADPOZg.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 != '' && !['remind','subscribed'].includes(btnDetails?.redirectionUrl)) {\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 == '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=\"cta.redirectionUrl !== 'remind'\"\r\n (click)=\"updateNotification(item,cta)\"\r\n class=\"btn btn-sm btn-primary\">{{ cta.buttonName }}</button>\r\n <span *ngIf=\"cta.redirectionUrl === 'remind'\"\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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"}