{"version":3,"file":"main.bbf4e678d25c50e5.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/archive-trip/archive-trip.component.ts","./src/app/archive-trip/archive-trip.component.html","./src/app/assign-biils-trip/assign-biils-trip.component.ts","./src/app/assign-biils-trip/assign-biils-trip.component.html","./src/app/assignbill/assignbill.component.ts","./src/app/assignbill/assignbill.component.html","./src/app/auth.guard.ts","./src/app/basic-auth.interceptor.ts","./src/app/cache-Interceptor.ts","./src/app/common/congfiguration/socket-config.ts","./src/app/common/services/exportBill.service.ts","./src/app/common/services/headline.service.ts","./src/app/common/services/loading.service.ts","./src/app/common/services/socket.service.ts","./src/app/common/shared-validation.service.ts","./src/app/expense/receipt/data.service.ts","./src/app/expense/receipt/detail/userState.service.ts","./src/app/export-component/export-component.component.ts","./src/app/export-component/export-component.component.html","./src/app/home/toolbar/toolbar.component.ts","./src/app/home/toolbar/toolbar.component.html","./src/app/notification-panel-component/notification-panel-component.component.ts","./src/app/notification-panel-component/notification-panel-component.component.html","./src/app/pipes/secure.pipe.ts","./src/app/response.interceptor.ts","./src/environments/environment.production.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { authGuard } from './auth.guard';\r\nimport { AssignBiilsTripComponent } from './assign-biils-trip/assign-biils-trip.component';\r\nimport { ArchiveTripComponent } from './archive-trip/archive-trip.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n pathMatch: 'full',\r\n redirectTo: 'home'\r\n },\r\n {\r\n path: 'home',\r\n loadComponent: () => import('./home/welcome/welcome.component').then(m => m.WelcomeComponent)\r\n },\r\n {\r\n path: 'login',\r\n loadComponent: () => import('./user/login/login.component').then(m => m.LoginComponent)\r\n },\r\n {\r\n path: 'logout',\r\n loadComponent: () => import('./user/logout/logout.component').then(m => m.LogoutComponent)\r\n },\r\n {\r\n path: 'register',\r\n loadComponent: () => import('./user/join/join.component').then(m => m.JoinComponent)\r\n },\r\n {\r\n path: 'forgot-password',\r\n loadComponent: () => import('./user/forgot-password/forgot-password.component').then(m => m.ForgotPasswordComponent)\r\n },\r\n {\r\n path: 'privacy',\r\n loadComponent: () => import('./privacy-policy/privacy-policy.component').then(m => m.PrivacyPolicyComponent)\r\n },\r\n {\r\n path: 'reset-password/:otp/:email',\r\n loadComponent: () => import('./user/reset-password/reset-password.component').then(m => m.ResetPasswordComponent)\r\n },\r\n {\r\n path: 'scaned-receipts',\r\n loadComponent: () => import('./expense/receipt/receipt.component').then(m => m.ReceiptComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'organization',\r\n loadComponent: () => import('./organization/organization.component').then(m => m.OrganizationComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'userassign',\r\n loadComponent: () => import('./userassign/userassign.component').then(m => m.UserassignComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'scaned-receipt/:page/:billId',\r\n loadComponent: () => import('./expense/receipt/detail/detail.component').then(m => m.DetailComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'about',\r\n loadComponent: () => import('./about/about.component').then(m => m.AboutComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'showRequest',\r\n loadComponent: () => import('./show-request/show-request.component').then(m => m.ShowRequestComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'showOrgRequest',\r\n loadComponent: () => import('./orgshow-request/orgshow-request.component').then(m => m.OrgshowRequestComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'organization-management',\r\n loadComponent: () => import('./organization-maintain/organization-maintain.component').then(m => m.OrganizationMaintainComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'orgHirarchy/:orgId',\r\n loadComponent: () => import('./emphirarchy/emphirarchy.component').then(m => m.EmphirarchyComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'about-us',\r\n loadComponent: () => import('./about-us/about-us.component').then(m => m.AboutUsComponent)\r\n },\r\n {\r\n path: 'trip',\r\n loadComponent: () => import('./trip/trip.component').then(m => m.TripComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'trips/:tripId',\r\n loadComponent: () => import('./assign-biils-trip/assign-biils-trip.component').then(m => AssignBiilsTripComponent),\r\n canActivate: [authGuard]\r\n },\r\n {\r\n path: 'archive-trip',\r\n loadComponent: () => import('./archive-trip/archive-trip.component').then(m => ArchiveTripComponent),\r\n canActivate: [authGuard]\r\n },\r\n // {\r\n // path: 'contact-us',\r\n // loadComponent: () => import('./contact-us/contact-us.component').then(m => m.ContactUsComponent)\r\n // },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport { LoadingService } from './common/services/loading.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'web';\r\n constructor(public loadingService:LoadingService){}\r\n}\r\n","\r\n\r\n

Loading...

\r\n\r\n\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ToolbarComponent } from './home/toolbar/toolbar.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatIcon, MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MAT_SNACK_BAR_DEFAULT_OPTIONS, MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ResponseInterceptor } from './response.interceptor';\r\nimport { BasicAuthInterceptor } from './basic-auth.interceptor';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from '@angular/material/form-field';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport { UserassignComponent } from './userassign/userassign.component';\r\nimport { UpdateDialogComponent } from './update-dialog/update-dialog.component';\r\nimport { MatDialogModule, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { CacheInterceptor } from './cache-Interceptor';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NotificationPanelComponentComponent } from './notification-panel-component/notification-panel-component.component';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { SocketIoModule } from 'ngx-socket-io';\r\nimport { socketConfig } from './common/congfiguration/socket-config';\r\nimport { SocketService } from './common/services/socket.service';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ToolbarComponent,\r\n\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatSidenavModule,\r\n MatIconModule,\r\n HttpClientModule,\r\n MatListModule,\r\n MatProgressSpinnerModule,\r\n MatSnackBarModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatMenuModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatAutocompleteModule,\r\n MatTabsModule,\r\n NgxSpinnerModule,\r\n MatNativeDateModule,\r\n NotificationPanelComponentComponent,\r\n SocketIoModule.forRoot(socketConfig)\r\n ],\r\n providers: [\r\n DatePipe,\r\n {\r\n provide: HTTP_INTERCEPTORS, useClass: ResponseInterceptor, multi: true\r\n },\r\n { provide: HTTP_INTERCEPTORS, useClass: CacheInterceptor, multi: true },\r\n {\r\n provide: HTTP_INTERCEPTORS, useClass: BasicAuthInterceptor, multi: true\r\n },\r\n SocketService,\r\n {\r\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\r\n useValue: {\r\n subscriptSizing: 'dynamic'\r\n }\r\n },\r\n { provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: { duration: 5000 } }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\nfunction provideNativeDateAdapter(): import(\"@angular/core\").Provider | import(\"@angular/core\").EnvironmentProviders {\r\n throw new Error('Function not implemented.');\r\n}\r\n\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { HttpClient, HttpClientModule, HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ViewChild } from '@angular/core';\r\nimport { FormBuilder, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { SharedValidationMessageComponent } from '../common/shared-validation-message/shared-validation-message.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HeadlineService } from '../common/services/headline.service';\r\nimport { LoadingService } from '../common/services/loading.service';\r\nimport { SharedValidationService } from '../common/shared-validation.service';\r\nimport { EditTripComponent } from '../edit-trip/edit-trip.component';\r\nimport { DataService } from '../expense/receipt/data.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-archive-trip',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatCardModule,\r\n MatIconModule,\r\n SharedValidationMessageComponent,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n HttpClientModule,\r\n MatInputModule,\r\n MatSnackBarModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatTabsModule,\r\n ],\r\n templateUrl: './archive-trip.component.html',\r\n styleUrls: ['./archive-trip.component.css']\r\n})\r\nexport class ArchiveTripComponent {\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n displayedColumns: string[] = [\r\n 'id',\r\n 'tripName',\r\n 'organization',\r\n 'user',\r\n 'tripStart',\r\n 'tripEnd',\r\n 'tripDuration',\r\n 'description',\r\n 'unarchive',\r\n ];\r\n\r\n constructor(\r\n private ds: DataService,\r\n private fb: FormBuilder,\r\n private headlineService: HeadlineService,\r\n private sharedValidationService: SharedValidationService,\r\n private _snackBar: MatSnackBar,\r\n private datePipe: DatePipe,\r\n private _httpClient: HttpClient,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private ngxService: NgxSpinnerService,\r\n private snackBar: MatSnackBar,\r\n private sanitizationService: DomSanitizer,\r\n public dialog: MatDialog\r\n ) {}\r\n trips = new MatTableDataSource([]);\r\n loadingBlur: boolean = true;\r\n shouldShowPaginator:boolean=false\r\n async ngOnInit(): Promise {\r\n if (this.isLoggedIn()) {\r\n this.headlineService.setHeadline('Archive Trips');\r\n await this.loadTrips();\r\n } else {\r\n this.snackBar.open('Please debug in first ', 'OK', {\r\n duration: 2000,\r\n });\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n\r\n formatDate(date: string): string {\r\n return (\r\n this.datePipe.transform(new Date(date), 'yyyy-MM-dd HH:mm:ss') || 'N/A'\r\n );\r\n }\r\n\r\n\r\n\r\n unArchive(event: MouseEvent, id: string, etag: string) {\r\n event.stopPropagation();\r\n const trip = this.trips.data.find((trip: any) => trip._id == id);\r\n console.debug(trip)\r\n if (trip) {\r\n let tripData:any = {\r\n archive: false,\r\n };\r\n this.ds.updateTripDetail(id,tripData,etag).subscribe(\r\n (res)=>{\r\n console.debug(res)\r\n if (\r\n res &&\r\n res._status &&\r\n String(res._status).toLowerCase() === 'ok' &&\r\n res._success &&\r\n res._success.message\r\n ) {\r\n this._snackBar.open(\r\n 'Trip-' +\r\n trip.trip_name\r\n +\r\n ' is Unarchived.',\r\n ''\r\n );\r\n this.router.navigate(['/trip'])\r\n } else {\r\n this._snackBar.open(\r\n 'Trip-' +\r\n trip.trip_name\r\n +\r\n ' is Unarchived.',\r\n ''\r\n );\r\n this.router.navigate(['/trip'])\r\n }\r\n },\r\n (error:HttpErrorResponse)=>{\r\n console.debug(error.message)\r\n this._snackBar.open(\r\n 'Error:::' +error.message\r\n );\r\n }\r\n )\r\n } else {\r\n console.error('Trip not found with id:', id, 'and etag:', etag);\r\n }\r\n }\r\n async loadTrips(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.ngxService.show()\r\n this.ds.getTrips(this.getUserIdFromLocal()).subscribe(\r\n (trips) => {\r\n console.debug(trips._items)\r\n this.trips = new MatTableDataSource(trips._items.filter(x=>x.archive===true));\r\n if(this.trips.data.length>0){\r\n this.shouldShowPaginator=true\r\n }\r\n this.trips.paginator = this.paginator;\r\n console.debug('Filtered trips:', this.trips);\r\n resolve();\r\n },\r\n (error) => {\r\n console.error('Error fetching trips details:', error);\r\n reject(error);\r\n },\r\n () => {\r\n console.debug('Observable completed');\r\n resolve();\r\n this.ngxService.hide()\r\n this.loadingBlur = false;\r\n }\r\n );\r\n });\r\n }\r\n\r\n getUserIdFromLocal(): string {\r\n var storedResponse = localStorage.getItem('LoginResponse');\r\n if (storedResponse !== null) {\r\n var parsedResponse = JSON.parse(storedResponse);\r\n var userId = parsedResponse._items[0].user_id;\r\n console.debug(userId + ' localtorage');\r\n return userId;\r\n } else {\r\n console.error('Stored response is null');\r\n return '';\r\n }\r\n }\r\n\r\n calculateTripDuration(startDate: Date, endDate: Date): number {\r\n const start = new Date(startDate);\r\n const end = new Date(endDate);\r\n const duration = Math.abs(end.getTime() - start.getTime());\r\n const days = Math.ceil(duration / (1000 * 3600 * 24));\r\n return days;\r\n }\r\n\r\n \r\n\r\n \r\n // assignBillToTrip(tripId: string) {\r\n // console.debug('tripId:::', tripId);\r\n // this.router.navigate([`/trips/${tripId}`]);\r\n // }\r\n\r\n \r\n assignBillToTrip(tripId: string,org_id:string) {\r\n console.debug('tripId:::', tripId);\r\n this.router.navigate([`/trips/${tripId}`], { queryParams: { org_id: org_id} });\r\n }\r\n \r\n isLoggedIn(): boolean {\r\n return !!localStorage.getItem('currentUser');\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n ID\r\n {{ i+1 }}\r\n \r\n \r\n \r\n Trip Name\r\n {{\r\n element.trip_name }}\r\n \r\n\r\n \r\n \r\n Organization\r\n {{ element.org_id.name }}\r\n \r\n\r\n \r\n \r\n User\r\n {{ element.created_by.name }}\r\n \r\n\r\n \r\n Trip Start\r\n {{ element.trip_start | date: 'dd-MM-yyyy'}}\r\n \r\n\r\n \r\n Trip End\r\n {{ element.trip_end | date: 'dd-MM-yyyy'}}\r\n \r\n \r\n \r\n Trip Duration\r\n \r\n {{\r\n element.trip_end && element.trip_start ? calculateTripDuration(element.trip_start, element.trip_end) + ' days' : 'End date not available'\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n Description\r\n {{ element.description || 'Description not available' }}\r\n \r\n\r\n \r\n Unarchive\r\n \r\n unarchive\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { Component, ViewChild } from '@angular/core';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { OrganizationComponent } from '../organization/organization.component';\r\nimport { UserassignComponent } from '../userassign/userassign.component';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { DataService } from '../expense/receipt/data.service';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { HeadlineService } from '../common/services/headline.service';\r\nimport { LoadingService } from '../common/services/loading.service';\r\nimport { SharedValidationService } from '../common/shared-validation.service';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSort, MatSortModule } from '@angular/material/sort';\r\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\r\nimport { SecurePipe } from '../pipes/secure.pipe';\r\nimport { Subscription } from 'rxjs';\r\nimport { receiptData } from '../expense/receipt/receipt.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AssignbillComponent } from '../assignbill/assignbill.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport Chart from 'chart.js/auto';\r\nimport { MatTabChangeEvent, MatTabsModule } from '@angular/material/tabs';\r\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\r\nimport { ExportService } from '../common/services/exportBill.service';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { ExportComponentComponent } from '../export-component/export-component.component';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-assign-biils-trip',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatTableModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatCardModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatProgressSpinnerModule,\r\n SecurePipe,\r\n MatTooltipModule,\r\n ],\r\n templateUrl: './assign-biils-trip.component.html',\r\n styleUrls: ['./assign-biils-trip.component.css'],\r\n})\r\nexport class AssignBiilsTripComponent {\r\n tripId: string;\r\n billStatus: string;\r\n selectedTab = 'details';\r\n orgId: string = '';\r\n selectedTabIndex: number = 0;\r\n headers = [\r\n 'Bill Name',\r\n 'Created By',\r\n 'Trip Name',\r\n 'Category',\r\n 'Date On Bill',\r\n 'Time On Bill',\r\n 'Amount',\r\n 'Organization',\r\n 'Status',\r\n 'Phone',\r\n ];\r\n title = 'Bill Details';\r\n private subscriptions: Subscription[] = [];\r\n imageLoaded: { [key: string]: boolean } = {};\r\n displayedColumns: string[] = [\r\n 'CreatedBy',\r\n 'name',\r\n 'type',\r\n 'amount',\r\n 'Status',\r\n ];\r\n dataSource: MatTableDataSource = new MatTableDataSource();\r\n showTable = false;\r\n loading = false;\r\n @ViewChild(MatPaginator) paginator: MatPaginator | undefined;\r\n @ViewChild(MatSort) sort: MatSort | undefined;\r\n\r\n constructor(\r\n private ds: DataService,\r\n private router: Router,\r\n private datePipe: DatePipe,\r\n public dialog: MatDialog,\r\n private _snackBar: MatSnackBar,\r\n private exportService: ExportService,\r\n private route: ActivatedRoute,\r\n private headlineService: HeadlineService,\r\n private ngxService: NgxSpinnerService,\r\n private snackBar: MatSnackBar\r\n ) {\r\n this.tripId = this.route.snapshot.params['tripId'];\r\n this.route.queryParams.subscribe((params) => {\r\n this.orgId = params['org_id'];\r\n });\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n if (this.isLoggedIn()) {\r\n console.debug('this.dataSource.data', this.dataSource.data);\r\n console.debug(this.orgId);\r\n if (this.isLoggedIn()) {\r\n await this.loadData();\r\n if (this.dataSource.data.length === 0) {\r\n this.openBillAdd();\r\n } else {\r\n this.dialog.closeAll();\r\n }\r\n } else {\r\n this.snackBar.open('Please Log In ', 'OK', {\r\n duration: 2000,\r\n });\r\n this.router.navigate(['/login']);\r\n }\r\n console.debug(this.dataSource.data);\r\n console.debug('this.dataSource.data@@', this.dataSource.data);\r\n } else {\r\n this.snackBar.open('Please debug in first ', 'OK', {\r\n duration: 2000,\r\n });\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n\r\n switchTab(event: MatTabChangeEvent): void {\r\n this.selectedTab = event.tab.textLabel.toLowerCase();\r\n this.loadDataForTab(this.selectedTab);\r\n }\r\n\r\n async loadDataForTab(tab: string): Promise {\r\n if (tab === 'chart') {\r\n const dataForPieChart = this.getDataForPieChart(this.dataSource.data);\r\n this.generatePieChart(dataForPieChart);\r\n }\r\n }\r\n\r\n getDataForPieChart(items: any): any[] {\r\n const statuses = [\r\n 'Paid',\r\n 'Approved',\r\n 'Rejected',\r\n 'Pending',\r\n 'Updated',\r\n 'In-Progress',\r\n 'Review',\r\n ];\r\n const dataForPieChart = statuses.map((status) => {\r\n console.debug('this.data', this.dataSource.data);\r\n const totalAmount = items\r\n .filter(\r\n (element) =>\r\n this.getLatestStatus(element) === status &&\r\n !isNaN(Number(element.amount_info.value))\r\n )\r\n .map((element) => Number(element.amount_info.value))\r\n .reduce((acc, amount) => acc + amount, 0);\r\n\r\n return {\r\n label: status,\r\n value: totalAmount,\r\n };\r\n });\r\n\r\n return dataForPieChart;\r\n }\r\n\r\n generatePieChart(data: any[]) {\r\n // this.ngxService.show()\r\n const canvas: any = document.getElementById('pieChart');\r\n const ctx = canvas.getContext('2d');\r\n\r\n new Chart(ctx, {\r\n type: 'pie',\r\n data: {\r\n labels: data.map((item) => item.label),\r\n datasets: [\r\n {\r\n data: data.map((item) => item.value),\r\n backgroundColor: [\r\n 'rgba(135, 211, 124,1)',\r\n 'rgba(11, 127, 171,1)',\r\n 'rgba(255, 76, 48,1)',\r\n 'rgba(245, 230, 83,1)',\r\n 'rgba(159, 90, 253,1)',\r\n 'rgba(208, 218, 142,1)',\r\n 'rgba(237, 233, 157,1)',\r\n ],\r\n borderWidth: 1,\r\n },\r\n ],\r\n },\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n generateLabels: (chart: any) => {\r\n const data = chart.data;\r\n if (data.labels.length && data.datasets.length) {\r\n return data.labels.map((label, index) => {\r\n const value = data.datasets[0].data[index];\r\n return {\r\n text: `${label}: ₹${value}`,\r\n fillStyle: data.datasets[0].backgroundColor[index],\r\n hidden: false,\r\n index: index,\r\n };\r\n });\r\n }\r\n return [];\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n\r\n // this.ngxService.hide()\r\n }\r\n\r\n removeBillFromTrip(\r\n event: MouseEvent,\r\n billId: string,\r\n billEtag: string,\r\n ): void {\r\n event.stopPropagation();\r\n const updatedData = {\r\n bill_id: billId,\r\n };\r\n this.ds.removeTripBill(billId, updatedData).subscribe(\r\n (res) => {\r\n if (\r\n res &&\r\n res._status &&\r\n String(res._status).toLowerCase() === 'ok' &&\r\n res._success &&\r\n res._success.message\r\n ) {\r\n this._snackBar.open('Removed Assigned bill.');\r\n this.loadData();\r\n } else {\r\n this._snackBar.open('Removed Assigned bill.');\r\n this.loadData();\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.debug(error.message);\r\n this._snackBar.open('Error:::' + error.message);\r\n }\r\n );\r\n console.debug('Removing bill with ID:', billId);\r\n }\r\n\r\n updateBillStatus(items: any[]): void {\r\n if (items.length === 0) {\r\n this.billStatus = 'Add Bills';\r\n return;\r\n }\r\n\r\n let anyApprovedOrPaid = false;\r\n let anyRejected = false;\r\n let allPaid = true;\r\n\r\n items.forEach((item) => {\r\n const latestStatus = this.getLatestStatus(item);\r\n if (latestStatus === 'Rejected') {\r\n anyRejected = true;\r\n } else if (latestStatus === 'Approved' || latestStatus === 'Paid') {\r\n anyApprovedOrPaid = true;\r\n }\r\n if (latestStatus !== 'Paid') {\r\n allPaid = false;\r\n }\r\n });\r\n\r\n if (anyRejected) {\r\n this.billStatus = 'Rejected';\r\n } else if (allPaid) {\r\n this.billStatus = 'Paid';\r\n } else if (anyApprovedOrPaid) {\r\n this.billStatus = 'Approved';\r\n } else {\r\n this.billStatus = 'Pending';\r\n }\r\n }\r\n\r\n getImageUrlObservable(file: string): any {\r\n const apiUrl = environment.apiUrl + file;\r\n return apiUrl;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // Clean up subscriptions\r\n this.subscriptions.forEach((sub) => sub.unsubscribe());\r\n }\r\n isLoggedIn(): boolean {\r\n console.debug('User', localStorage.getItem('currentUser'));\r\n return !!localStorage.getItem('currentUser');\r\n }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n showReceiptList() {\r\n this.ds;\r\n }\r\n\r\n async loadData(): Promise {\r\n this.ngxService.show()\r\n try {\r\n const response = await this.ds.getTripBills(this.tripId).toPromise();\r\n console.debug(response._items);\r\n this.dataSource = new MatTableDataSource(response._items);\r\n\r\n this.updateBillStatus(response._items);\r\n console.debug('this.tripStatus:::', this.billStatus);\r\n this.headlineService.setHeadline('Trip Status: ' + this.billStatus);\r\n\r\n console.debug('this.dataSource::', this.dataSource.data);\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n this.ngxService.hide()\r\n }\r\n }\r\n\r\n imageLoadedFor(elementId: string) {\r\n this.imageLoaded[elementId] = true;\r\n }\r\n\r\n getLatestStatus(element: any): string {\r\n console.debug('element', element);\r\n let latestStatus = null;\r\n let latestDate = null;\r\n for (const key in element.status) {\r\n if (element.status.hasOwnProperty(key)) {\r\n const status = element.status[key];\r\n if (!latestDate || status.date > latestDate) {\r\n latestDate = status.date;\r\n latestStatus = status.value;\r\n }\r\n }\r\n }\r\n\r\n return latestStatus;\r\n }\r\n\r\n openBillAdd(): void {\r\n const dialogRef = this.dialog.open(AssignbillComponent, {\r\n width: '400px',\r\n height: '250px',\r\n data: { trip_id: this.tripId, org_id: this.orgId },\r\n });\r\n dialogRef.afterClosed().subscribe((result) => {\r\n this.loadData();\r\n });\r\n }\r\n\r\n getUserIdFromLocal(): string {\r\n var storedResponse = localStorage.getItem('LoginResponse');\r\n if (storedResponse !== null) {\r\n var parsedResponse = JSON.parse(storedResponse);\r\n var userId = parsedResponse._items[0].user_id;\r\n console.debug(userId + ' localtorage');\r\n return userId;\r\n } else {\r\n console.error('Stored response is null');\r\n return '';\r\n }\r\n }\r\n\r\n showDetails(row: any) {\r\n // this.ds.setRecord(row);\r\n console.debug('hello navigate', row);\r\n const page='trip'\r\n this.router.navigate([`/scaned-receipt/${page}/${row._id}`]);\r\n }\r\n\r\n calculateTotalAmount(status: string): string {\r\n const totalAmount = this.dataSource.data\r\n .filter(\r\n (element) =>\r\n this.getLatestStatus(element) === status &&\r\n !isNaN(Number(element.amount_info.value))\r\n )\r\n .map((element) => Number(element.amount_info.value))\r\n .reduce((acc, amount) => acc + amount, 0);\r\n\r\n return `₹${totalAmount.toFixed(2)}`;\r\n }\r\n openExportFormatDialog(): void {\r\n const dialogRef = this.dialog.open(ExportComponentComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result: 'csv' | 'xlsx' | 'pdf') => {\r\n if (result) {\r\n this.exportData(result);\r\n }\r\n });\r\n }\r\n\r\n exportData(format: 'csv' | 'xlsx' | 'pdf') {\r\n const transformedData = this.transformData(this.dataSource.data);\r\n if (format === 'csv') {\r\n this.exportService.exportToCsv(\r\n 'export',\r\n transformedData,\r\n this.headers,\r\n this.title\r\n );\r\n } else if (format === 'xlsx') {\r\n this.exportService.exportToXlsx(\r\n 'export',\r\n transformedData,\r\n this.headers,\r\n this.title\r\n );\r\n } else if (format === 'pdf') {\r\n const data= transformedData.map(row => [ \r\n row.Bill_Name,\r\n row.Created_By,\r\n row.Trip_Name,\r\n row.Category,\r\n row.Date_on_bill,\r\n row.Time_on_bill,\r\n row.Amount,\r\n row.Organization,\r\n row.Status,\r\n row.Phone,\r\n ]);\r\n this.exportService.exportToPdf(\r\n 'export',\r\n transformedData,\r\n this.headers,\r\n this.title,data\r\n );\r\n }\r\n }\r\n\r\n private formatDate(date: string): string {\r\n return this.datePipe.transform(new Date(date), 'yyyy-MM-dd') || 'N/A';\r\n }\r\n transformData(data: any[]): any[] {\r\n return data.map((item) => ({\r\n Bill_Name: item.name,\r\n Created_By: item.user_id.name,\r\n Trip_Name: item?.trip_id?.trip_name,\r\n Category: item?.category_id?.name,\r\n Date_on_bill: this.formatDate(item?.date_info.value),\r\n Time_on_bill: item.time_info.value,\r\n Amount: item?.amount_info.value,\r\n Organization: item.organization_id.name,\r\n Status: this.getLatestStatus(item),\r\n Phone: item.phone_info.value,\r\n }));\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Details \r\n \r\n
\r\n \r\n \r\n
\r\n
{{ element.name }}
\r\n

Created By: {{ element.user_id.name }}

\r\n

CATEGORY: {{ element.category_id.name }}

\r\n

Amount: {{ element.amount_info.value }}

\r\n

Status: {{ getLatestStatus(element) }}

\r\n
\r\n
\r\n \r\n \"Image\"\r\n\r\n
\r\n
\r\n delete\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Visualization \r\n \r\n
0\" class=\"card-containerChart\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n Validators,\r\n ReactiveFormsModule,\r\n FormControl,\r\n FormGroup,\r\n FormsModule,\r\n} from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SharedValidationMessageComponent } from 'src/app/common/shared-validation-message/shared-validation-message.component';\r\nimport { SharedValidationService } from 'src/app/common/shared-validation.service';\r\nimport { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { environment } from 'src/environments/environment';\r\nimport {\r\n HttpClient,\r\n HttpClientModule,\r\n HttpErrorResponse,\r\n HttpHeaders,\r\n} from '@angular/common/http';\r\nimport { MatOption, MatOptionModule } from '@angular/material/core';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DataService } from '../expense/receipt/data.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserStateService } from '../expense/receipt/detail/userState.service';\r\nimport {\r\n Observable,\r\n catchError,\r\n debounceTime,\r\n forkJoin,\r\n map,\r\n of,\r\n startWith,\r\n switchMap,\r\n tap,\r\n} from 'rxjs';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport {\r\n MatAutocompleteModule,\r\n MatAutocompleteSelectedEvent,\r\n} from '@angular/material/autocomplete';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-assignbill',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n SharedValidationMessageComponent,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n HttpClientModule,\r\n MatOptionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatIconModule,\r\n MatAutocompleteModule,\r\n FormsModule,\r\n ],\r\n templateUrl: './assignbill.component.html',\r\n styleUrls: ['./assignbill.component.css'],\r\n})\r\nexport class AssignbillComponent {\r\n mainForm!: FormGroup;\r\n loading = false;\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n }),\r\n };\r\n bills: any[] = [];\r\n filteredBills: any[] = [];\r\n selectedBill: any = '';\r\n bill_id: string = '';\r\n bill_etag: string = '';\r\n constructor(\r\n private fb: FormBuilder,\r\n private _httpClient: HttpClient,\r\n private _snackBar: MatSnackBar,\r\n private ds: DataService,\r\n private route: ActivatedRoute,\r\n public dialogRef: MatDialogRef,\r\n private router: Router,\r\n private userStateService: UserStateService,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n async ngOnInit(): Promise {\r\n console.debug('assignData:', this.data.trip_id);\r\n this.mainForm = this.fb.group({\r\n trip_id: ['', Validators.required],\r\n });\r\n await this.loadBills();\r\n this.filteredBills = [...this.bills];\r\n }\r\n onSubmit() {\r\n if(this.bills.find(x=>x.name===this.selectedBill)){\r\n const tripAssign = {\r\n trip_id: this.data.trip_id,\r\n };\r\n this.ds.updateBillTrip(this.bill_id,tripAssign,this.bill_etag).subscribe(\r\n (res)=>{\r\n if (\r\n res &&\r\n res._status &&\r\n String(res._status).toLowerCase() === 'ok' &&\r\n res._success &&\r\n res._success.message\r\n ) {\r\n this._snackBar.open(\r\n 'Successfully Bill Assigned.'\r\n );\r\n } else {\r\n this._snackBar.open(\r\n 'Successfully Bill Assigned.'\r\n );\r\n }\r\n },\r\n (error:HttpErrorResponse)=>{\r\n console.debug(error.message)\r\n this._snackBar.open(\r\n 'Error:::' +error.message\r\n );\r\n }\r\n )\r\n \r\n }\r\n else{\r\n this._snackBar.open(\r\n \"Error: Bill's and Trip's Organization should be match!!\"\r\n );\r\n }\r\n this.dialogRef.close();\r\n }\r\n\r\n filterBill(event: any): void {\r\n const value = event.target.value;\r\n if (!value) {\r\n this.filteredBills = [...this.bills];\r\n } else {\r\n this.filteredBills = this.bills.filter((bill) =>\r\n bill.name.toLowerCase().includes(value.toLowerCase())\r\n );\r\n }\r\n }\r\n\r\n onBillSelected(event: MatAutocompleteSelectedEvent): void {\r\n if (this.selectedBill) console.debug('onSelect');\r\n console.debug(this.selectedBill);\r\n console.debug(event);\r\n const selectedBill = this.bills.find(\r\n (bill) => bill.name === event.option.value\r\n );\r\n if (selectedBill) {\r\n console.debug(selectedBill);\r\n if (selectedBill.trip_id === undefined) {\r\n this.bill_id = selectedBill._id;\r\n this.bill_etag = selectedBill._etag;\r\n this.selectedBill = selectedBill.name;\r\n } else {\r\n this._snackBar.open(\r\n 'Bill:' +\r\n selectedBill.name +\r\n ' already assigned to a trip:' +\r\n selectedBill.trip_id.trip_name,\r\n 'OK',\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n this.selectedBill = '';\r\n }\r\n }\r\n }\r\n\r\n handleAddUserError(error: any) {\r\n if (\r\n error.status === 422 &&\r\n error.error?._error?.code === 422 &&\r\n error.error?._error?.message === 'role already exist'\r\n ) {\r\n this._snackBar.open(\r\n 'Role already exists. Please choose a different role.',\r\n 'Close',\r\n {\r\n duration: 5000,\r\n }\r\n );\r\n } else {\r\n console.error('Error adding user:', error);\r\n this._snackBar.open(error.error?._error?.message, 'Close', {\r\n duration: 5000,\r\n });\r\n }\r\n }\r\n\r\n getUserIdFromLocal(): string {\r\n var storedResponse = localStorage.getItem('LoginResponse');\r\n if (storedResponse !== null) {\r\n var parsedResponse = JSON.parse(storedResponse);\r\n var userId = parsedResponse._items[0].user_id;\r\n console.debug(userId + ' localtorage');\r\n return userId;\r\n } else {\r\n console.error('Stored response is null');\r\n return '';\r\n }\r\n }\r\n loadBills(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.ds.getUserBills(this.getUserIdFromLocal(),this.data.org_id).subscribe(\r\n (response: any) => {\r\n console.debug('bills::', response._items);\r\n this.bills = response._items;\r\n resolve();\r\n },\r\n (error) => {\r\n console.error('Error fetching users:', error);\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","\r\n

Assign Bill

\r\n
\r\n \r\n \r\n receipt_longBills\r\n \r\n \r\n \r\n {{ bill.name }}\r\n \r\n \r\n\r\n
\r\n Cancel\r\n \r\n
\r\n
\r\n","import { CanActivateFn } from '@angular/router';\r\n\r\nexport const authGuard: CanActivateFn = (route, state) => {\r\n // console.log('Route = ', route);\r\n console.debug('State = ', state.url);\r\n if (state.url === '/scaned-receipts') {\r\n return true;\r\n } else {\r\n return true;\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BasicAuthInterceptor implements HttpInterceptor {\r\n\r\n constructor() { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n // add authorization header with basic auth credentials if available\r\n let userRecord = localStorage.getItem('currentUser');\r\n let currentUser = {\r\n username: 'admin',\r\n password: 'password'\r\n };\r\n if (userRecord) {\r\n currentUser = JSON.parse(userRecord)\r\n }\r\n if (currentUser && currentUser.username) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Basic ` + btoa(currentUser.username + ':' + currentUser.password)\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CacheInterceptor implements HttpInterceptor {\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n // Append a timestamp as a query parameter to make the request unique\r\n const clonedRequest = req.clone({\r\n params: req.params.set('timestamp', new Date().getTime().toString())\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}","import { SocketIoConfig } from 'ngx-socket-io';\r\n\r\nexport const socketConfig: SocketIoConfig = {\r\n url: 'http://34.31.185.19:9002',\r\n options: {\r\n transports: ['websocket'],\r\n autoConnect: false\r\n }\r\n};","import { Injectable } from '@angular/core';\r\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\r\nimport * as XLSX from 'xlsx';\r\nimport * as FileSaver from 'file-saver';\r\nimport jsPDF from 'jspdf';\r\nimport autoTable from 'jspdf-autotable';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExportService {\r\n constructor() {}\r\n getLatestStatus(element:any): string {\r\n console.debug(\"element\",element)\r\n let latestStatus = null;\r\n let latestDate = null;\r\n for (const key in element.status) {\r\n if (element.status.hasOwnProperty(key)) {\r\n const status = element.status[key];\r\n if (!latestDate || status.date > latestDate) {\r\n latestDate = status.date;\r\n latestStatus = status.value;\r\n }\r\n }\r\n }\r\n \r\n return latestStatus;\r\n }\r\n\r\n\r\n exportToCsv(filename: string, rows: object[],header:any,title:string) {\r\n const options = {\r\n fieldSeparator: ',',\r\n quoteStrings: '\"',\r\n decimalseparator: '.',\r\n showLabels: true,\r\n showTitle: true,\r\n title: title,\r\n useBom: true,\r\n noDownload: false,\r\n headers:header\r\n };\r\n\r\n new AngularCsv(rows, filename, options);\r\n }\r\n\r\n exportToXlsx(filename: string, rows: object[],header:any,title1:string) {\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet([]);\r\n const workbook: XLSX.WorkBook = {\r\n Sheets: { 'data': worksheet },\r\n SheetNames: ['data']\r\n };\r\n\r\n const title = [[title1]];\r\n XLSX.utils.sheet_add_aoa(worksheet, title, { origin: 'A1' });\r\n\r\n const emptyRow = [[]];\r\n XLSX.utils.sheet_add_aoa(worksheet, emptyRow, { origin: -1 });\r\n\r\n const headers = header;\r\n XLSX.utils.sheet_add_aoa(worksheet, [headers], { origin: -1 });\r\n\r\n XLSX.utils.sheet_add_json(worksheet, rows, { origin: -1, skipHeader: true });\r\n\r\n headers.forEach((_, colIndex) => {\r\n const cellAddress = XLSX.utils.encode_cell({ c: colIndex, r: 2 });\r\n if (!worksheet[cellAddress]) return;\r\n if (!worksheet[cellAddress].s) worksheet[cellAddress].s = {};\r\n worksheet[cellAddress].s.font = { bold: true };\r\n });\r\n\r\n worksheet['!merges'] = worksheet['!merges'] || [];\r\n worksheet['!merges'].push({\r\n s: { r: 0, c: 0 },\r\n e: { r: 0, c: headers.length - 1 }\r\n });\r\n\r\n const titleCell = XLSX.utils.encode_cell({ r: 0, c: 0 });\r\n if (worksheet[titleCell]) {\r\n worksheet[titleCell].s = worksheet[titleCell].s || {};\r\n worksheet[titleCell].s.alignment = { horizontal: 'center' };\r\n }\r\n\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, filename);\r\n}\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n\r\n exportToPdf(filename: string, rows: any[],headers:any,title,dataNew) {\r\n const doc = new jsPDF('p', 'pt');\r\n console.log(rows, \"rows\");\r\n doc.setFontSize(14);\r\n doc.text(title, doc.internal.pageSize.getWidth() / 2, 30, { align: 'center' });\r\n \r\n const data =dataNew \r\n \r\n doc.text(' ', 10, 40);\r\n \r\n const pageWidth = doc.internal.pageSize.getWidth();\r\n const tableWidth = pageWidth - 40; \r\n const columnCount = 10;\r\n const cellWidth = tableWidth / columnCount;\r\n \r\n autoTable(doc, {\r\n head: [headers],\r\n body: data,\r\n startY: 50,\r\n headStyles: { fillColor: [41, 128, 185], textColor: 255, fontStyle: 'bold' },\r\n styles: { fontSize: 10, cellPadding: 5 }, \r\n margin: { top: 60 },\r\n columnStyles: {\r\n 0: { cellWidth: cellWidth }, \r\n 1: { cellWidth: cellWidth }, \r\n 2: { cellWidth: cellWidth }, \r\n 3: { cellWidth: cellWidth }, \r\n 4: { cellWidth: cellWidth }, \r\n 5: { cellWidth: cellWidth },\r\n 6: { cellWidth: cellWidth }, \r\n 7: { cellWidth: cellWidth }, \r\n 8: { cellWidth: cellWidth }, \r\n 9: { cellWidth: cellWidth }\r\n },\r\n tableWidth: 'wrap',\r\n });\r\n \r\n doc.save(`${filename}.pdf`);\r\n }\r\n}\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HeadlineService {\r\n private headlineSource = new BehaviorSubject('');\r\n headline = this.headlineSource.asObservable();\r\n\r\n constructor() { }\r\n\r\n setHeadline(headline: string) {\r\n this.headlineSource.next(headline);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn:'root'\r\n\r\n})\r\nexport class LoadingService{\r\n public isLoading = new BehaviorSubject(false);\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { Socket } from \"ngx-socket-io\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class SocketService {\r\n \r\n constructor(private socket: Socket) {}\r\n \r\n connect(userId: string): void {\r\n console.debug(\"Hello Socket \")\r\n this.socket.ioSocket.io.opts.query = { userId };\r\n this.socket.connect();\r\n \r\n this.socket.on('connect', () => {\r\n console.debug('Connected to server');\r\n });\r\n \r\n this.socket.on('message', (data: any) => {\r\n console.debug(\"socket msg: \", data);\r\n });\r\n \r\n this.socket.on('notification', (data: any) => {\r\n alert(data.message);\r\n });\r\n \r\n this.socket.on('disconnect', () => {\r\n console.debug('Disconnected from server');\r\n });\r\n }\r\n \r\n disconnect(): void {\r\n this.socket.disconnect();\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedValidationService {\r\n config: any = {};\r\n stateCodes: string[] = ['AD', 'AR', 'AS', 'BR', 'CG', 'DL', 'GA', 'GJ', 'HR', 'HP', 'JK', 'JH', 'KA', 'KL', 'LD', 'MP', 'MH', 'MN', 'ML', 'MZ', 'NL', 'OD', 'PY', 'PB', 'RJ', 'SK', 'TN', 'TS', 'TR', 'UP', 'UK', 'WB', 'AN', 'CH', 'DNHDD', 'LA', 'OT'];\r\n constructor() {}\r\n\r\n public getValidatorErrorMessage(\r\n validatorName: string,\r\n validatorValue?: any,\r\n propertyName?: string\r\n ) {\r\n const config: any = {\r\n required: `${propertyName} is required`,\r\n minlength: `Minimum length should be ${validatorValue.requiredLength} characters`,\r\n maxlength: `Maximum length should be ${validatorValue.requiredLength} characters`,\r\n min: `Minimum value should be ${validatorValue.min}`,\r\n max: `Maximum value should be ${validatorValue.min}`,\r\n passwordMismatch: \"Password doesn't match\",\r\n invalidEmailAddress: \"Please enter valid email address\",\r\n invalidWebsiteUrl: \"Please enter valid website url\",\r\n invalidCityPinCode: \"Please enter valid pin code\",\r\n NOT_SELECTED: \"Please select value from dropdown\",\r\n phone_number_already_exist: \"User already exists with this phone number\",\r\n validatePan: \"Pan format is not correct\",\r\n validateDL: \"Driving License format is not correct\",\r\n checkFileType: \"File Format is not correct\",\r\n validateAdhar: \"Adhar Card Format is not correct\",\r\n validateFssai: \"FSSAI Format is not correct\",\r\n validateGst: \"GST Format is not correct\",\r\n company_name_already_exist: \"Company Name Is Not Unique\",\r\n validateRC: \"Please provide valid Vehicle Number\",\r\n invalidPassword: \"Minimum eight characters, at least one letter, one number and one special character\"\r\n };\r\n\r\n return config[validatorName];\r\n }\r\n\r\n matchPassword(control:AbstractControl): ValidationErrors | null{\r\n const passwordControl = control.get('password');\r\n const confirmPasswordControl = control.get('confirm_password');\r\n if (!passwordControl || !confirmPasswordControl) {\r\n return null;\r\n }\r\n\r\n if (confirmPasswordControl.errors && !confirmPasswordControl.errors['passwordMismatch']) {\r\n return null;\r\n }\r\n\r\n if (passwordControl.value !== confirmPasswordControl.value) {\r\n confirmPasswordControl.setErrors({ passwordMismatch: true });\r\n } else {\r\n confirmPasswordControl.setErrors(null);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n emailValidator(control: FormControl) {\r\n // RFC 2822 compliant regex\r\n return new Promise(resolve => {\r\n if (control.value.match(\r\n /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/\r\n )) {\r\n resolve(null);\r\n } else {\r\n resolve({ invalidEmailAddress: true });\r\n }\r\n });\r\n }\r\n\r\n ifscValidator(control: FormControl) {\r\n return new Promise(resolve => {\r\n if (control.value.match(\r\n /^[A-Z]{4}0[A-Z0-9]{6}$/\r\n )) {\r\n resolve(null);\r\n } else {\r\n resolve({ invalidIfsc: true });\r\n }\r\n });\r\n }\r\n\r\n websiteValidator(control: FormControl) {\r\n // console.debug(\"website control\",control.value)\r\n if (control.value != \"\") {\r\n return this.validateWebsite(control.value) ? null : { 'invalidWebsiteUrl': true };\r\n }\r\n return null\r\n }\r\n\r\n validateWebsite(website: string) {\r\n const re = /^((ftp|http|https):\\/\\/)?(www.)?[a-zA-Z0-9_-]+(\\.[a-zA-Z]{2,3})+((\\/)[\\w#]+)*(\\/\\w+\\?[a-zA-Z0-9_]+=\\w+(&[a-zA-Z0-9_]+=\\w+)*)?$/\r\n // const re = /^((ftp|http|https):\\/\\/)?(www.)(?!.(ftp|http|https|www.))[a-zA-Z0-9_-]+(\\.[a-zA-Z]{2,3})+((\\/)[\\w#]+)*(\\/\\w+\\?[a-zA-Z0-9_]+=\\w+(&[a-zA-Z0-9_]+=\\w+)*)?$/\r\n // const re = /^(?:(?:http(s))?:\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i\r\n // // this.restApiService.debug(\"website\", re.test(String(website).toLowerCase()));\r\n return re.test(String(website).toLowerCase());\r\n }\r\n\r\n // Pin code regex for India and Nepal\r\n pinCodeValidator(control: FormControl) {\r\n return new Promise(resolve => {\r\n if (control.value.match(\r\n /^[1-9]{1}[0-9]{2}\\s{0,1}[0-9]{3}$/\r\n ) || control.value.match(\r\n /^[1-9]{1}[0-9]{2}\\s{0,1}[0-9]{2}$/\r\n )) {\r\n resolve(null)\r\n } else {\r\n resolve(\r\n { invalidCityPinCode: true }\r\n )\r\n }\r\n })\r\n }\r\n\r\n rcNumberValidator(control: FormControl) {\r\n return new Promise(resolve => {\r\n console.debug(\"control vehicle\", typeof (control?.value))\r\n if (control?.value != null) {\r\n if (typeof (control?.value) == 'object') {\r\n resolve(null);\r\n }\r\n else if (control.value.match(\r\n /[A-Za-z][A-Za-z][0-9][0-9][A-Za-z ][A-Za-z][0-9][0-9][0-9][0-9]$/igm\r\n ) || control.value.match(\r\n /[A-Za-z][A-Za-z][0-9][0-9][A-Za-z ][0-9][0-9][0-9][0-9]$/igm\r\n )) {\r\n // console.debug(\"regex format passed\",this.stateCodes.includes(control.value.slice(0,2).toUpperCase()))\r\n if (this.stateCodes.includes(control.value.slice(0, 2).toUpperCase())) {\r\n // console.debug(\"regex format state code\",control.value.slice(0,2).toUpperCase())\r\n resolve(null)\r\n } else {\r\n resolve(\r\n { validateRC: true }\r\n )\r\n }\r\n } else {\r\n resolve(\r\n { validateRC: true }\r\n )\r\n }\r\n }\r\n })\r\n }\r\n\r\n passwordValidator(control: FormControl) {\r\n //\r\n return new Promise(resolve => {\r\n if (control.value.match(\r\n /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$/\r\n )) {\r\n resolve(null);\r\n } else {\r\n resolve({ invalidPassword: true });\r\n }\r\n });\r\n }\r\n\r\nnameValidator(control: FormControl){\r\n return new Promise((resolve) => {\r\n const namePattern = /^[a-zA-Z\\-'.\\s]+$/;\r\n if (!control.value.trim()) {\r\n resolve({ emptyName: true });\r\n }\r\n else if (!namePattern.test(control.value)) {\r\n resolve({ invalidCharacters: true });\r\n } else {\r\n resolve(null);\r\n }\r\n});\r\n}\r\n\r\ntripNameValidator(control: FormControl){\r\n return new Promise((resolve) => {\r\n const namePattern = /^[a-zA-Z0-9 _-]*$/;\r\n if (!control.value.trim()) {\r\n resolve({ emptyName: true });\r\n }\r\n else if (!namePattern.test(control.value)) {\r\n resolve({ invalidCharacters: true });\r\n } else {\r\n resolve(null);\r\n }\r\n});\r\n}\r\naccountNumberValidator(control: FormControl) {\r\n const accountRegex = /^\\d{6,18}$/;\r\n return new Promise(resolve => {\r\n if (control.value.match(accountRegex)) {\r\n resolve(null);\r\n } else {\r\n resolve({ invalidAccountNumber: true });\r\n }\r\n });\r\n}\r\n\r\ncategoryNameValidator(control: FormControl) {\r\n const categoryRegex = /^[a-zA-Z0-9\\s]{1,20}$/;\r\n return new Promise(resolve => {\r\n if (control.value.match(categoryRegex)) {\r\n resolve(null);\r\n } else {\r\n resolve({ invalidCategoryName: true });\r\n }\r\n });\r\n}\r\n phoneNumberValidator(control: FormControl) {\r\n // Define a regular expression pattern for a typical US phone number (10 digits)\r\n const phoneRegex = /^\\d{10}$/;\r\n \r\n // Return a Promise that resolves with either null (valid) or an object with an error (invalid).\r\n return new Promise(resolve => {\r\n // Check if the control's value matches the specified regex pattern.\r\n if (control.value.match(phoneRegex)) {\r\n // If the phone number is valid, resolve with null.\r\n resolve(null);\r\n } else {\r\n // If the phone number is invalid, resolve with an object containing an 'invalidPhoneNumber' property.\r\n resolve({ invalidPhoneNumber: true });\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CategoryDetails,\r\n UserData,\r\n UserDetails,\r\n receiptData,\r\n} from './receipt.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpHeaders,\r\n} from '@angular/common/http';\r\nimport { forkJoin, of } from 'rxjs';\r\nimport { catchError, mergeMap, map, tap, switchMap } from 'rxjs/operators';\r\nimport { UserStateService } from './detail/userState.service';\r\n\r\ntype Nullable = T | null;\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DataService {\r\n detailRecord: receiptData = {\r\n id: '',\r\n name: '',\r\n amount: '',\r\n category: '',\r\n createdBy: '',\r\n status: '',\r\n type: '',\r\n user_id:'',\r\n imageUrl:'',\r\n organization_id:'',\r\n\r\n trip:[],\r\n };\r\n constructor(\r\n private _httpClient: HttpClient,\r\n private userStateService: UserStateService\r\n ) {}\r\n\r\n setRecord(row: receiptData) {\r\n this.detailRecord = row;\r\n }\r\n\r\n getRecord(): receiptData {\r\n return this.detailRecord;\r\n }\r\n\r\n getMineBills():Observable{\r\n const loggedInUserId = this.getUserIdFromLocal();\r\n console.debug(loggedInUserId)\r\n\r\n if (!loggedInUserId) {\r\n // If the user is not logged in, return an empty observable\r\n return of([]);\r\n }\r\n const baseUrl = `${environment.apiUrl}/bills`;\r\n const queryParams = `where=${encodeURIComponent(JSON.stringify({ user_id: loggedInUserId }))}&embedded=${encodeURIComponent(JSON.stringify({ status: 1, trip_id: 1,user_id:1,category_id:1,organization_id:1, }))}&max_results=10000000`;\r\n const url = `${baseUrl}?${queryParams}`;\r\n return this._httpClient.get(url);\r\n }\r\n \r\n getManagerBills(): Observable {\r\n const loggedInUserId = this.getUserIdFromLocal();\r\n console.debug(loggedInUserId);\r\n \r\n if (!loggedInUserId) {\r\n return of([]);\r\n }\r\n \r\n const baseUrl = `${environment.apiUrl}/get-manager-bills`;\r\n const queryParams = new URLSearchParams({\r\n manager_id: loggedInUserId,\r\n embedded: JSON.stringify({\r\n status: 1,\r\n trip_id: 1,\r\n user_id: 1,\r\n category_id: 1,\r\n organization_id: 1,\r\n }),\r\n max_results: '10000000'\r\n }).toString();\r\n \r\n const url = `${baseUrl}?${queryParams}`;\r\n return this._httpClient.get(url);\r\n }\r\n \r\n getAccountantBills(): Observable {\r\n const loggedInUserId = this.getUserIdFromLocal();\r\n console.debug(loggedInUserId);\r\n \r\n if (!loggedInUserId) {\r\n return of([]);\r\n }\r\n \r\n const baseUrl = `${environment.apiUrl}/get-accountant-bills`;\r\n const queryParams = new URLSearchParams({\r\n accountant_id: loggedInUserId,\r\n embedded: JSON.stringify({\r\n status: 1,\r\n trip_id: 1,\r\n user_id: 1,\r\n category_id: 1,\r\n organization_id: 1,\r\n }),\r\n max_results: '10000000'\r\n }).toString();\r\n \r\n const url = `${baseUrl}?${queryParams}`;\r\n return this._httpClient.get(url);\r\n }\r\n \r\n getLatestStatus(element:any): string {\r\n console.debug(\"element\",element)\r\n let latestStatus = null;\r\n let latestDate = null;\r\n for (const key in element.status) {\r\n if (element.status.hasOwnProperty(key)) {\r\n const status = element.status[key];\r\n if (!latestDate || status.date > latestDate) {\r\n latestDate = status.date;\r\n latestStatus = status.value;\r\n }\r\n }\r\n }\r\n \r\n return latestStatus;\r\n }\r\n\r\n getUserRoles(userId: string): Observable {\r\n return this._httpClient\r\n .get(\r\n `${environment.apiUrl}/user_roles?where=%7B%22user_id%22%3A%22${userId}%22%7D&max_results=100000`\r\n )\r\n .pipe(\r\n map((apiResponse: any) => {\r\n // Filter roles based on the status being allowed\r\n const allowedRoles =\r\n apiResponse?._items\r\n .filter((item: any) => item.status === 'Allowed')\r\n .map((item: any) => item.role) || [];\r\n console.debug('apiResponse:::::::', allowedRoles);\r\n return allowedRoles;\r\n }),\r\n catchError((error) => {\r\n console.error('Error fetching user roles:', error);\r\n return of([]);\r\n })\r\n );\r\n }\r\n\r\n checkUserRoles(userId: string): Observable {\r\n const apiUrl = `${environment.apiUrl}/user_roles?where={\"user_id\":\"${userId}\"}&max_results=10000000`;\r\n\r\n return this._httpClient.get(apiUrl).pipe(\r\n switchMap((response: any) => {\r\n const roles = response?._items || [];\r\n console.debug('response', response?._items);\r\n\r\n if (!Array.isArray(roles)) {\r\n console.error('Unexpected response format for user roles:', roles);\r\n return of([]);\r\n }\r\n\r\n // Extract organization IDs from roles\r\n const organizationIds = roles.map((role) => role.organization_id);\r\n\r\n // Fetch organization details for each ID\r\n const organizationRequests = organizationIds.map((orgId) =>\r\n this._httpClient.get(\r\n `${environment.apiUrl}/organizations/${orgId}`\r\n )\r\n );\r\n\r\n // Combine all organization requests\r\n return forkJoin(organizationRequests).pipe(\r\n map((organizationsResponse: any[]) => {\r\n if (!Array.isArray(organizationsResponse)) {\r\n console.error(\r\n 'Unexpected response format for organization details:',\r\n organizationsResponse\r\n );\r\n return roles;\r\n }\r\n\r\n // Assuming 'organizations' is an array of objects with a 'name' property\r\n const organizations = organizationsResponse;\r\n\r\n // Update roles with organization names\r\n const rolesWithOrgNames = roles.map((role, index) => {\r\n const organization = organizations.find(\r\n (org) => org._id === role.organization_id\r\n );\r\n return {\r\n ...role,\r\n organization_name: organization ? organization.name : undefined,\r\n };\r\n });\r\n\r\n return rolesWithOrgNames;\r\n }),\r\n catchError((error) => {\r\n console.error('Error fetching organization details:', error);\r\n return of(roles); // Return roles without organization details in case of an error\r\n })\r\n );\r\n }),\r\n catchError((error) => {\r\n console.error('Error fetching user roles:', error);\r\n return of([]);\r\n })\r\n );\r\n }\r\n getUserDetailsWithUserName(\r\n userRoles: { orgId: string; orgName: string; roles: any[] }[]\r\n ): Observable<{ orgId: string; orgName: string; roles: any[] }[]> {\r\n const userRolesWithUserDetailsRequests: Observable<{\r\n orgId: string;\r\n orgName: string;\r\n roles: any[];\r\n }>[] = userRoles.map(\r\n (orgData: { orgId: string; orgName: string; roles: any[] }) => {\r\n const userDataRequests: Observable[] = orgData.roles.map(\r\n (userRole: any) =>\r\n this._httpClient\r\n .get(`${environment.apiUrl}/users/${userRole.user_id}`)\r\n .pipe(\r\n catchError((error) => {\r\n console.error('Error fetching user details:', error);\r\n return of(null); // Return null for failed requests\r\n })\r\n )\r\n );\r\n\r\n return forkJoin(userDataRequests).pipe(\r\n map((userDetails: any[]) => {\r\n const updatedRoles = orgData.roles.map((role, index) => {\r\n const userDetail = userDetails[index];\r\n return {\r\n ...role,\r\n username: userDetail ? userDetail.username : '',\r\n };\r\n });\r\n\r\n return {\r\n orgId: orgData.orgId,\r\n orgName: orgData.orgName,\r\n roles: updatedRoles,\r\n };\r\n })\r\n );\r\n }\r\n );\r\n\r\n return forkJoin(userRolesWithUserDetailsRequests);\r\n }\r\n getUserRolesWithOrgNames(\r\n userId: string\r\n ): Observable<{ orgId: string; orgName: string; roles: any[] }[]> {\r\n // Fetch organizations where admin_id matches userId\r\n return this._httpClient\r\n .get<{ _items: any[] }>(\r\n `${environment.apiUrl}/organizations?where=%7B%22admin_id%22%3A%22${userId}%22%7D&max_results=10000000`\r\n )\r\n .pipe(\r\n mergeMap((orgApiResponse: { _items: any[] }) => {\r\n if (Array.isArray(orgApiResponse._items)) {\r\n const orgsDataRequests: Observable<{\r\n orgId: string;\r\n orgName: string;\r\n roles: any[];\r\n }>[] = orgApiResponse._items.map((orgItem: any) => {\r\n // Fetch user roles based on organization ID\r\n return this._httpClient\r\n .get(\r\n `${environment.apiUrl}/user_roles?where=%7B%22organization_id%22%3A%22${orgItem._id}%22%7D&max_results=1000000`\r\n )\r\n .pipe(\r\n map((userRolesResponse: any) => ({\r\n orgId: orgItem._id,\r\n orgName: orgItem.name,\r\n roles: userRolesResponse._items || [],\r\n }))\r\n );\r\n });\r\n\r\n return forkJoin(orgsDataRequests);\r\n } else {\r\n console.error(\r\n 'Organizations API Response Error: Expected an array inside _items, but received:',\r\n orgApiResponse\r\n );\r\n return of([] as { orgId: string; orgName: string; roles: any[] }[]);\r\n }\r\n }),\r\n catchError((error) => {\r\n console.error('Error fetching Org data for User:', error);\r\n return of([] as { orgId: string; orgName: string; roles: any[] }[]);\r\n })\r\n );\r\n }\r\n\r\n getUserDetails(userId: any): Observable {\r\n return this._httpClient\r\n .get<{ userId: any; name: any }>(environment.apiUrl + `/users/${userId}?embedded=${encodeURIComponent('{\"bank_details\":1}')}`)\r\n .pipe(\r\n tap((response: any) => console.debug('UserDetails:', response)),\r\n catchError((error) => {\r\n if (error.status === 404) {\r\n // console.de(`User with ID ${userId} not found.`);\r\n return of(null); // Return null for 404 errors\r\n }\r\n console.error('Error fetching user details:', error);\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n acceptRequest(\r\n reqId: string,\r\n updateData: any,\r\n reqEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/user_roles/${reqId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': reqEtag,\r\n });\r\n return this._httpClient.patch(url, updateData, { headers });\r\n }\r\n updateBill(\r\n billId: string,\r\n updatedData: any,\r\n billEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/bills/${billId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': billEtag,\r\n });\r\n\r\n return this._httpClient.patch(url, updatedData, { headers });\r\n }\r\n\r\n updateBulkBill(\r\n updatedData: any,\r\n ): Observable {\r\n const url = `${environment.apiUrl}/bulk_update_bill_status`; \r\n return this._httpClient.patch(url, updatedData);\r\n }\r\n updateParticipants(\r\n updatedData: any,\r\n ): Observable {\r\n const url = `${environment.apiUrl}/update_trip_participants`; \r\n return this._httpClient.patch(url, updatedData);\r\n }\r\n\r\n updateBillStatus(\r\n billStatusId: string,\r\n updatedStatusData: any,\r\n billStatusEtag: string\r\n ): Observable{\r\n console.debug(billStatusId,\"::Etag\",billStatusEtag,\"::updateData:\",updatedStatusData)\r\n const url = `${environment.apiUrl}/bill_status/${billStatusId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': billStatusEtag,\r\n });\r\n return this._httpClient.patch(url, updatedStatusData, { headers });\r\n }\r\n updateUserDetail(\r\n userId: string,\r\n updatedData: any,\r\n userEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/users/${userId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': userEtag,\r\n });\r\n\r\n return this._httpClient.patch(url, updatedData, { headers });\r\n }\r\n\r\n updateBankDetails(\r\n bankId: string,\r\n updatedData: any,\r\n bankEtag: string\r\n ): Observable{\r\n const url = `${environment.apiUrl}/bank_details/${bankId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': bankEtag,\r\n });\r\n return this._httpClient.patch(url, updatedData, { headers });\r\n }\r\n\r\n addBankDetails(updateData:any): Observable{\r\n const url = `${environment.apiUrl}/bank_details`;\r\n return this._httpClient.post(url, updateData);\r\n }\r\n\r\n updateBillTrip(\r\n billId: string,\r\n updatedData: any,\r\n billEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/bills/${billId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': billEtag,\r\n });\r\n\r\n return this._httpClient.patch(url, updatedData, { headers });\r\n }\r\n updatePassDetail(\r\n updatedData: any\r\n ): Observable {\r\n const url = `${environment.apiUrl}/change-password`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n\r\n return this._httpClient.patch(url, updatedData, { headers });\r\n }\r\n requestUserRole(updatedData: any): Observable {\r\n const url = `${environment.apiUrl}/user_roles`;\r\n return this._httpClient.post(url, updatedData);\r\n }\r\n postUserUnderManager(updatedData: any): Observable{\r\n const url = `${environment.apiUrl}/user_managers`;\r\n return this._httpClient.post(url, updatedData);\r\n }\r\n\r\n postCategory(updatedData: any): Observable{\r\n const url = `${environment.apiUrl}/categories`;\r\n return this._httpClient.post(url, updatedData);\r\n }\r\n updateUserRole(updatedData: any): Observable {\r\n const url = `${environment.apiUrl}/update-roles`;\r\n return this._httpClient.patch(url, updatedData);\r\n }\r\n terminateRole(updatedData: any): Observable {\r\n const url = `${environment.apiUrl}/deactivate-employee`;\r\n return this._httpClient.patch(url, updatedData);\r\n }\r\n\r\n activateRole(updatedData: any): Observable {\r\n const url = `${environment.apiUrl}/activate-employee`;\r\n return this._httpClient.patch(url, updatedData);\r\n }\r\n deleteBill(billId: string, billEtag: string): Observable {\r\n const url = `${environment.apiUrl}/bills/${billId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': billEtag,\r\n });\r\n return this._httpClient.delete(url, { headers });\r\n }\r\n\r\n getImageUrlObservable(file: string): any {\r\n const apiUrl = environment.apiUrl + file;\r\n return apiUrl;\r\n }\r\n\r\n getBlockedDetails(user_id:string,org_id:string){\r\n const url = `${environment.apiUrl}/user_roles?where={\"user_id\":\"${user_id}\",\"organization_id\":\"${org_id}\"}&max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n getUserBills(userId: string, orgId: string): Observable {\r\n const url = `${environment.apiUrl}/bills?where={\"user_id\":\"${userId}\",\"organization_id\":\"${orgId}\"}&embedded={\"user_id\":1,\"trip_id\":1,\"organization_id\":1,\"category_id\":1,\"status\":1}&max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n getTripBills(tripId:string): Observable{\r\n const url = `${environment.apiUrl}/bills?where={\"trip_id\":\"${tripId}\"}&embedded={\"user_id\":1,\"trip_id\":1,\"organization_id\":1,\"category_id\":1,\"status\":1}&max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n \r\n getCurrencies(): Observable {\r\n const url = `${environment.apiUrl}/currencies`;\r\n return this._httpClient.get(url);\r\n }\r\n getParticularUserRole(userId: any): Observable {\r\n const url = `${environment.apiUrl}/user_roles?where=%7B%22user_id%22%3A%22${userId}%22%7D`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n getBillPaymentDetails(userId: any): Observable {\r\n const url = `${environment.apiUrl}/bill_payment?where={\"paid_by\":\"${userId}\"}&embedded={\"paid_by\":1,\"bill_id\":1,\"bill_id.user_id\":1}&max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n getNotificationsForUser(userId: any): Observable {\r\n const url = `${environment.apiUrl}/notifications?where={\"user_id\":\"${userId}\"}&embedded={\"user_id\":1,\"requesting_org\":1,\"request_send_to_user\":1}&max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n getUsers(): Observable {\r\n const url = `${environment.apiUrl}/users?max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n removeTripBill(\r\n billId: string,\r\n updatedData: any,\r\n ): Observable {\r\n const url = `${environment.apiUrl}/remove-trip`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n\r\n return this._httpClient.patch(url, updatedData, { headers });\r\n }\r\n\r\n\r\n getUserRoleForOrg(org_id:any){\r\n const url = `${environment.apiUrl}/user_roles?where=%7B%22organization_id%22%3A%22${org_id}%22%2C%22status%22%3A%22Allowed%22%7D&embedded={\"user_id\":1}`;\r\n return this._httpClient.get(url);\r\n }\r\n fetchRoleParticularOrg(user_id:string,org_id:string){\r\n const url = `${environment.apiUrl}/user_roles?where={\"user_id\":\"${user_id}\",\"organization_id\":\"${org_id}\",\"status\":\"Allowed\"}`\r\n ;\r\n return this._httpClient.get(url);\r\n }\r\n fetchEmpForMan(user_id:string,org_id:string){\r\n const url = `${environment.apiUrl}/user_managers?where={\"manager_id\":\"${user_id}\",\"organization_id\":\"${org_id}\"}&embedded={\"user_id\":1}`\r\n ;\r\n return this._httpClient.get(url);\r\n }\r\n fetchRoleParticularOrgNoUser(user_id:string,org_id:string){\r\n const url = `${environment.apiUrl}/user_roles?where={\"role\":\"Employee\",\"organization_id\":\"${org_id}\",\"status\":\"Allowed\",\"deactivate_role\":false}&embedded={\"user_id\":1}`\r\n ;\r\n return this._httpClient.get(url);\r\n }\r\n getOrgForUser(user_id:any){\r\n const url = `${environment.apiUrl}/user_roles/?where=%7B%22user_id%22%3A%22${user_id}%22%7D&embedded={\"organization_id\":1}`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n getCategories(){\r\n const url = `${environment.apiUrl}/categories?max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n getTrip(trip_id:any){\r\n const url = `${environment.apiUrl}/trips/${trip_id}?embedded={\"organization_id\":1}`;\r\n return this._httpClient.get(url);\r\n }\r\n updateTripDetail(\r\n tripId: string,\r\n updatedData: any,\r\n tripEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/trips/${tripId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': tripEtag,\r\n });\r\n\r\n return this._httpClient.patch(url, updatedData, { headers });\r\n }\r\n\r\n getOrgs(admin_id: any): Observable {\r\n const url = `${environment.apiUrl}/organizations/?where=%7B%22admin_id%22%3A%22${admin_id}%22%7D`;\r\n return this._httpClient.get(url);\r\n }\r\n getTrips(user_id: any): Observable {\r\n const url = `${environment.apiUrl}/trips/?where={\"created_by\":\"${user_id}\"}&embedded={\"org_id\":1,\"created_by\":1}`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n getAllTrips(): Observable {\r\n const url = `${environment.apiUrl}/trips?embedded={\"org_id\":1,\"created_by\":1}&max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n getBill(bill_id: any): Observable {\r\n const url = `${environment.apiUrl}/bills/${bill_id}?embedded={\"status\":1,\"status.Paid.payment_details\":1,\"status.Approved.by\":1,\"status.Paid.by\":1,\"status.Paid.by\":1,\"status.Rejected.by\":1,\"status.Review.by\":1,\"status.In-Progress.by\":1,\"status.Updated.by\":1}&max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n deleteTrips(\r\n tripId: string,\r\n tripEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/trips/${tripId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': tripEtag,\r\n });\r\n return this._httpClient.delete(url, { headers });\r\n }\r\n\r\n postTrips(updatedData: any): Observable {\r\n const url = `${environment.apiUrl}/trips`;\r\n return this._httpClient.post(url, updatedData);\r\n }\r\n getOrgInfo(org_id:string){\r\n const url = `${environment.apiUrl}/organizations/${org_id}`;\r\n return this._httpClient.get(url);\r\n }\r\n getAllOrgs(): Observable {\r\n const url = `${environment.apiUrl}/organizations?max_results=10000000`;\r\n return this._httpClient.get(url);\r\n }\r\n deleteRequest(\r\n reqId: string,\r\n reqEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/user_roles/${reqId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': reqEtag,\r\n });\r\n return this._httpClient.delete(url, { headers });\r\n }\r\n\r\n deleteEmpMan(\r\n reqId: string,\r\n reqEtag: string\r\n ): Observable {\r\n const url = `${environment.apiUrl}/user_managers/${reqId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': reqEtag,\r\n });\r\n return this._httpClient.delete(url, { headers });\r\n }\r\n deleteRole(reqId: string, reqEtag: string): Observable {\r\n const url = `${environment.apiUrl}/user_roles/${reqId}`;\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'If-Match': reqEtag,\r\n });\r\n return this._httpClient.delete(url, { headers });\r\n }\r\n\r\n getEtagForBill(billStatusId: string){\r\n const url = `${environment.apiUrl}/bill_status/${billStatusId}`;\r\n return this._httpClient.get(url);\r\n }\r\n\r\n getBillDetails(billId: string): Observable {\r\n return this._httpClient\r\n .get(environment.apiUrl + `/bills/${billId}?embedded={\"status\":1,\"organization_id\":1,\"trip_id\":1}`)\r\n .pipe(\r\n tap((response: any) => console.debug('BillDetails:', response)),\r\n switchMap((billDetails: any) => {\r\n // Fetch user details and category details in parallel\r\n return forkJoin({\r\n user: this.getUserDetails(billDetails.user_id),\r\n category: this.getBillCategoryDetails(billDetails.category_id),\r\n bill: of(billDetails), // Wrap billDetails in an observable for consistency\r\n });\r\n }),\r\n catchError((error) => {\r\n console.error('Error fetching bill details:', error);\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n getBillCategoryDetails(categoryId: any): Observable {\r\n return this._httpClient\r\n .get<{ categoryId: any; name: any }>(\r\n environment.apiUrl + `/categories/${categoryId}`\r\n )\r\n .pipe(\r\n tap((response: any) => console.debug('CategoryDetails:', response)),\r\n catchError((error) => {\r\n if (error.status === 404) {\r\n // console.warn(`Category with ID ${categoryId} not found.`);\r\n return of(null); // Return null for 404 errors\r\n }\r\n console.error('Error fetching category details:', error);\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n getUserIdFromLocal(): string {\r\n var storedResponse = localStorage.getItem('LoginResponse');\r\n if (storedResponse !== null) {\r\n var parsedResponse = JSON.parse(storedResponse);\r\n var userId = parsedResponse._items[0].user_id;\r\n console.debug(userId + ' localtorage');\r\n return userId;\r\n } else {\r\n console.error('Stored response is null');\r\n return '';\r\n }\r\n }\r\n\r\n uploadImage(updatePayment: any): Observable {\r\n const url = `${environment.apiUrl}/bill_payment`;\r\n return this._httpClient.post(url, updatePayment);\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserStateService {\r\n public rolesSubject = new BehaviorSubject([]);\r\n\r\n // Method to set roles\r\n setRoles(roles: string[]): void {\r\n this.rolesSubject.next(roles);\r\n }\r\n}","import { DialogModule } from '@angular/cdk/dialog';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { SharedValidationMessageComponent } from '../common/shared-validation-message/shared-validation-message.component';\r\n\r\n@Component({\r\n selector: 'app-export-component',\r\n standalone:true,\r\n imports:[\r\n CommonModule,\r\n SharedValidationMessageComponent,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n ReactiveFormsModule,\r\n MatSnackBarModule,\r\n HttpClientModule,\r\n MatInputModule,\r\n MatSnackBarModule,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n ],\r\n templateUrl: './export-component.component.html',\r\n styleUrls: ['./export-component.component.css']\r\n})\r\nexport class ExportComponentComponent {\r\n selectedFormat: 'csv' | 'xlsx' | 'pdf'= 'csv';\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n onCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onExport(): void {\r\n this.dialogRef.close(this.selectedFormat);\r\n }\r\n}\r\n","

Select Export Format

\r\n\r\n \r\n Export Format\r\n \r\n CSV\r\n Excel\r\n PDF\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n","import { Component, inject, OnInit, ViewChild } from '@angular/core';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { map, shareReplay, takeUntil } from 'rxjs/operators';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\nimport { DataService } from 'src/app/expense/receipt/data.service';\r\nimport { UserStateService } from 'src/app/expense/receipt/detail/userState.service';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { HeadlineService } from 'src/app/common/services/headline.service';\r\n\r\n@Component({\r\n selector: 'app-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.css'],\r\n})\r\nexport class ToolbarComponent implements OnInit {\r\n @ViewChild('drawer') sidenav!: MatSidenav;\r\n isExpanded = true;\r\n notificationPanelOpen: boolean = false;\r\n showSubmenu: boolean = false;\r\n isShowing = false;\r\n showSubSubMenu: boolean = false;\r\n name = '';\r\n toolbarHeadline=''\r\n userRoles: any[] = [];\r\n roleEmp:any[]=[];\r\n isSubListVisible = false;\r\n roles: { role: string }[] = [];\r\n isSideNavOpened = false;\r\n isHandset$: Observable;\r\n menuButton:boolean=false\r\n @ViewChild('drawer') drawer: MatSidenav | undefined;\r\n private destroyed$ = new Subject();\r\n constructor(\r\n private ds: DataService,\r\n private headlineService: HeadlineService,\r\n private userStateService: UserStateService,\r\n private breakpointObserver: BreakpointObserver,\r\n private router:Router,\r\n ) {\r\n const loginResponse = localStorage.getItem('userNameLogin');\r\n if (loginResponse !== null) {\r\n this.name = loginResponse;\r\n }\r\n this.isHandset$ = this.breakpointObserver\r\n .observe(Breakpoints.Handset)\r\n .pipe(\r\n map((result) => result.matches),\r\n shareReplay()\r\n );\r\n }\r\n \r\n ngOnInit(): void {\r\n this.headlineService.headline.subscribe(headline => {\r\n this.toolbarHeadline = headline;\r\n });\r\n this.name = localStorage.getItem('userNameLogin') || '';\r\n this.getUserRole();\r\n this.userStateService.rolesSubject.pipe(map(roles=>{\r\n return roles.map(x=>{return {role:x}})\r\n })).subscribe((roles) => {\r\n if(roles){\r\n this.roles = roles;\r\n // Log roles for debugging\r\n console.debug('Roles updated in ToolbarComponent:', roles);\r\n }\r\n });\r\n this.router.events.pipe(takeUntil(this.destroyed$)).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const isUserLoginRoute = this.router.isActive('/login', true);\r\n const isUserAssignRoute = this.router.isActive('/userassign', true);\r\n const isUserOrgRoute = this.router.isActive('/organization', true);\r\n const isUserJoinRoute = this.router.isActive('/register', true);\r\n const isUserScanRoute = this.router.isActive('/scaned-receipts', true);\r\n const isUserLogOutRoute = this.router.isActive('/logout', true);\r\n const isAboutRoute = this.router.isActive('/about', true);\r\n if ((isUserLoginRoute || isUserAssignRoute || isUserOrgRoute || isUserJoinRoute || isUserScanRoute || isUserLogOutRoute || isAboutRoute) && this.drawer) {\r\n this.drawer.close();\r\n }\r\n }\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n toggleNotificationPanel() {\r\n // Toggle the visibility of the notification panel\r\n this.notificationPanelOpen = !this.notificationPanelOpen;\r\n }\r\n \r\ntoggleSubList(): void {\r\n this.isSubListVisible = !this.isSubListVisible;\r\n}\r\n closeSidenav(): void {\r\n if (this.drawer) {\r\n this.drawer.close();\r\n this.isSideNavOpened=false;\r\n // this.toggleSubList();\r\n }\r\n }\r\n isLoggedIn(): boolean {\r\n return !!localStorage.getItem('currentUser');\r\n }\r\n toggleSideNav() {\r\n this.isSideNavOpened = !this.isSideNavOpened;\r\n this.menuButton = !this.isSideNavOpened;\r\n }\r\n getUserIdFromLocal(): string {\r\n const storedResponse = localStorage.getItem('LoginResponse');\r\n if (storedResponse !== null) {\r\n const parsedResponse = JSON.parse(storedResponse);\r\n return parsedResponse._items[0].user_id;\r\n } else {\r\n console.error('Stored response is null');\r\n return '';\r\n }\r\n }\r\n isOrganizationLinkVisible(): boolean {\r\n return this.isLoggedIn() && (this.hasRole('OrganizationAdmin') || this.hasRole('SuperAdmin') || this.hasNoRole() || this.hasEmpRole('Employee'));\r\n }\r\n \r\n hasNoRole(): boolean {\r\n return this.isLoggedIn() && this.roles.length === 0;\r\n }\r\n\r\n isScannedReceiptsLinkVisible(): boolean {\r\n return (\r\n this.isLoggedIn() &&\r\n (\r\n this.hasRole('Manager') ||\r\n this.hasRole('Employee') ||\r\n this.hasRole('Accountant') ||\r\n this.hasRole('SuperAdmin') ||\r\n (this.hasRole('OrganizationAdmin') && !this.hasOnlyOrganizationAdminRole())\r\n )\r\n );\r\n }\r\n\r\n hasOnlyOrganizationAdminRole(): boolean {\r\n return this.roles.length === 1 && this.roles[0].role === 'OrganizationAdmin';\r\n }\r\n \r\n hasRole(targetRole: string): boolean {\r\n return this.isLoggedIn() && this.roles.some((role) => role.role === targetRole);\r\n }\r\n hasEmpRole(targetRole: string): boolean {\r\n return this.isLoggedIn() && this.roleEmp.some((role) => role.role === targetRole && role.status===\"Blocked\");\r\n }\r\n getUserNameFromLocal(): string {\r\n const storedResponse = localStorage.getItem('LoginResponse');\r\n if (storedResponse !== null) {\r\n const parsedResponse = JSON.parse(storedResponse);\r\n return parsedResponse._items[0].name;\r\n } else {\r\n console.error('Stored response is null');\r\n return '';\r\n }\r\n }\r\n mouseenter() {\r\n if (!this.isExpanded) {\r\n this.isShowing = true;\r\n }\r\n }\r\n\r\n mouseleave() {\r\n if (!this.isExpanded) {\r\n this.isShowing = false;\r\n }\r\n }\r\n\r\n getUserRole(): void {\r\n this.ds.getParticularUserRole(this.getUserIdFromLocal()).subscribe(\r\n (response: any) => {\r\n this.roles = response._items;\r\n this.roleEmp=response._items;\r\n console.debug(\"'''''\",response._items);\r\n },\r\n (error) => {\r\n console.error('Error fetching Role:', error);\r\n }\r\n );\r\n }\r\n}\r\n\r\n","\r\n\r\n \r\n \r\n \r\n {{name}}\r\n\r\n \r\n \r\n \r\n close\r\n \r\n \r\n\r\n\r\n \r\n
\r\n person\r\n Profile\r\n
\r\n\r\n
\r\n login\r\n Login\r\n
\r\n\r\n
\r\n account_box\r\n Register\r\n
\r\n\r\n
\r\n receipt\r\n Scanned Receipts\r\n
\r\n\r\n\r\n
\r\n business\r\n Organization\r\n
\r\n\r\n
\r\n map\r\n Trip\r\n
\r\n\r\n
\r\n {{ isSubListVisible ? 'expand_more':'chevron_right'\r\n }}\r\n \r\n Requests\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n apartment\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n manage_accounts\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n logout\r\n Logout\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n\r\n \r\n \r\n {{ toolbarHeadline }}\r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n RollingExpenses\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { CommonModule } from '@angular/common';\r\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTabChangeEvent, MatTabsModule } from '@angular/material/tabs';\r\nimport { UserStateService } from '../expense/receipt/detail/userState.service';\r\nimport { map } from 'rxjs';\r\nimport { DataService } from '../expense/receipt/data.service';\r\n\r\n@Component({\r\n selector: 'app-notification-panel-component',\r\n standalone: true,\r\n imports: [\r\n NotificationPanelComponentComponent,\r\n CommonModule,\r\n MatCardModule,\r\n MatTabsModule,\r\n MatIconModule,\r\n ],\r\n templateUrl: './notification-panel-component.component.html',\r\n styleUrls: ['./notification-panel-component.component.css'],\r\n})\r\nexport class NotificationPanelComponentComponent {\r\n @Input() isOpen: boolean = false;\r\n messages: any[] = [];\r\n userMessage: any[] = [];\r\n orgMessage: any[] = [];\r\n maxMessagesToShow: number = 5;\r\n userMessagesCount: number = 0;\r\n orgMessagesCount: number = 0;\r\n\r\n @ViewChild('contentUser') contentUser!: ElementRef;\r\n @ViewChild('contentOrg') contentOrg!: ElementRef;\r\n\r\n selectedTab: string = 'user';\r\n constructor(\r\n private userStateService: UserStateService,\r\n private ds: DataService\r\n ) {}\r\n roles: { role: string }[] = [];\r\n\r\n async ngOnInit(): Promise {\r\n this.getAllNotification(this.getUserIdFromLocal());\r\n this.getUserRole();\r\n this.userStateService.rolesSubject\r\n .pipe(\r\n map((roles) => {\r\n return roles.map((x) => {\r\n return { role: x };\r\n });\r\n })\r\n )\r\n .subscribe((roles) => {\r\n if (roles) {\r\n this.roles = roles;\r\n // Log roles for debugging\r\n console.debug('Roles updated in notification:', roles);\r\n }\r\n });\r\n \r\n console.debug('Notification Panel is initialized. isOpen:', this.isOpen);\r\n }\r\n \r\n switchTab(event: MatTabChangeEvent): void {\r\n console.debug('debug', event.tab.textLabel.toLowerCase());\r\n this.selectedTab = event.tab.textLabel.toLowerCase();\r\n this.loadDataForTab(this.selectedTab)\r\n }\r\n getUserRole(): void {\r\n this.ds.getParticularUserRole(this.getUserIdFromLocal()).subscribe(\r\n (response: any) => {\r\n this.roles = response._items;\r\n console.debug(\"'''''\", response._items);\r\n },\r\n (error) => {\r\n console.error('Error fetching Role:', error);\r\n }\r\n );\r\n }\r\n\r\n async loadDataForTab(tab: string): Promise {\r\n console.debug(tab, 'tabbb');\r\n\r\n if (tab === 'user') {\r\n console.debug('hello');\r\n this.userMessage = this.messages.filter(x => x.request_send_to_org);\r\n console.debug(this.userMessage, \"this.UserMessages\");\r\n } else if (tab === 'org') {\r\n this.orgMessage = this.messages.filter(x => x.request_send_to_user);\r\n console.debug(this.orgMessage, \"this.orgMessages\");\r\n }\r\n}\r\n\r\n async getAllNotification(userId: string): Promise {\r\n console.debug(userId);\r\n this.ds.getNotificationsForUser(userId).subscribe((response: any) => {\r\n console.debug('notification:::', response._items);\r\n this.messages=response._items\r\n this.loadDataForTab(this.selectedTab);\r\n });\r\n }\r\n getUserIdFromLocal(): string {\r\n const storedResponse = localStorage.getItem('LoginResponse');\r\n if (storedResponse !== null) {\r\n const parsedResponse = JSON.parse(storedResponse);\r\n return parsedResponse._items[0].user_id;\r\n } else {\r\n console.error('Stored response is null');\r\n return '';\r\n }\r\n }\r\n isLoggedIn(): boolean {\r\n return !!localStorage.getItem('currentUser');\r\n }\r\n hasRole(targetRole: string): boolean {\r\n console.debug('rolesss:::', this.roles);\r\n return (\r\n this.isLoggedIn() && this.roles.some((role) => role.role === targetRole)\r\n );\r\n }\r\n close() {\r\n this.isOpen = !this.isOpen;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n

Notifications

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n person\r\n \r\n \r\n
\r\n \r\n No new notifications.\r\n \r\n
\r\n
\r\n \r\n \r\n {{ i + 1 }}.\r\n {{message.requesting_org.name}} Organization has {{ message.requestStatus }} your request.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n business\r\n \r\n \r\n
\r\n \r\n No new notifications.\r\n \r\n
\r\n
\r\n {{ i + 1 }}.\r\n User:{{ message.request_send_to_user.username }} has {{ message.requestStatus }} your request for {{ message.requesting_org.name }} Organization.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { Observable, map } from 'rxjs';\r\n\r\n@Pipe({\r\n name: 'secure',standalone:true\r\n})\r\nexport class SecurePipe implements PipeTransform {\r\n\r\n constructor(private http: HttpClient, private sanitizer: DomSanitizer) { }\r\n\r\n transform(url:string): Observable {\r\n return this.http\r\n .get(url, { responseType: 'blob' }).pipe(\r\n map(val => this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(val)))\r\n )\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable, of, tap, throwError } from 'rxjs';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ResponseInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private _snackBar: MatSnackBar,\r\n ) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(\r\n tap({\r\n next: (event) => {\r\n return event;\r\n },\r\n error: (error) => {\r\n console.debug(error)\r\n console.debug(error)\r\n if (error instanceof HttpErrorResponse) {\r\n if (error.status === 404) {\r\n // Handle 404 errors separately (you can choose to do nothing or debug it)\r\n console.warn('HTTP 404 Error:', error);\r\n return of(null); // Return an observable to continue the stream without propagating the error\r\n }\r\n if (error.status === 401) {\r\n if(error.error._error.message===\"Login failed\"){\r\n this._snackBar.open(\"Incorrect Username or Password!!\", 'Close', {\r\n duration: 5000,\r\n });\r\n console.warn('HTTP 401 Error:', error);\r\n return of(null); \r\n }\r\n console.warn('HTTP 401 Error:', error);\r\n window.location.href=\"/logout\";\r\n this._snackBar.open(\"You Changed Password Using Mobile App,Please Relogin First!!!\", 'Close', {\r\n duration: 7000,\r\n });\r\n return of(null); \r\n }\r\n if (error.status === 422) {\r\n if(error.error._issues.email_address!=undefined)\r\n this._snackBar.open(error.error._issues?.email_address, 'Close', {\r\n duration: 5000,\r\n });\r\n if(error.error._issues.username!=undefined)\r\n this._snackBar.open(error.error._issues?.username, 'Close', {\r\n duration: 5000,\r\n }); \r\n if(error.error._issues.phone_number!=undefined)\r\n this._snackBar.open(error.error._issues?.phone_number, 'Close', {\r\n duration: 5000,\r\n }); \r\n console.error(error.error._issues)\r\n return of(null); \r\n }\r\n if (\r\n error &&\r\n error.error &&\r\n error.error._status &&\r\n String(error.error._status).toLowerCase() === 'error' &&\r\n error.error._error &&\r\n error.error._error.message &&\r\n error.error._error.message.length > 0\r\n ) {\r\n if (Array.isArray(error.error._error.message) === true) {\r\n this._snackBar.open('ERROR: ' + error.error._error.message[1], error.error._error.message[0]);\r\n } else {\r\n this._snackBar.open('ERROR: ' + error.error._error.message, '');\r\n }\r\n } else if (\r\n error &&\r\n error.error &&\r\n error.error._status &&\r\n String(error.error._status).toLowerCase() === 'err' &&\r\n error.error._issues\r\n ) {\r\n this._snackBar.open('ERROR: ' + JSON.stringify(error.error._issues), '');\r\n } else if (\r\n error &&\r\n error.ok === false\r\n ) {\r\n this._snackBar.open('ERROR: ' + JSON.stringify(error.message), '');\r\n } else {\r\n this._snackBar.open('ERROR: ' + JSON.stringify(error), '');\r\n }\r\n }\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n development: false,\r\n test:false,\r\n // apiUrl: 'http://rollingexpenses.com:9002',\r\n apiUrl: 'http://rollingexpenses.com:9002',\r\n ANGULAR_ENV: '${MY_DOCKER_ENV}',\r\n};\r\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\n\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"names":["RouterModule","authGuard","AssignBiilsTripComponent","ArchiveTripComponent","routes","path","pathMatch","redirectTo","loadComponent","then","m","WelcomeComponent","LoginComponent","LogoutComponent","JoinComponent","ForgotPasswordComponent","PrivacyPolicyComponent","ResetPasswordComponent","ReceiptComponent","canActivate","OrganizationComponent","UserassignComponent","DetailComponent","AboutComponent","ShowRequestComponent","OrgshowRequestComponent","OrganizationMaintainComponent","EmphirarchyComponent","AboutUsComponent","TripComponent","AppRoutingModule","forRoot","imports","i1","exports","AppComponent","constructor","loadingService","title","i0","ɵɵdirectiveInject","LoadingService","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵproperty","BrowserModule","BrowserAnimationsModule","ToolbarComponent","MatToolbarModule","MatButtonModule","MatSidenavModule","MatIconModule","MatListModule","MAT_SNACK_BAR_DEFAULT_OPTIONS","MatSnackBarModule","HTTP_INTERCEPTORS","ResponseInterceptor","BasicAuthInterceptor","MAT_FORM_FIELD_DEFAULT_OPTIONS","MatFormFieldModule","HttpClientModule","MatProgressSpinnerModule","MatSelectModule","MatDatepickerModule","MatDialogModule","MatInputModule","MatMenuModule","MatTooltipModule","MatAutocompleteModule","MatTabsModule","CacheInterceptor","DatePipe","NotificationPanelComponentComponent","MatNativeDateModule","SocketIoModule","socketConfig","SocketService","NgxSpinnerModule","AppModule","bootstrap","provide","useClass","multi","useValue","subscriptSizing","duration","declarations","provideNativeDateAdapter","Error","CommonModule","ReactiveFormsModule","MatCardModule","MatPaginator","MatPaginatorModule","MatSortModule","MatTableDataSource","MatTableModule","ɵɵadvance","ɵɵtextInterpolate","i_r21","element_r22","trip_name","element_r23","org_id","name","element_r24","created_by","ɵɵpipeBind2","element_r25","trip_start","element_r26","trip_end","ɵɵpureFunction1","_c0","element_r27","ɵɵtextInterpolate1","ctx_r13","calculateTripDuration","element_r28","description","ɵɵlistener","ArchiveTripComponent_mat_cell_29_Template_mat_icon_click_1_listener","$event","restoredCtx","ɵɵrestoreView","_r31","element_r29","$implicit","ctx_r30","ɵɵnextContext","ɵɵresetView","unArchive","_id","_etag","ds","fb","headlineService","sharedValidationService","_snackBar","datePipe","_httpClient","router","route","ngxService","snackBar","sanitizationService","dialog","displayedColumns","trips","loadingBlur","shouldShowPaginator","ngOnInit","_this","_asyncToGenerator","isLoggedIn","setHeadline","loadTrips","open","navigate","formatDate","date","transform","Date","event","id","etag","stopPropagation","trip","data","find","console","debug","tripData","archive","updateTripDetail","subscribe","res","_status","String","toLowerCase","_success","message","error","_this2","Promise","resolve","reject","show","getTrips","getUserIdFromLocal","_items","filter","x","length","paginator","hide","storedResponse","localStorage","getItem","parsedResponse","JSON","parse","userId","user_id","startDate","endDate","start","end","Math","abs","getTime","days","ceil","assignBillToTrip","tripId","queryParams","DataService","i2","FormBuilder","i3","HeadlineService","i4","SharedValidationService","i5","MatSnackBar","i6","i7","HttpClient","i8","Router","ActivatedRoute","i9","NgxSpinnerService","i10","DomSanitizer","i11","MatDialog","viewQuery","ArchiveTripComponent_Query","ɵɵelementContainerStart","ɵɵtemplate","ArchiveTripComponent_mat_header_cell_4_Template","ArchiveTripComponent_mat_cell_5_Template","ɵɵelementContainerEnd","ArchiveTripComponent_mat_header_cell_7_Template","ArchiveTripComponent_mat_cell_8_Template","ArchiveTripComponent_mat_header_cell_10_Template","ArchiveTripComponent_mat_cell_11_Template","ArchiveTripComponent_mat_header_cell_13_Template","ArchiveTripComponent_mat_cell_14_Template","ArchiveTripComponent_mat_header_cell_16_Template","ArchiveTripComponent_mat_cell_17_Template","ArchiveTripComponent_mat_header_cell_19_Template","ArchiveTripComponent_mat_cell_20_Template","ArchiveTripComponent_mat_header_cell_22_Template","ArchiveTripComponent_mat_cell_23_Template","ArchiveTripComponent_mat_header_cell_25_Template","ArchiveTripComponent_mat_cell_26_Template","ArchiveTripComponent_mat_header_cell_28_Template","ArchiveTripComponent_mat_cell_29_Template","ArchiveTripComponent_mat_header_row_30_Template","ArchiveTripComponent_mat_row_31_Template","ɵɵpureFunction0","_c1","NgStyle","i12","MatCard","i13","MatIcon","i14","MatTable","MatHeaderCellDef","MatHeaderRowDef","MatColumnDef","MatCellDef","MatRowDef","MatHeaderCell","MatCell","MatHeaderRow","MatRow","i15","styles","MatSort","SecurePipe","environment","AssignbillComponent","Chart","ExportComponentComponent","AssignBiilsTripComponent_mat_card_11_mat_icon_19_Template_mat_icon_click_0_listener","_r9","element_r4","ctx_r7","removeBillFromTrip","AssignBiilsTripComponent_mat_card_11_Template_mat_card_click_0_listener","_r11","ctx_r10","showDetails","AssignBiilsTripComponent_mat_card_11_mat_spinner_14_Template","AssignBiilsTripComponent_mat_card_11_Template_img_load_15_listener","ctx_r12","imageLoadedFor","AssignBiilsTripComponent_mat_card_11_mat_icon_19_Template","category_id","amount_info","value","ctx_r1","getLatestStatus","imageLoaded","ɵɵpipeBind1","getImageUrlObservable","bill_image","file","ɵɵsanitizeUrl","exportService","selectedTab","orgId","selectedTabIndex","headers","subscriptions","dataSource","showTable","loading","snapshot","params","loadData","openBillAdd","closeAll","switchTab","tab","textLabel","loadDataForTab","dataForPieChart","getDataForPieChart","generatePieChart","items","statuses","map","status","totalAmount","element","isNaN","Number","reduce","acc","amount","label","canvas","document","getElementById","getContext","type","labels","item","datasets","backgroundColor","borderWidth","options","responsive","maintainAspectRatio","plugins","legend","generateLabels","chart","index","text","fillStyle","hidden","billId","billEtag","updatedData","bill_id","removeTripBill","updateBillStatus","billStatus","anyApprovedOrPaid","anyRejected","allPaid","forEach","latestStatus","apiUrl","ngOnDestroy","sub","unsubscribe","applyFilter","filterValue","target","trim","firstPage","showReceiptList","_this3","response","getTripBills","toPromise","elementId","latestDate","key","hasOwnProperty","dialogRef","width","height","trip_id","afterClosed","result","row","page","calculateTotalAmount","toFixed","openExportFormatDialog","disableClose","exportData","format","transformedData","transformData","exportToCsv","exportToXlsx","Bill_Name","Created_By","Trip_Name","Category","Date_on_bill","Time_on_bill","Amount","Organization","Status","Phone","exportToPdf","date_info","time_info","organization_id","phone_info","ExportService","AssignBiilsTripComponent_Query","AssignBiilsTripComponent_Template_button_click_2_listener","AssignBiilsTripComponent_Template_mat_tab_group_selectedTabChange_7_listener","AssignBiilsTripComponent_ng_template_9_Template","AssignBiilsTripComponent_mat_card_11_Template","AssignBiilsTripComponent_ng_template_13_Template","AssignBiilsTripComponent_div_14_Template","AssignBiilsTripComponent_Template_button_click_15_listener","NgForOf","NgIf","AsyncPipe","MatCardContent","MatCardHeader","MatCardTitle","MatTabLabel","MatTab","MatTabGroup","MatProgressSpinner","MatTooltip","Validators","FormsModule","HttpHeaders","MatOptionModule","MAT_DIALOG_DATA","bill_r3","userStateService","httpOptions","bills","filteredBills","selectedBill","bill_etag","mainForm","group","required","loadBills","onSubmit","tripAssign","updateBillTrip","close","filterBill","bill","includes","onBillSelected","option","undefined","handleAddUserError","_error","code","getUserBills","onNoClick","MatDialogRef","UserStateService","standalone","features","ɵɵStandaloneFeature","AssignbillComponent_Template","AssignbillComponent_mat_spinner_0_Template","AssignbillComponent_Template_form_ngSubmit_3_listener","AssignbillComponent_Template_input_ngModelChange_9_listener","AssignbillComponent_Template_input_input_9_listener","AssignbillComponent_Template_mat_autocomplete_optionSelected_10_listener","AssignbillComponent_mat_option_12_Template","AssignbillComponent_Template_a_click_14_listener","_r1","MatFormField","MatLabel","MatInput","MatAnchor","MatButton","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","RequiredValidator","FormGroupDirective","MatOption","MatAutocomplete","MatAutocompleteTrigger","NgModel","state","url","intercept","request","next","userRecord","currentUser","username","password","clone","setHeaders","Authorization","btoa","handle","factory","ɵfac","req","clonedRequest","set","toString","transports","autoConnect","AngularCsv","XLSX","FileSaver","jsPDF","autoTable","filename","rows","header","fieldSeparator","quoteStrings","decimalseparator","showLabels","showTitle","useBom","noDownload","title1","worksheet","utils","json_to_sheet","workbook","Sheets","SheetNames","sheet_add_aoa","origin","emptyRow","sheet_add_json","skipHeader","_","colIndex","cellAddress","encode_cell","c","r","s","font","bold","push","e","titleCell","alignment","horizontal","excelBuffer","write","bookType","saveAsExcelFile","buffer","fileName","Blob","EXCEL_TYPE","saveAs","EXCEL_EXTENSION","dataNew","doc","log","setFontSize","internal","pageSize","getWidth","align","pageWidth","tableWidth","columnCount","cellWidth","head","body","startY","headStyles","fillColor","textColor","fontStyle","fontSize","cellPadding","margin","top","columnStyles","save","providedIn","BehaviorSubject","headlineSource","headline","asObservable","isLoading","socket","connect","ioSocket","io","opts","query","on","alert","disconnect","ɵɵinject","Socket","config","stateCodes","getValidatorErrorMessage","validatorName","validatorValue","propertyName","minlength","requiredLength","maxlength","min","max","passwordMismatch","invalidEmailAddress","invalidWebsiteUrl","invalidCityPinCode","NOT_SELECTED","phone_number_already_exist","validatePan","validateDL","checkFileType","validateAdhar","validateFssai","validateGst","company_name_already_exist","validateRC","invalidPassword","matchPassword","control","passwordControl","get","confirmPasswordControl","errors","setErrors","emailValidator","match","ifscValidator","invalidIfsc","websiteValidator","validateWebsite","website","re","test","pinCodeValidator","rcNumberValidator","slice","toUpperCase","passwordValidator","nameValidator","namePattern","emptyName","invalidCharacters","tripNameValidator","accountNumberValidator","accountRegex","invalidAccountNumber","categoryNameValidator","categoryRegex","invalidCategoryName","phoneNumberValidator","phoneRegex","invalidPhoneNumber","throwError","forkJoin","of","catchError","mergeMap","tap","switchMap","detailRecord","category","createdBy","imageUrl","setRecord","getRecord","getMineBills","loggedInUserId","baseUrl","encodeURIComponent","stringify","getManagerBills","URLSearchParams","manager_id","embedded","max_results","getAccountantBills","accountant_id","getUserRoles","pipe","apiResponse","allowedRoles","role","checkUserRoles","roles","Array","isArray","organizationIds","organizationRequests","organizationsResponse","organizations","rolesWithOrgNames","organization","org","organization_name","getUserDetailsWithUserName","userRoles","userRolesWithUserDetailsRequests","orgData","userDataRequests","userRole","userDetails","updatedRoles","userDetail","orgName","getUserRolesWithOrgNames","orgApiResponse","orgsDataRequests","orgItem","userRolesResponse","getUserDetails","acceptRequest","reqId","updateData","reqEtag","patch","updateBill","updateBulkBill","updateParticipants","billStatusId","updatedStatusData","billStatusEtag","updateUserDetail","userEtag","updateBankDetails","bankId","bankEtag","addBankDetails","post","updatePassDetail","requestUserRole","postUserUnderManager","postCategory","updateUserRole","terminateRole","activateRole","deleteBill","delete","getBlockedDetails","getCurrencies","getParticularUserRole","getBillPaymentDetails","getNotificationsForUser","getUsers","getUserRoleForOrg","fetchRoleParticularOrg","fetchEmpForMan","fetchRoleParticularOrgNoUser","getOrgForUser","getCategories","getTrip","tripEtag","getOrgs","admin_id","getAllTrips","getBill","deleteTrips","postTrips","getOrgInfo","getAllOrgs","deleteRequest","deleteEmpMan","deleteRole","getEtagForBill","getBillDetails","billDetails","user","getBillCategoryDetails","categoryId","uploadImage","updatePayment","rolesSubject","setRoles","selectedFormat","onCancel","onExport","ExportComponentComponent_Template","ExportComponentComponent_Template_mat_select_valueChange_6_listener","ExportComponentComponent_Template_button_click_14_listener","ExportComponentComponent_Template_button_click_16_listener","MatDialogTitle","MatDialogContent","MatDialogActions","MatSelect","Breakpoints","Subject","shareReplay","takeUntil","NavigationEnd","ToolbarComponent_span_6_Template_span_click_0_listener","_r14","closeSidenav","ɵɵpropertyInterpolate","ToolbarComponent_div_11_Template_div_click_0_listener","_r16","ctx_r15","ToolbarComponent_div_12_Template_div_click_0_listener","_r18","ctx_r17","ToolbarComponent_div_13_Template_div_click_0_listener","_r20","ctx_r19","ToolbarComponent_div_14_Template_div_click_0_listener","_r22","ctx_r21","ToolbarComponent_div_15_Template_div_click_0_listener","_r24","ctx_r23","ToolbarComponent_div_16_Template_div_click_0_listener","_r26","ctx_r25","ToolbarComponent_div_17_Template_div_click_0_listener","_r28","ctx_r27","toggleSubList","ctx_r8","isSubListVisible","ToolbarComponent_div_18_div_2_Template_div_click_0_listener","ToolbarComponent_div_18_div_2_Template","ToolbarComponent_div_18_Template_div_click_3_listener","_r33","ctx_r32","ctx_r9","hasRole","ToolbarComponent_div_19_Template_div_click_0_listener","_r35","ctx_r34","ToolbarComponent_button_22_Template_button_click_0_listener","_r37","ctx_r36","toggleSideNav","ToolbarComponent_button_30_Template_button_click_0_listener","_r39","ctx_r38","toggleNotificationPanel","breakpointObserver","isExpanded","notificationPanelOpen","showSubmenu","isShowing","showSubSubMenu","toolbarHeadline","roleEmp","isSideNavOpened","menuButton","destroyed$","loginResponse","isHandset$","observe","Handset","matches","getUserRole","events","isUserLoginRoute","isActive","isUserAssignRoute","isUserOrgRoute","isUserJoinRoute","isUserScanRoute","isUserLogOutRoute","isAboutRoute","drawer","complete","isOrganizationLinkVisible","hasNoRole","hasEmpRole","isScannedReceiptsLinkVisible","hasOnlyOrganizationAdminRole","targetRole","some","getUserNameFromLocal","mouseenter","mouseleave","BreakpointObserver","ToolbarComponent_Query","ToolbarComponent_Template_mat_sidenav_mouseenter_1_listener","ToolbarComponent_Template_mat_sidenav_mouseleave_1_listener","ToolbarComponent_span_6_Template","ToolbarComponent_Template_a_click_7_listener","ToolbarComponent_div_11_Template","ToolbarComponent_div_12_Template","ToolbarComponent_div_13_Template","ToolbarComponent_div_14_Template","ToolbarComponent_div_15_Template","ToolbarComponent_div_16_Template","ToolbarComponent_div_17_Template","ToolbarComponent_div_18_Template","ToolbarComponent_div_19_Template","ToolbarComponent_button_22_Template","ToolbarComponent_button_30_Template","ɵɵattribute","i_r6","ɵɵtextInterpolate2","message_r5","requesting_org","requestStatus","i_r11","ɵɵtextInterpolate3","message_r10","request_send_to_user","NotificationPanelComponentComponent_div_0_mat_tab_12_ng_template_1_Template","NotificationPanelComponentComponent_div_0_mat_tab_12_span_3_Template","NotificationPanelComponentComponent_div_0_mat_tab_12_div_4_Template","ctx_r4","orgMessage","NotificationPanelComponentComponent_div_0_Template_mat_tab_group_selectedTabChange_6_listener","_r13","NotificationPanelComponentComponent_div_0_ng_template_8_Template","NotificationPanelComponentComponent_div_0_span_10_Template","NotificationPanelComponentComponent_div_0_div_11_Template","NotificationPanelComponentComponent_div_0_mat_tab_12_Template","ctx_r0","userMessage","isOpen","messages","maxMessagesToShow","userMessagesCount","orgMessagesCount","getAllNotification","request_send_to_org","NotificationPanelComponentComponent_Query","NotificationPanelComponentComponent_div_0_Template","http","sanitizer","responseType","val","bypassSecurityTrustUrl","URL","createObjectURL","pure","HttpErrorResponse","warn","window","location","href","_issues","email_address","phone_number","ok","production","development","ANGULAR_ENV","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}