tango-app-ui-shared 3.3.1-beta.60 → 3.3.1-beta.62
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/modules/layout/toolbar/trax-header/trax-header.component.mjs +2 -2
- package/esm2022/lib/modules/notification/notification/notification.component.mjs +24 -13
- package/fesm2022/{tango-app-ui-shared-notification.module-CY2bs6yd.mjs → tango-app-ui-shared-notification.module-B_2UQ00Y.mjs} +24 -13
- package/fesm2022/tango-app-ui-shared-notification.module-B_2UQ00Y.mjs.map +1 -0
- package/fesm2022/tango-app-ui-shared.mjs +2 -2
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/package.json +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-CY2bs6yd.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tango-app-ui-shared-notification.module-CY2bs6yd.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, OnDestroy, 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,OnDestroy {\r\n showalert:boolean = true;\r\n showdownload:boolean = false;\r\n loading: boolean = true;\r\n noData: boolean = false;\r\n downloadloading: boolean = true;\r\n downloadnoData: 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 downloads: any[] = [];\r\n headerData: any;\r\n searchInput: any =\"\";\r\n sortColumName: string = '';\r\n sortDirection: any = '';\r\n searchValue: string;\r\n tabtype: any\r\n user_id: any;\r\n private reloadInterval: any;\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 \r\n \r\nngOnInit(): void {\r\n this.setPageData();\r\n if (\"user-info\" in localStorage) {\r\n const userData: any = JSON.parse(\r\n localStorage.getItem(\"user-info\") || \"{}\"\r\n );\r\n this.user_id = userData._id;\r\n this.headerData = userData;\r\n this.route.queryParams.subscribe(params => {\r\n const tabType = params['tab'];\r\n if (tabType) {\r\n this.chooseManager(tabType);\r\n } else {\r\n this.chooseManager('alert');\r\n }\r\n });\r\n }\r\n this.reloadInterval = setInterval(() => {\r\n this.downloadmanagerList();\r\n }, 10000);\r\n \r\n}\r\n \r\nngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n if (this.reloadInterval) {\r\n clearInterval(this.reloadInterval);\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 \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 this.setPaginationSizes()\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 this.tabtype = type\r\n this.sortColumName = \"\",\r\n this.sortDirection = \"\",\r\n this.searchValue = \"\",\r\n this.limit = 10, \r\n this.offset= 1,\r\n this.currentPage= 1,\r\n this.pageSize = 10\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { tab: type },\r\n queryParamsHandling: 'merge' // keeps existing query params and merges with new ones\r\n });\r\n if (this.tabtype === 'alert') {\r\n this.showalert = true;\r\n this.showdownload = false;\r\n this.notificationList();\r\n } else if (this.tabtype === 'download') {\r\n this.showdownload = true;\r\n this.showalert = false;\r\n this.downloadmanagerList();\r\n }\r\n }\r\n \r\n setPaginationSizes() {\r\n if (this.totalItems > 10) {\r\n this.paginationSizes = [10, 20, 30];\r\n } else {\r\n this.paginationSizes = [this.totalItems];\r\n this.pageSize = this.totalItems; // Just one option if less than 10\r\n }\r\n \r\n }\r\n \r\n onPageChange(pageOffset: number) {\r\n this.offset = Number(pageOffset);\r\n if (this.tabtype === 'alert') {\r\n this.notificationList();\r\n } else if (this.tabtype === 'download') {\r\n this.downloadmanagerList();\r\n }\r\n }\r\n \r\n onPageSizeChange(pageSize: number,) {\r\n this.currentPage = 1;\r\n this.limit = Number(pageSize);\r\n this.offset = 1;\r\n if (this.tabtype === 'alert') {\r\n this.notificationList();\r\n } else if (this.tabtype === 'download') {\r\n this.downloadmanagerList();\r\n }\r\n // this.notificationList();\r\n }\r\n \r\n paginationSize(): number {\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 \r\n downloadmanagerList() {\r\n this.downloadloading = true;\r\n const requestData = {\r\n clientId:this.headerData.clientId,\r\n limit: this.limit,\r\n offset: this.offset -1,\r\n sortBy: this.sortDirection,\r\n sortColumnName: this.sortColumName,\r\n searchValue: this.searchInput,\r\n createdBy: this.user_id\r\n };\r\n \r\n this.service.getdownloadlist(requestData)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.downloads = res.data.data;\r\n this.total = res.data.count;\r\n this.setPaginationSizes()\r\n \r\n this.paginationSizes = this.total < 10 ? [this.total] : [10, 20, 30];\r\n this.downloadloading = false;\r\n this.downloadnoData = this.downloads.length === 0;\r\n } else {\r\n this.downloadnoData = true;\r\n this.downloadloading = false;\r\n this.downloads = [];\r\n }\r\n this.cd.detectChanges();\r\n },\r\n error: () => {\r\n this.downloadnoData = true;\r\n this.downloadloading = false;\r\n this.downloads = [];\r\n }\r\n });\r\n }\r\n \r\n downloadFile(record: any) {\r\n window.open(record.url, '_blank');\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 text-primary\"\r\n (click)=\"chooseManager('download')\">Download Manager</button>\r\n</div>\r\n<div *ngIf=\"showalert\" 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 <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=\"card topbar\" *ngIf=\"showdownload\">\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\">Download Manager</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body\">\r\n <ng-container *ngIf=\"downloadloading\">\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=\"downloadnoData && !downloadloading\">\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/Nodata1.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No data found</span>\r\n <span class=\"noNotification mt-2\">There is no result for Download Manager.\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"row\" *ngIf=\"downloads?.length && !downloadloading\">\r\n <div *ngFor=\"let record of downloads\" class=\"col-md-5 card border px-5 py-5 mt-5\" style=\"margin-left: 70px;\">\r\n <div class=\"d-flex justify-content-between\" *ngIf=\"downloads?.length\">\r\n <div class=\"d-flex\">\r\n <img class=\"downloadimage\" src=\"./assets/tango/Icons/Trax_Folder_Icon.svg\" alt=\"Folder Icon\">\r\n <div class=\"mx-5\">\r\n <!--.{{record?.type ? record.type : 'zip' }} -->\r\n <span class=\"foldername\">{{ record.name }}</span><br>\r\n <span class=\"downloadstatus\" *ngIf=\"record.status === 'completed'\">\r\n Initiated Time: {{ record.downloadedTime }} | {{ record.downloadedDate }}\r\n </span>\r\n <span class=\"downloadstatus\" *ngIf=\"record.status === 'inprogress'\">Processing...</span>\r\n </div>\r\n </div>\r\n <button *ngIf=\"record.status === 'completed' && record.url && record.url.trim() !== ''\" class=\"btn btn-primary download\" (click)=\"downloadFile(record)\">\r\n Download\r\n </button>\r\n <button *ngIf=\"record.status === 'completed' && (!record.url || record.url.trim() === '')\" class=\"btn btn-outline nofilefound\">\r\n No File Found\r\n </button>\r\n <div *ngIf=\"record.status === 'inprogress'\">\r\n <img class=\"loader\" src=\"./assets/tango/Icons/Trax-Loader GIF.gif\" alt=\"Loading\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"downloads?.length && !downloadloading\" class=\"my-3\">\r\n <lib-pagination \r\n [itemsPerPage]=\"limit\" \r\n [currentPage]=\"offset\" \r\n [totalItems]=\"total\"\r\n [paginationSizes]=\"paginationSizes\" \r\n [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\">\r\n </lib-pagination>\r\n </div>\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 path:'downloadmanager',\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":["i3.NotificationService","i4.ToastService","i5","i6.PaginationComponent","i7.CustomDateFormatPipe"],"mappings":"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"}
|