{"version":3,"file":"main.31e4bed6d8e7b27c.js","mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnSA","sources":["./src/app/admin/admin-routing.module.ts","./src/app/admin/admin.component.ts","./src/app/admin/admin.component.html","./src/app/admin/admin.module.ts","./src/app/admin/edit-role-dialog/edit-role-dialog.component.ts","./src/app/admin/edit-role-dialog/edit-role-dialog.component.html","./src/app/admin/edit-user-dialog/edit-user-dialog.component.ts","./src/app/admin/edit-user-dialog/edit-user-dialog.component.html","./src/app/admin/role-editor/role-editor.component.ts","./src/app/admin/role-editor/role-editor.component.html","./src/app/admin/role-list/role-list.component.ts","./src/app/admin/role-list/role-list.component.html","./src/app/admin/user-editor/user-editor.component.ts","./src/app/admin/user-editor/user-editor.component.html","./src/app/admin/user-list/user-list.component.ts","./src/app/admin/user-list/user-list.component.html","./src/app/app-error.handler.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/about/about.component.ts","./src/app/components/about/about.component.html","./src/app/components/auth-callback/auth-callback.component.ts","./src/app/components/auth-callback/auth-callback.component.html","./src/app/components/car-insurance-offers/car-insurance-offers.component.ts","./src/app/components/car-insurance-offers/car-insurance-offers.component.html","./src/app/components/car-insurance-order/car-insurance-order.component.ts","./src/app/components/car-insurance-order/car-insurance-order.component.html","./src/app/components/car-insurance-paid/car-insurance-paid.component.ts","./src/app/components/car-insurance-paid/car-insurance-paid.component.html","./src/app/components/car-insurance/car-insurance.component.ts","./src/app/components/car-insurance/car-insurance.component.html","./src/app/components/confirm-delete-account/confirm-delete-account.component.ts","./src/app/components/confirm-delete-account/confirm-delete-account.component.html","./src/app/components/confirm-email/confirm-email.component.ts","./src/app/components/confirm-email/confirm-email.component.html","./src/app/components/controls/add-task-dialog.component.ts","./src/app/components/controls/add-task-dialog.component.html","./src/app/components/controls/banner-demo.component.html","./src/app/components/controls/banner-demo.component.ts","./src/app/components/controls/notifications-viewer.component.ts","./src/app/components/controls/notifications-viewer.component.html","./src/app/components/controls/statistics-demo.component.ts","./src/app/components/controls/statistics-demo.component.html","./src/app/components/controls/todo-demo.component.ts","./src/app/components/controls/todo-demo.component.html","./src/app/components/customers/customers.component.ts","./src/app/components/customers/customers.component.html","./src/app/components/home/home.component.ts","./src/app/components/home/home.component.html","./src/app/components/insurance-companies/salamandra/salamandra.component.ts","./src/app/components/insurance-companies/salamandra/salamandra.component.html","./src/app/components/login/login-control.component.ts","./src/app/components/login/login-control.component.html","./src/app/components/login/login-dialog.component.ts","./src/app/components/login/login-dialog.component.html","./src/app/components/login/login.component.ts","./src/app/components/login/login.component.html","./src/app/components/not-found/not-found.component.ts","./src/app/components/not-found/not-found.component.html","./src/app/components/orders/orders.component.ts","./src/app/components/orders/orders.component.html","./src/app/components/policy/policy.component.ts","./src/app/components/policy/policy.component.html","./src/app/components/products/products.component.ts","./src/app/components/products/products.component.html","./src/app/components/recover-password/recover-password.component.ts","./src/app/components/recover-password/recover-password.component.html","./src/app/components/register/register.component.ts","./src/app/components/register/register.component.html","./src/app/components/reset-password/reset-password.component.ts","./src/app/components/reset-password/reset-password.component.html","./src/app/components/terms-of-use/termsofuse.component.ts","./src/app/components/terms-of-use/termsofuse.component.html","./src/app/components/travel-insurance-offer/travel-insurance-order.component.ts","./src/app/components/travel-insurance-offer/travel-insurance-order.component.html","./src/app/components/travel-insurance-offers/travel-insurance-offers.component.ts","./src/app/components/travel-insurance-offers/travel-insurance-offers.component.html","./src/app/components/travel-insurance-paid/travel-insurance-paid.component.ts","./src/app/components/travel-insurance-paid/travel-insurance-paid.component.html","./src/app/components/travel-insurance/travel-insurance.component.ts","./src/app/components/travel-insurance/travel-insurance.component.html","./src/app/models/CarInsurancePropertyType.ts","./src/app/models/car-insurance-products-request.model.ts","./src/app/models/car-insurance/car-insurance-booking-record.model.ts","./src/app/models/car-insurance/car-insurance-product-request.model.ts","./src/app/models/car-insurance/release-request.model.ts","./src/app/models/carbrandview.model.ts","./src/app/models/carmodelview.model.ts","./src/app/models/cartype.model.ts","./src/app/models/cartypeproperty.model.ts","./src/app/models/city.model.ts","./src/app/models/driver-licence.model.ts","./src/app/models/notification.model.ts","./src/app/models/passport.model.ts","./src/app/models/permission.model.ts","./src/app/models/registration-certificate.model.ts","./src/app/models/role.model.ts","./src/app/models/travel-insurance/travel-document.model.ts","./src/app/models/travel-insurance/travel-insurance-booking-record.model.ts","./src/app/models/travel-insurance/travel-product-request.ts","./src/app/models/travel-insurance/travel-products-request.ts","./src/app/models/user-edit.model.ts","./src/app/models/user-login.model.ts","./src/app/models/user.model.ts","./src/app/modules/material.module.ts","./src/app/pipes/callback.pipe.ts","./src/app/pipes/group-by.pipe.ts","./src/app/pipes/short-date.pipe.ts","./src/app/pipes/short-string.pipe.ts","./src/app/services/account-endpoint.service.ts","./src/app/services/account.service.ts","./src/app/services/alert.service.ts","./src/app/services/animations.ts","./src/app/services/app-title.service.ts","./src/app/services/app-translation.service.ts","./src/app/services/auth-guard.service.ts","./src/app/services/auth.service.ts","./src/app/services/car-insurance-endpoint.service.ts","./src/app/services/car-insurance.service.ts","./src/app/services/cartype.service.ts","./src/app/services/catalog-endpoint.service.ts","./src/app/services/catalog.service.ts","./src/app/services/common.service.ts","./src/app/services/configuration.service.ts","./src/app/services/db-keys.ts","./src/app/services/driver-licence-endpoint.service.ts","./src/app/services/driver-licence.service.ts","./src/app/services/endpoint-base.service.ts","./src/app/services/jwt-helper.ts","./src/app/services/local-store-manager.service.ts","./src/app/services/navigation.service.ts","./src/app/services/notification-endpoint.service.ts","./src/app/services/notification.service.ts","./src/app/services/oidc-helper.service.ts","./src/app/services/passport-endpoint.service.ts","./src/app/services/passport.service.ts","./src/app/services/registration-certificate-endpoint.service.ts","./src/app/services/registration-certificate.service.ts","./src/app/services/timeout-interceptor.ts","./src/app/services/travel-endpoint.service.ts","./src/app/services/travel.service.ts","./src/app/services/utilities.ts","./src/app/settings/car-insurances/car-insurance-list.component.ts","./src/app/settings/car-insurances/car-insurance-list.component.html","./src/app/settings/delete-account/delete-account.component.ts","./src/app/settings/delete-account/delete-account.component.html","./src/app/settings/driver-licences/driver-licence-list.component.ts","./src/app/settings/driver-licences/driver-licence-list.component.html","./src/app/settings/passports/passport-list.component.ts","./src/app/settings/passports/passport-list.component.html","./src/app/settings/registration-certificates/registration-certificate-list.component.ts","./src/app/settings/registration-certificates/registration-certificate-list.component.html","./src/app/settings/settings.component.ts","./src/app/settings/settings.component.html","./src/app/settings/settings.module.ts","./src/app/settings/travel-insurances/travel-insurance-list.component.ts","./src/app/settings/travel-insurances/travel-insurance-list.component.html","./src/app/settings/user-preferences/user-preferences.component.ts","./src/app/settings/user-preferences/user-preferences.component.html","./src/app/shared/app-dialog/app-dialog.component.ts","./src/app/shared/app-dialog/app-dialog.component.html","./src/app/shared/directives/auto-width.directive.ts","./src/app/shared/directives/mask-date.directive.ts","./src/app/shared/directives/mask-year.directive.ts","./src/app/shared/directives/year-format.ts","./src/app/shared/footer/footer-logos.component.ts","./src/app/shared/footer/footer-logos.component.html","./src/app/shared/footer/footer.component.ts","./src/app/shared/footer/footer.component.html","./src/app/shared/page-header/page-header.component.ts","./src/app/shared/page-header/page-header.component.html","./src/app/shared/shared.module.ts","./src/app/shared/theme-picker/theme-manager.ts","./src/app/shared/theme-picker/theme-picker.component.ts","./src/app/shared/theme-picker/theme-picker.component.html","./src/app/shared/validators/equal.validator.ts","./src/environments/environment.production.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$","ignored|C:\\TeamCity\\buildAgent\\work\\da8e0b578c7390dd\\Sydi.Main.Site\\node_modules\\crypto-js|crypto"],"sourcesContent":["\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AdminComponent } from './admin.component';\r\nimport { RoleListComponent } from './role-list/role-list.component';\r\nimport { UserListComponent } from './user-list/user-list.component';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { AuthGuard } from '../services/auth-guard.service';\r\n\r\nconst adminRoutes: Routes = [\r\n {\r\n path: 'admin',\r\n component: AdminComponent,\r\n children: [\r\n { path: 'users', component: UserListComponent, canActivate: [AuthGuard], data: { title: 'Admin | Users' } },\r\n { path: 'roles', component: RoleListComponent, canActivate: [AuthGuard], data: { title: 'Admin | Roles' } }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(adminRoutes)\r\n ],\r\n exports: [\r\n RouterModule\r\n ],\r\n providers: [\r\n AuthService, AuthGuard\r\n ]\r\n})\r\nexport class AdminRoutingModule { }\r\n","\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.scss']\r\n})\r\nexport class AdminComponent {\r\n\r\n}\r\n","\r\n","\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { AdminRoutingModule } from './admin-routing.module';\r\n\r\nimport { AdminComponent } from './admin.component';\r\nimport { RoleListComponent } from './role-list/role-list.component';\r\nimport { EditRoleDialogComponent } from './edit-role-dialog/edit-role-dialog.component';\r\nimport { RoleEditorComponent } from './role-editor/role-editor.component';\r\nimport { UserListComponent } from './user-list/user-list.component';\r\nimport { EditUserDialogComponent } from './edit-user-dialog/edit-user-dialog.component';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n AdminRoutingModule,\r\n NgxMaskModule.forChild()\r\n ],\r\n declarations: [\r\n AdminComponent,\r\n RoleListComponent,\r\n EditRoleDialogComponent,\r\n RoleEditorComponent,\r\n UserListComponent,\r\n EditUserDialogComponent\r\n ]\r\n})\r\nexport class AdminModule {\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, Inject, AfterViewInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Role } from '../../models/role.model';\r\nimport { Permission } from '../../models/permission.model';\r\n\r\nimport { RoleEditorComponent } from '../role-editor/role-editor.component';\r\n\r\n@Component({\r\n selector: 'app-edit-user-dialog',\r\n templateUrl: 'edit-role-dialog.component.html',\r\n styleUrls: ['edit-role-dialog.component.scss']\r\n})\r\nexport class EditRoleDialogComponent implements AfterViewInit {\r\n @ViewChild(RoleEditorComponent, { static: true })\r\n roleEditor: RoleEditorComponent;\r\n\r\n get roleName(): any {\r\n return this.data.role ? { name: this.data.role.name } : null;\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { role: Role, allPermissions: Permission[] },\r\n private accountService: AccountService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.roleEditor.roleSaved$.subscribe(role => this.dialogRef.close(role));\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n get canManageRoles() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission);\r\n }\r\n}\r\n","

{{roleName ? ('roles.management.EditRole' | translate:roleName) : ('roles.management.NewRole' | translate)}}

\r\n

{{'roles.management.RoleDetails' | translate:roleName}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, Inject, AfterViewInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { User } from '../../models/user.model';\r\nimport { Role } from '../../models/role.model';\r\n\r\nimport { UserEditorComponent } from '../user-editor/user-editor.component';\r\n\r\n@Component({\r\n selector: 'app-edit-user-dialog',\r\n templateUrl: 'edit-user-dialog.component.html',\r\n styleUrls: ['edit-user-dialog.component.scss']\r\n})\r\nexport class EditUserDialogComponent implements AfterViewInit {\r\n @ViewChild(UserEditorComponent, { static: true })\r\n editUser: UserEditorComponent;\r\n\r\n get userName(): any {\r\n return this.data.user ? { name: this.data.user.userName } : null;\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { user: User, roles: Role[] }) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.editUser.userSaved$.subscribe(user => this.dialogRef.close(user));\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","

{{userName ? ('users.management.EditUser' | translate:userName) : ('users.management.NewUser' | translate)}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, Input, ViewChild, OnChanges } from '@angular/core';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { NgForm, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Role } from '../../models/role.model';\r\nimport { Permission } from '../../models/permission.model';\r\n\r\n@Component({\r\n selector: 'app-role-editor',\r\n templateUrl: './role-editor.component.html',\r\n styleUrls: ['./role-editor.component.scss']\r\n})\r\nexport class RoleEditorComponent implements OnChanges {\r\n @ViewChild('form', { static: true })\r\n private form: NgForm;\r\n\r\n public selectedPermissions: SelectionModel;\r\n public isNewRole = false;\r\n private onRoleSaved = new Subject();\r\n\r\n @Input() role: Role = new Role();\r\n @Input() allPermissions: Permission[] = [];\r\n\r\n roleForm: UntypedFormGroup;\r\n roleSaved$ = this.onRoleSaved.asObservable();\r\n\r\n get name() {\r\n return this.roleForm.get('name');\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private accountService: AccountService,\r\n private formBuilder: UntypedFormBuilder\r\n ) {\r\n this.buildForm();\r\n this.selectedPermissions = new SelectionModel(true, []);\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.role) {\r\n this.isNewRole = false;\r\n } else {\r\n this.isNewRole = true;\r\n this.role = new Role();\r\n }\r\n\r\n this.resetForm();\r\n }\r\n\r\n public save() {\r\n if (!this.form.submitted) {\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.roleForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.alertService.startLoadingMessage('Saving changes...');\r\n\r\n const editedRole = this.getEditedRole();\r\n\r\n if (this.isNewRole) {\r\n this.accountService.newRole(editedRole).subscribe(\r\n role => this.saveSuccessHelper(role),\r\n error => this.saveFailedHelper(error));\r\n\r\n } else {\r\n this.accountService.updateRole(editedRole).subscribe(\r\n response => this.saveSuccessHelper(editedRole),\r\n error => this.saveFailedHelper(error));\r\n }\r\n }\r\n\r\n private getEditedRole(): Role {\r\n const formModel = this.roleForm.value;\r\n\r\n return {\r\n id: this.role.id,\r\n name: formModel.name,\r\n description: formModel.description,\r\n permissions: this.selectedPermissions.selected,\r\n usersCount: 0\r\n };\r\n }\r\n\r\n private saveSuccessHelper(role?: Role) {\r\n this.alertService.stopLoadingMessage();\r\n\r\n if (this.isNewRole) {\r\n this.alertService.showMessage('Success', `Role \"${role.name}\" was created successfully`, MessageSeverity.success);\r\n } else {\r\n this.alertService.showMessage('Success', `Changes to role \"${role.name}\" was saved successfully`, MessageSeverity.success);\r\n }\r\n\r\n if (!this.isNewRole) {\r\n if (this.accountService.currentUser.roles.some(r => r === this.role.name)) {\r\n this.refreshLoggedInUser();\r\n }\r\n\r\n role.usersCount = this.role.usersCount;\r\n }\r\n\r\n this.onRoleSaved.next(role);\r\n }\r\n\r\n private refreshLoggedInUser() {\r\n this.accountService.refreshLoggedInUser()\r\n .subscribe(user => { },\r\n error => {\r\n this.alertService.resetStickyMessage();\r\n this.alertService.showStickyMessage('Refresh failed', 'An error occured whilst refreshing logged in user information from the server', MessageSeverity.error, error);\r\n });\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Save Error', 'The below errors occured whilst saving your changes:', MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private cancel() {\r\n this.resetForm();\r\n\r\n this.alertService.resetStickyMessage();\r\n }\r\n\r\n private selectAll() {\r\n this.selectedPermissions.select(...this.allPermissions);\r\n }\r\n\r\n private toggleGroup(groupName: string) {\r\n const permissions = this.allPermissions.filter(p => p.groupName === groupName);\r\n\r\n if (permissions.length) {\r\n if (this.selectedPermissions.isSelected(permissions[0])) {\r\n this.selectedPermissions.deselect(...permissions);\r\n } else {\r\n this.selectedPermissions.select(...permissions);\r\n }\r\n }\r\n }\r\n\r\n private buildForm() {\r\n this.roleForm = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n description: ''\r\n });\r\n }\r\n\r\n private resetForm(replace = false) {\r\n this.roleForm.reset({\r\n name: this.role.name || '',\r\n description: this.role.description || ''\r\n });\r\n\r\n const selectePermissions = this.role.permissions\r\n ? this.allPermissions.filter(x => this.role.permissions.find(y => y.value === x.value))\r\n : [];\r\n\r\n this.selectedPermissions = new SelectionModel(true, selectePermissions);\r\n }\r\n\r\n get canManageRoles() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission);\r\n }\r\n}\r\n","
\r\n\r\n
\r\n \r\n {{'roles.editor.Name' | translate}}\r\n \r\n \r\n {{'roles.editor.RoleNameRequired' | translate}}\r\n \r\n \r\n\r\n \r\n {{'roles.editor.Description' | translate}}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n {{permissionGroup.key}}\r\n \r\n \r\n \r\n {{permission.name}}\r\n \r\n \r\n
\r\n
\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { Role } from '../../models/role.model';\r\nimport { Permission } from '../../models/permission.model';\r\nimport { EditRoleDialogComponent } from '../edit-role-dialog/edit-role-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-role-list',\r\n templateUrl: './role-list.component.html',\r\n styleUrls: ['./role-list.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class RoleListComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n displayedColumns = ['name', 'description', 'usersCount', 'actions'];\r\n dataSource: MatTableDataSource;\r\n allPermissions: Permission[] = [];\r\n sourceRole: Role;\r\n editingRoleName: { name: string };\r\n loadingIndicator: boolean;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n get canManageRoles() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission);\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n private updateRoles(role: Role) {\r\n if (this.sourceRole) {\r\n Object.assign(this.sourceRole, role);\r\n this.sourceRole = null;\r\n } else {\r\n this.dataSource.data.push(role);\r\n }\r\n\r\n this.refresh();\r\n }\r\n\r\n private loadData() {\r\n this.alertService.startLoadingMessage();\r\n this.loadingIndicator = true;\r\n\r\n this.accountService.getRolesAndPermissions()\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.dataSource.data = results[0];\r\n this.allPermissions = results[1];\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage('Load Error', `Unable to retrieve roles from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n }\r\n\r\n public editRole(role?: Role) {\r\n this.sourceRole = role;\r\n\r\n const dialogRef = this.dialog.open(EditRoleDialogComponent,\r\n {\r\n panelClass: 'mat-dialog-md',\r\n data: { role, allPermissions: this.allPermissions }\r\n });\r\n dialogRef.afterClosed().subscribe(r => {\r\n if (r && this.canManageRoles) {\r\n this.updateRoles(r);\r\n }\r\n });\r\n }\r\n\r\n public confirmDelete(role: Role) {\r\n this.snackBar.open(`Delete ${role.name} role?`, 'DELETE', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage('Deleting...');\r\n this.loadingIndicator = true;\r\n\r\n this.accountService.deleteRole(role)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n this.dataSource.data = this.dataSource.data.filter(item => item !== role);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage('Delete Error', `An error occured whilst deleting the role.\\r\\nError: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\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 \r\n {{'roles.management.Name' | translate}} \r\n {{role.name}} \r\n \r\n\r\n \r\n {{'roles.management.Description' | translate}} \r\n {{role.description}} \r\n \r\n\r\n \r\n {{'roles.management.Users' | translate}} \r\n {{role.usersCount}} \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\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\nimport { Component, OnDestroy, ViewChild, Input, OnChanges, NgZone } from '@angular/core';\r\nimport { NgForm, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\nimport { AccountService } from '../../services/account.service';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\r\nimport { DBkeys } from '../../services/db-keys';\r\nimport { User } from '../../models/user.model';\r\nimport { UserEdit } from '../../models/user-edit.model';\r\nimport { Role } from '../../models/role.model';\r\nimport { Permission } from '../../models/permission.model';\r\nimport { EqualValidator } from '../../shared/validators/equal.validator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ShortStringPipe } from 'src/app/pipes/short-string.pipe';\r\n\r\n@Component({\r\n selector: 'app-user-editor',\r\n templateUrl: './user-editor.component.html',\r\n styleUrls: ['./user-editor.component.scss']\r\n})\r\nexport class UserEditorComponent implements OnChanges, OnDestroy {\r\n @ViewChild('form', { static: true })\r\n private form: NgForm;\r\n\r\n isNewUser = false;\r\n isChangePassword = false;\r\n emailConfirmed: boolean;\r\n public userHasPassword = true;\r\n public isSaving = false;\r\n public isSendingEmail = false;\r\n private passwordWatcher: Subscription;\r\n private onUserSaved = new Subject();\r\n\r\n @Input() user: User = new User();\r\n @Input() roles: Role[] = [];\r\n @Input() isEditMode = false;\r\n\r\n userProfileForm: UntypedFormGroup;\r\n userSaved$ = this.onUserSaved.asObservable();\r\n\r\n get confirmedEmailChanged() {\r\n return this.emailConfirmed && this.email.value !== this.user.email;\r\n }\r\n\r\n get userName() {\r\n return this.userProfileForm.get('userName');\r\n }\r\n\r\n get email() {\r\n return this.userProfileForm.get('email');\r\n }\r\n\r\n get phoneNumber() {\r\n return this.userProfileForm.get('phoneNumber');\r\n }\r\n\r\n get password() {\r\n return this.userProfileForm.get('password');\r\n }\r\n\r\n get currentPassword() {\r\n return this.password.get('currentPassword');\r\n }\r\n\r\n get newPassword() {\r\n return this.password.get('newPassword');\r\n }\r\n\r\n get confirmPassword() {\r\n return this.password.get('confirmPassword');\r\n }\r\n\r\n get assignedRoles() {\r\n return this.userProfileForm.get('roles');\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\r\n }\r\n\r\n get canAssignRoles() {\r\n return this.accountService.userHasPermission(Permission.assignRolesPermission);\r\n }\r\n\r\n get isEditingSelf() {\r\n return this.accountService.currentUser ? this.user.id === this.accountService.currentUser.id : false;\r\n }\r\n\r\n get assignableRoles(): Role[] {\r\n return this.roles;\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private snackBar: MatSnackBar,\r\n private accountService: AccountService,\r\n private localStorage: LocalStoreManager,\r\n private formBuilder: UntypedFormBuilder,\r\n private ngZone: NgZone\r\n ) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.user) {\r\n this.isNewUser = false;\r\n this.emailConfirmed = this.user.emailConfirmed;\r\n\r\n const verificationEmailSent = this.localStorage.getDataObject(this.getDBkey_VERIFICATION_EMAIL_SENT(this.user.id));\r\n\r\n if (this.isEditingSelf) {\r\n\r\n this.loadCurrentUserPasswordStatus();\r\n\r\n if (!verificationEmailSent && !this.emailConfirmed) {\r\n const sendVerificationEmailWindowsFuncName = 'userEditor_sendVerificationEmail';\r\n window[sendVerificationEmailWindowsFuncName] = this.sendVerificationEmail.bind(this);\r\n\r\n const confirmEmailMsg = 'Your account email has not been verified. Click here to resend verification email`;\r\n this.alertService.showStickyMessage('Email not verified!', confirmEmailMsg, MessageSeverity.info, null, () => window[sendVerificationEmailWindowsFuncName] = null);\r\n }\r\n }\r\n } else {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n this.user.isEnabled = true;\r\n }\r\n\r\n this.setRoles();\r\n\r\n this.resetForm();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.passwordWatcher.unsubscribe();\r\n }\r\n\r\n public setUser(user?: User, roles?: Role[]) {\r\n this.user = user;\r\n if (roles) {\r\n this.roles = [...roles];\r\n }\r\n\r\n this.ngOnChanges();\r\n }\r\n\r\n private buildForm() {\r\n this.userProfileForm = this.formBuilder.group({\r\n jobTitle: '',\r\n userName: [''],\r\n email: ['', [Validators.required, Validators.email]],\r\n password: this.formBuilder.group({\r\n currentPassword: ['', Validators.required],\r\n newPassword: ['', [Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]],\r\n confirmPassword: ['', [Validators.required, EqualValidator('newPassword')]],\r\n }),\r\n roles: [''],\r\n fullName: '',\r\n phoneNumber: ['', [Validators.required, Validators.pattern(/(?=.*\\d).{12,12}/)]],\r\n isEnabled: ''\r\n });\r\n\r\n this.passwordWatcher = this.newPassword.valueChanges.subscribe(() => this.confirmPassword.updateValueAndValidity());\r\n }\r\n\r\n public resetForm(stopEditing = false) {\r\n if (stopEditing) {\r\n this.isEditMode = false;\r\n }\r\n\r\n if (!this.user) {\r\n this.isNewUser = true;\r\n this.user = new User();\r\n }\r\n\r\n if (this.isNewUser) {\r\n this.isChangePassword = true;\r\n this.addNewPasswordValidators();\r\n } else {\r\n this.isChangePassword = false;\r\n this.newPassword.clearValidators();\r\n this.confirmPassword.clearValidators();\r\n }\r\n\r\n this.currentPassword.clearValidators();\r\n\r\n this.userProfileForm.reset({\r\n jobTitle: this.user.jobTitle || '',\r\n userName: this.user.userName || '',\r\n email: this.user.email || '',\r\n password: {\r\n currentPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n },\r\n roles: this.user.roles || [],\r\n fullName: this.user.fullName || '',\r\n phoneNumber: this.user.phoneNumber || '',\r\n isEnabled: this.user.isEnabled\r\n });\r\n }\r\n\r\n private setRoles() {\r\n if (this.user.roles) {\r\n for (const role of this.user.roles) {\r\n if (!this.roles.some(r => r.name === role)) {\r\n this.roles.unshift(new Role(role));\r\n }\r\n }\r\n }\r\n }\r\n\r\n public beginEdit() {\r\n this.isEditMode = true;\r\n this.isChangePassword = false;\r\n }\r\n\r\n public save() {\r\n if (!this.form.submitted) {\r\n // Causes validation to update.\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.userProfileForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage('Saving changes...');\r\n\r\n const editedUser = this.getEditedUser();\r\n\r\n if (this.isNewUser) {\r\n this.accountService.newUser(editedUser).subscribe(\r\n user => this.saveCompleted(user),\r\n error => this.saveFailed(error));\r\n } else {\r\n this.accountService.updateUser(editedUser).subscribe(\r\n () => this.saveCompleted(editedUser),\r\n error => this.saveFailed(error));\r\n }\r\n }\r\n\r\n public cancel() {\r\n this.resetForm();\r\n this.isEditMode = false;\r\n\r\n this.alertService.resetStickyMessage();\r\n }\r\n\r\n private getEditedUser(): UserEdit {\r\n const formModel = this.userProfileForm.value;\r\n\r\n return {\r\n id: this.user.id,\r\n jobTitle: formModel.jobTitle,\r\n userName: formModel.userName,\r\n fullName: formModel.fullName,\r\n friendlyName: formModel.friendlyName,\r\n email: formModel.email,\r\n emailConfirmed: this.user.emailConfirmed,\r\n phoneNumber: formModel.phoneNumber,\r\n roles: formModel.roles,\r\n currentPassword: formModel.password.currentPassword,\r\n newPassword: this.isChangePassword ? formModel.password.newPassword : null,\r\n confirmPassword: this.isChangePassword ? formModel.password.confirmPassword : null,\r\n isEnabled: formModel.isEnabled,\r\n isLockedOut: this.user.isLockedOut\r\n };\r\n }\r\n\r\n private saveCompleted(user?: User) {\r\n if (user) {\r\n this.raiseEventIfRolesModified(this.user, user);\r\n this.user = user;\r\n }\r\n\r\n this.emailConfirmed = this.user.emailConfirmed;\r\n\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n\r\n if (this.isEditingSelf && this.isChangePassword) {\r\n this.loadCurrentUserPasswordStatus();\r\n }\r\n\r\n this.resetForm(true);\r\n\r\n this.onUserSaved.next(this.user);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Save Error', 'One or more errors occured whilst saving your changes:', MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n }\r\n\r\n private raiseEventIfRolesModified(currentUser: User, editedUser: User) {\r\n const rolesAdded = this.isNewUser ? editedUser.roles : editedUser.roles.filter(role => currentUser.roles.indexOf(role) === -1);\r\n const rolesRemoved = this.isNewUser ? [] : currentUser.roles.filter(role => editedUser.roles.indexOf(role) === -1);\r\n\r\n const modifiedRoles = rolesAdded.concat(rolesRemoved);\r\n\r\n if (modifiedRoles.length) {\r\n setTimeout(() => this.accountService.onRolesUserCountChanged(modifiedRoles));\r\n }\r\n }\r\n\r\n sendVerificationEmail() {\r\n this.ngZone.run(() => {\r\n this.isSendingEmail = true;\r\n this.alertService.resetStickyMessage();\r\n this.alertService.startLoadingMessage('Sending verification email...');\r\n\r\n this.accountService.sendConfirmEmail()\r\n .subscribe(result => {\r\n this.isSendingEmail = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage('Verification Email Sent', 'Please check your email', MessageSeverity.success);\r\n this.localStorage.saveSyncedSessionData(true, this.getDBkey_VERIFICATION_EMAIL_SENT(this.user.id));\r\n },\r\n error => {\r\n this.isSendingEmail = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Verification Email Not Sent', `Unable to send verification email.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n private loadCurrentUserPasswordStatus() {\r\n this.accountService.getUserHasPassword()\r\n .subscribe(hasPassword => {\r\n this.userHasPassword = hasPassword;\r\n },\r\n error => {\r\n this.alertService.showStickyMessage('Load Error', `Error retrieving user password status from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n }\r\n\r\n private getDBkey_VERIFICATION_EMAIL_SENT(userId: string) {\r\n return `verification_email_sent:${userId}`;\r\n }\r\n\r\n public changePassword() {\r\n this.isChangePassword = true;\r\n this.addCurrentPasswordValidators();\r\n this.addNewPasswordValidators();\r\n }\r\n\r\n private addCurrentPasswordValidators() {\r\n this.currentPassword.setValidators(Validators.required);\r\n }\r\n\r\n private addNewPasswordValidators() {\r\n this.newPassword.setValidators([Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\\W]).{8,}/)]);\r\n this.confirmPassword.setValidators([Validators.required, EqualValidator('newPassword')]);\r\n }\r\n\r\n public unlockUser() {\r\n this.isSaving = true;\r\n this.alertService.startLoadingMessage('Unblocking user...');\r\n\r\n this.accountService.unblockUser(this.user.id)\r\n .subscribe(() => {\r\n this.isSaving = false;\r\n this.user.isLockedOut = false;\r\n this.userProfileForm.patchValue({\r\n isLockedOut: this.user.isLockedOut\r\n });\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage('Success', 'User has been successfully unlocked', MessageSeverity.success);\r\n },\r\n error => {\r\n this.isSaving = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Unblock Error', 'The below errors occured whilst unlocking the user:', MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n });\r\n }\r\n}\r\n","
\r\n\r\n
\r\n \r\n {{'users.editor.Email' | translate}}\r\n \r\n \r\n {{'users.editor.EmailRequired' | translate}}\r\n \r\n \r\n {{'users.editor.InvalidEmail' | translate}}\r\n \r\n \r\n\r\n \r\n {{'users.editor.PhoneNumber' | translate}}\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 {{'users.editor.CurrentPassword' | translate}}\r\n \r\n \r\n {{'users.editor.CurrentPasswordRequired' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n {{'users.editor.NewPassword' | translate}}\r\n \r\n \r\n {{'users.editor.NewPasswordRequired' | translate}}\r\n \r\n \r\n {{'users.editor.NewPasswordRules' | translate}}\r\n \r\n \r\n\r\n \r\n {{'users.editor.ConfirmPassword' | translate}}\r\n \r\n \r\n {{'users.editor.ConfirmationPasswordRequired' | translate}}\r\n \r\n \r\n {{'users.editor.PasswordMismatch' | translate}}\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
 
\r\n
\r\n","\r\nimport { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { User } from '../../models/user.model';\r\nimport { Role } from '../../models/role.model';\r\nimport { Permission } from '../../models/permission.model';\r\nimport { EditUserDialogComponent } from '../edit-user-dialog/edit-user-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class UserListComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n displayedColumns = ['jobTitle', 'userName', 'fullName', 'email'];\r\n dataSource: MatTableDataSource;\r\n sourceUser: User;\r\n loadingIndicator: boolean;\r\n allRoles: Role[] = [];\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog) {\r\n\r\n\r\n if (this.canManageUsers) {\r\n this.displayedColumns.push('actions');\r\n }\r\n\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n private updateUsers(user: User) {\r\n if (this.sourceUser) {\r\n Object.assign(this.sourceUser, user);\r\n this.alertService.showMessage('Success', `Changes to user \\\"${user.userName}\\\" was saved successfully`, MessageSeverity.success);\r\n this.sourceUser = null;\r\n } else {\r\n this.dataSource.data.push(user);\r\n this.refresh();\r\n this.alertService.showMessage('Success', `User \\\"${user.userName}\\\" was created successfully`, MessageSeverity.success);\r\n }\r\n }\r\n\r\n private loadData() {\r\n this.alertService.startLoadingMessage();\r\n this.loadingIndicator = true;\r\n\r\n if (this.canViewRoles) {\r\n this.accountService.getUsersAndRoles().subscribe(\r\n results => this.onDataLoadSuccessful(results[0], results[1]),\r\n error => this.onDataLoadFailed(error)\r\n );\r\n } else {\r\n this.accountService.getUsers().subscribe(\r\n users => this.onDataLoadSuccessful(users, this.accountService.currentUser.roles.map(r => new Role(r))),\r\n error => this.onDataLoadFailed(error)\r\n );\r\n }\r\n }\r\n\r\n private onDataLoadSuccessful(users: User[], roles: Role[]) {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n this.dataSource.data = users;\r\n this.allRoles = roles;\r\n }\r\n\r\n private onDataLoadFailed(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage('Load Error', `Unable to retrieve users from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n }\r\n\r\n public editUser(user?: User) {\r\n this.sourceUser = user;\r\n\r\n const dialogRef = this.dialog.open(EditUserDialogComponent,\r\n {\r\n panelClass: 'mat-dialog-lg',\r\n data: { user, roles: [...this.allRoles] }\r\n });\r\n dialogRef.afterClosed().subscribe(u => {\r\n if (u) {\r\n this.updateUsers(u);\r\n }\r\n });\r\n }\r\n\r\n public confirmDelete(user: User) {\r\n this.snackBar.open(`Delete ${user.userName}?`, 'DELETE', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage('Deleting...');\r\n this.loadingIndicator = true;\r\n\r\n this.accountService.deleteUser(user)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n this.dataSource.data = this.dataSource.data.filter(item => item !== user);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage('Delete Error', `An error occured whilst deleting the user.\\r\\nError: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n get canManageUsers() {\r\n return this.accountService.userHasPermission(Permission.manageUsersPermission);\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\r\n }\r\n\r\n get canAssignRoles() {\r\n return this.accountService.userHasPermission(Permission.assignRolesPermission);\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 {{'users.management.Title' | translate}} \r\n {{row.jobTitle}} \r\n \r\n\r\n \r\n {{'users.management.UserName' | translate}} \r\n {{row.userName}} \r\n \r\n\r\n \r\n {{'users.management.FullName' | translate}} \r\n {{row.fullName}} \r\n \r\n\r\n \r\n {{'users.management.Email' | translate}} \r\n {{row.email}} \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 \r\n
\r\n
\r\n","\r\nimport { Injectable, ErrorHandler } from '@angular/core';\r\nimport { AlertService, MessageSeverity } from './services/alert.service';\r\n\r\n\r\n@Injectable()\r\nexport class AppErrorHandler extends ErrorHandler {\r\n\r\n // private alertService: AlertService;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n\r\n handleError(error: any) {\r\n // if (this.alertService == null) {\r\n // this.alertService = this.injector.get(AlertService);\r\n // }\r\n\r\n // this.alertService.showStickyMessage(\"Fatal Error!\", \"An unresolved error has occured. Please reload the page to correct this error\", MessageSeverity.warn);\r\n // this.alertService.showStickyMessage(\"Unhandled Error\", error.message || error, MessageSeverity.error, error);\r\n\r\n if (confirm('Fatal Error!\\nAn unresolved error has occured. Do you want to reload the page to correct this?\\n\\nError: ' + error.message)) {\r\n window.location.reload();\r\n }\r\n\r\n super.handleError(error);\r\n }\r\n}\r\n","\r\nimport { NgModule, Injectable } from '@angular/core';\r\nimport { Routes, RouterModule, DefaultUrlSerializer, UrlSerializer, UrlTree } from '@angular/router';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { AuthCallbackComponent } from './components/auth-callback/auth-callback.component';\r\nimport { RegisterComponent } from './components/register/register.component';\r\nimport { ConfirmEmailComponent } from './components/confirm-email/confirm-email.component';\r\nimport { ConfirmDeleteAccountComponent } from './components/confirm-delete-account/confirm-delete-account.component';\r\nimport { RecoverPasswordComponent } from './components/recover-password/recover-password.component';\r\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\r\n\r\nimport { CarInsuranceComponent } from './components/car-insurance/car-insurance.component';\r\nimport { CarInsuranceOffersComponent } from './components/car-insurance-offers/car-insurance-offers.component';\r\n\r\nimport { TravelInsuranceComponent } from './components/travel-insurance/travel-insurance.component';\r\nimport { TravelInsuranceOffersComponent } from './components/travel-insurance-offers/travel-insurance-offers.component';\r\n\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { CustomersComponent } from './components/customers/customers.component';\r\nimport { ProductsComponent } from './components/products/products.component';\r\nimport { OrdersComponent } from './components/orders/orders.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { AboutComponent } from './components/about/about.component';\r\nimport { PolicyComponent } from './components/policy/policy.component';\r\nimport { TermsOfUseComponent } from './components/terms-of-use/termsofuse.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { AuthService } from './services/auth.service';\r\nimport { AuthGuard } from './services/auth-guard.service';\r\nimport { Utilities } from './services/utilities';\r\nimport { CarInsuranceOrderComponent } from './components/car-insurance-order/car-insurance-order.component';\r\nimport { CarInsurancePaidComponent} from './components/car-insurance-paid/car-insurance-paid.component';\r\nimport { TravelInsuranceOrderComponent } from './components/travel-insurance-offer/travel-insurance-order.component';\r\nimport { TravelInsurancePaidComponent } from './components/travel-insurance-paid/travel-insurance-paid.component';\r\nimport { SalamandraComponent } from './components/insurance-companies/salamandra/salamandra.component';\r\n\r\n\r\n@Injectable()\r\nexport class LowerCaseUrlSerializer extends DefaultUrlSerializer {\r\n parse(url: string): UrlTree {\r\n const possibleSeparators = /[?;#]/;\r\n const indexOfSeparator = url.search(possibleSeparators);\r\n let processedUrl: string;\r\n\r\n if (indexOfSeparator > -1) {\r\n const separator = url.charAt(indexOfSeparator);\r\n const urlParts = Utilities.splitInTwo(url, separator);\r\n urlParts.firstPart = urlParts.firstPart.toLowerCase();\r\n\r\n processedUrl = urlParts.firstPart + separator + urlParts.secondPart;\r\n } else {\r\n processedUrl = url.toLowerCase();\r\n }\r\n\r\n return super.parse(processedUrl);\r\n }\r\n}\r\n\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HomeComponent, data: { title: '' } },\r\n { path: 'car-insurance',\r\n children: [\r\n { path: '', component: CarInsuranceComponent, data: { title: 'Автоцивілка' } },\r\n { path: 'offers', component: CarInsuranceOffersComponent, data: { title: 'Автоцивілка | Пропозиції' } },\r\n { path: 'order', component: CarInsuranceOrderComponent, canActivate: [AuthGuard], data: { title: 'Автоцивілка | Заказ' } },\r\n { path: 'paid', component: CarInsurancePaidComponent, canActivate: [AuthGuard], data: { title: 'Автоцивілка | Заказ оплачений' } },\r\n\r\n ]\r\n },\r\n { path: 'travel-insurance',\r\n children: [\r\n { path: '', component: TravelInsuranceComponent, data: { title: 'Страхування подорожей' } },\r\n { path: 'offers', component: TravelInsuranceOffersComponent, data: { title: 'Страхування подорожей | Пропозиції' } },\r\n { path: 'order', component: TravelInsuranceOrderComponent, canActivate: [AuthGuard], data: { title: 'Страхування подорожей | Заказ' } },\r\n { path: 'paid', component: TravelInsurancePaidComponent, canActivate: [AuthGuard], data: { title: 'Страхування подорожей | Заказ оплачений' } },\r\n\r\n ]\r\n },\r\n { path: 'salamandra', component: SalamandraComponent, data: { title: 'Salamandra' } },\r\n { path: 'login', component: LoginComponent, data: { title: 'Вхід' } },\r\n { path: 'google-login', component: AuthCallbackComponent, data: { title: 'Google Login' } },\r\n { path: 'facebook-login', component: AuthCallbackComponent, data: { title: 'Facebook Login' } },\r\n { path: 'twitter-login', component: AuthCallbackComponent, data: { title: 'Twitter Login' } },\r\n { path: 'apple-login', component: AuthCallbackComponent, data: { title: 'Apple Login' } },\r\n { path: 'register', component: RegisterComponent, data: { title: 'Register' } },\r\n { path: 'confirm-email', component: ConfirmEmailComponent, data: { title: 'Confirm Email' } },\r\n { path: 'confirm-delete-account', component: ConfirmDeleteAccountComponent, data: { title: 'Підтвердження видалення акаунту' } },\r\n { path: 'recover-password', component: RecoverPasswordComponent, data: { title: 'Recover Password' } },\r\n { path: 'reset-password', component: ResetPasswordComponent, data: { title: 'Reset Password' } },\r\n\r\n { path: 'customers', component: CustomersComponent, canActivate: [AuthGuard], data: { title: 'Customers' } },\r\n { path: 'products', component: ProductsComponent, canActivate: [AuthGuard], data: { title: 'Products' } },\r\n { path: 'orders', component: OrdersComponent, canActivate: [AuthGuard], data: { title: 'Orders' } },\r\n { path: 'settings', component: SettingsComponent, canActivate: [AuthGuard], data: { title: 'Settings' } },\r\n { path: 'about', component: AboutComponent, data: { title: 'Про Нас' } },\r\n { path: 'policy', component: PolicyComponent, data: { title: 'Політика Конфіденційності' } },\r\n { path: 'termsofuse', component: TermsOfUseComponent, data: { title: 'Умови використання' } },\r\n { path: '**', component: NotFoundComponent, data: { title: 'Page Not Found' } }\r\n];\r\n\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n providers: [\r\n AuthService,\r\n AuthGuard,\r\n { provide: UrlSerializer, useClass: LowerCaseUrlSerializer }]\r\n})\r\nexport class AppRoutingModule { }\r\n","\r\nimport { Component, ChangeDetectorRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatExpansionPanel } from '@angular/material/expansion';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ToastaService, ToastaConfig, ToastOptions, ToastData } from 'ngx-toasta';\r\n\r\nimport { AlertService, AlertCommand, MessageSeverity } from './services/alert.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { AppTranslationService } from './services/app-translation.service';\r\nimport { AccountService } from './services/account.service';\r\nimport { LocalStoreManager } from './services/local-store-manager.service';\r\nimport { AppTitleService } from './services/app-title.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { ConfigurationService } from './services/configuration.service';\r\nimport { Permission } from './models/permission.model';\r\nimport { LoginDialogComponent } from './components/login/login-dialog.component';\r\nimport { AppDialogComponent } from './shared/app-dialog/app-dialog.component';\r\n\r\nimport packageJson from '../../package.json';\r\nimport { environment } from './../environments/environment';\r\nimport { delay, filter, fromEvent, Observable } from 'rxjs';\r\nimport { LoginAction, LogoutAction, STATUS } from './models/login.action';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\n\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n @ViewChild('admin') adminExpander: MatExpansionPanel;\r\n\r\n public version: string = packageJson.version;\r\n public configurationName: string = environment.configurationName;\r\n\r\n private _mobileQueryListener: () => void;\r\n isAppLoaded: boolean;\r\n isUserLoggedIn: boolean;\r\n isAdminExpanded = false;\r\n removePrebootScreen: boolean;\r\n newNotificationCount = 0;\r\n appTitle = 'SYDI.Finance | Онлайн Експерт Консультант Cтрахування';\r\n\r\n mobileQuery: MediaQueryList;\r\n stickyToasties: number[] = [];\r\n\r\n dataLoadingConsecutiveFailures = 0;\r\n notificationsLoadingSubscription: any;\r\n\r\n gT = (key: string | Array, interpolateParams?: object) => this.translationService.getTranslation(key, interpolateParams);\r\n\r\n get notificationsTitle() {\r\n if (this.newNotificationCount) {\r\n return `${this.gT('app.Notifications')} (${this.newNotificationCount} ${this.gT('app.New')})`;\r\n } else {\r\n return this.gT('app.Notifications');\r\n }\r\n }\r\n\r\n previousUrl: string = null;\r\n currentUrl: string = null;\r\n\r\n constructor(\r\n storageManager: LocalStoreManager,\r\n private toastaService: ToastaService,\r\n private toastaConfig: ToastaConfig,\r\n private accountService: AccountService,\r\n private alertService: AlertService,\r\n private notificationService: NotificationService,\r\n private appTitleService: AppTitleService,\r\n private authService: AuthService,\r\n private translationService: AppTranslationService,\r\n private matIconRegistry: MatIconRegistry,\r\n private domSanitizer: DomSanitizer,\r\n public configurations: ConfigurationService,\r\n public router: Router,\r\n public dialog: MatDialog,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher\r\n ) {\r\n\r\n this.matIconRegistry.addSvgIconSet(this.domSanitizer.bypassSecurityTrustResourceUrl('./assets/custom-icons.svg'));\r\n\r\n this.mobileQuery = media.matchMedia('(max-width: 600px)');\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n // tslint:disable-next-line:deprecation\r\n this.mobileQuery.addListener(this._mobileQueryListener); // https://github.com/mdn/sprints/issues/858\r\n\r\n storageManager.initialiseStorageSyncListener();\r\n\r\n this.toastaConfig.theme = 'default';\r\n this.toastaConfig.position = 'top-right';\r\n this.toastaConfig.limit = 10;\r\n this.toastaConfig.showClose = true;\r\n this.toastaConfig.showDuration = false;\r\n\r\n this.appTitleService.appName = this.appTitle;\r\n this.init();\r\n }\r\n\r\n init () {\r\n let promise = new Promise((resolve, reject) => {\r\n //TODO\r\n //console.log(\"init 1\");\r\n this.authService.initClientCredentials(true).toPromise()\r\n .then(\r\n res => { // Success\r\n //console.log(\"init Success\");\r\n }\r\n );\r\n //console.log(\"init 2\");\r\n });\r\n return promise;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isUserLoggedIn = this.authService.isLoggedIn;\r\n\r\n // 0.5 extra sec to display preboot/loader information. Preboot screen is removed 0.5 sec later\r\n setTimeout(() => this.isAppLoaded = true, 500);\r\n setTimeout(() => this.removePrebootScreen = true, 1000);\r\n\r\n setTimeout(() => {\r\n if (this.isUserLoggedIn) {\r\n this.alertService.resetStickyMessage();\r\n //this.alertService.showMessage('Login', `Welcome back ${this.userName}!`, MessageSeverity.default);\r\n }\r\n }, 2000);\r\n\r\n this.alertService.getDialogEvent().subscribe(alert => this.dialog.open(AppDialogComponent,\r\n {\r\n data: alert,\r\n panelClass: 'mat-dialog-sm'\r\n }));\r\n\r\n this.alertService.getMessageEvent().subscribe(message => this.showToast(message));\r\n\r\n this.authService.reLoginDelegate = () => this.showReLoginDialog();\r\n\r\n this.authService.getLoginStatusEvent().subscribe(isLoggedIn => {\r\n this.isUserLoggedIn = isLoggedIn;\r\n\r\n //console.log(\"isLoggedIn \" + isLoggedIn);\r\n\r\n if (this.isUserLoggedIn) {\r\n this.initNotificationsLoading();\r\n } else {\r\n this.unsubscribeNotifications();\r\n }\r\n\r\n setTimeout(() => {\r\n if (!this.isUserLoggedIn) {\r\n //this.alertService.showMessage('Session Ended!', '', MessageSeverity.default);\r\n }\r\n }, 500);\r\n });\r\n\r\n this.refreshAdminExpanderState(this.router.url);\r\n\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n this.refreshAdminExpanderState((event as NavigationStart).url);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n // tslint:disable-next-line:deprecation\r\n this.mobileQuery.removeListener(this._mobileQueryListener); // https://github.com/mdn/sprints/issues/858\r\n this.unsubscribeNotifications();\r\n }\r\n\r\n private unsubscribeNotifications() {\r\n if (this.notificationsLoadingSubscription) {\r\n this.notificationsLoadingSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private refreshAdminExpanderState(currentUrl: string) {\r\n setTimeout(() => {\r\n if (this.adminExpander && currentUrl.toLowerCase().indexOf('admin') > 0) {\r\n this.adminExpander.open();\r\n }\r\n }, 200);\r\n }\r\n\r\n initNotificationsLoading() {\r\n this.notificationsLoadingSubscription = this.notificationService.getNewNotificationsPeriodically()\r\n .subscribe(notifications => {\r\n this.dataLoadingConsecutiveFailures = 0;\r\n this.newNotificationCount = notifications.filter(n => !n.isRead).length;\r\n },\r\n error => {\r\n this.alertService.logError(error);\r\n\r\n if (this.dataLoadingConsecutiveFailures++ < 20) {\r\n setTimeout(() => this.initNotificationsLoading(), 5000);\r\n } else {\r\n this.alertService.showStickyMessage('Load Error', 'Loading new notifications from the server failed!', MessageSeverity.error);\r\n }\r\n });\r\n }\r\n\r\n markNotificationsAsRead() {\r\n const recentNotifications = this.notificationService.recentNotifications;\r\n\r\n if (recentNotifications.length) {\r\n this.notificationService.readUnreadNotification(recentNotifications.map(n => n.id), true)\r\n .subscribe(response => {\r\n for (const n of recentNotifications) {\r\n n.isRead = true;\r\n }\r\n\r\n this.newNotificationCount = recentNotifications.filter(n => !n.isRead).length;\r\n },\r\n error => {\r\n this.alertService.logError(error);\r\n this.alertService.showMessage('Notification Error', 'Marking read notifications failed', MessageSeverity.error);\r\n\r\n });\r\n }\r\n }\r\n\r\n showReLoginDialog(): void {\r\n this.alertService.showStickyMessage('Сеанс закінчився', 'Ваш сеанс закінчився. Будь ласка, увійдіть ще раз', MessageSeverity.info);\r\n\r\n const dialogRef = this.dialog.open(LoginDialogComponent, { minWidth: 300 });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.alertService.resetStickyMessage();\r\n\r\n if (!result || this.authService.isSessionExpired) {\r\n this.authService.logout();\r\n this.router.navigateByUrl('/login');\r\n this.alertService.showStickyMessage('Сеанс закінчився', 'Ваш сеанс закінчився. Будь ласка, увійдіть ще раз, щоб відновити сеанс', MessageSeverity.warn);\r\n }\r\n });\r\n }\r\n\r\n showToast(alert: AlertCommand) {\r\n\r\n if (alert.operation === 'clear') {\r\n for (const id of this.stickyToasties.slice(0)) {\r\n this.toastaService.clear(id);\r\n }\r\n\r\n return;\r\n }\r\n\r\n const toastOptions: ToastOptions = {\r\n title: alert.message.summary,\r\n msg: alert.message.detail,\r\n };\r\n\r\n\r\n if (alert.operation === 'add_sticky') {\r\n toastOptions.timeout = 0;\r\n\r\n toastOptions.onAdd = (toast: ToastData) => {\r\n this.stickyToasties.push(toast.id);\r\n };\r\n\r\n toastOptions.onRemove = (toast: ToastData) => {\r\n const index = this.stickyToasties.indexOf(toast.id, 0);\r\n\r\n if (index > -1) {\r\n this.stickyToasties.splice(index, 1);\r\n }\r\n\r\n if (alert.onRemove) {\r\n alert.onRemove();\r\n }\r\n\r\n toast.onAdd = null;\r\n toast.onRemove = null;\r\n };\r\n } else {\r\n toastOptions.timeout = 20000;\r\n }\r\n\r\n\r\n switch (alert.message.severity) {\r\n case MessageSeverity.default: this.toastaService.default(toastOptions); break;\r\n case MessageSeverity.info: this.toastaService.info(toastOptions); break;\r\n case MessageSeverity.success: this.toastaService.success(toastOptions); break;\r\n case MessageSeverity.error: this.toastaService.error(toastOptions); break;\r\n case MessageSeverity.warn: this.toastaService.warning(toastOptions); break;\r\n case MessageSeverity.wait: this.toastaService.wait(toastOptions); break;\r\n }\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n this.authService.redirectLogoutUser();\r\n }\r\n\r\n get userName(): string {\r\n return this.authService.currentUser ? this.authService.currentUser.userName : '';\r\n }\r\n\r\n get fullName(): string {\r\n return this.authService.currentUser ? this.authService.currentUser.fullName : '';\r\n }\r\n\r\n get canViewCustomers() {\r\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\r\n }\r\n\r\n get canViewProducts() {\r\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\r\n }\r\n\r\n get canViewOrders() {\r\n return true;\r\n }\r\n\r\n get canViewUsers() {\r\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\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 \r\n\r\n\r\n \r\n\r\n \r\n\r\n","\r\nimport { NgModule, ErrorHandler } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\n\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { ToastaModule } from 'ngx-toasta';\r\nimport { NgChartsModule } from 'ng2-charts';\r\n\r\nimport { NgxsModule } from '@ngxs/store';\r\nimport { NgxsReduxDevtoolsPluginModule } from '@ngxs/devtools-plugin';\r\nimport { NgxsFormPluginModule } from '@ngxs/form-plugin';\r\n\r\nimport { NguCarouselModule } from '@ngu/carousel';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppErrorHandler } from './app-error.handler';\r\n\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { AdminModule } from './admin/admin.module';\r\nimport { SettingsModule } from './settings/settings.module';\r\nimport { ThemePickerModule } from './shared/theme-picker/theme-picker.component';\r\n\r\nimport { AppTitleService } from './services/app-title.service';\r\nimport { AppTranslationService, TranslateLanguageLoader } from './services/app-translation.service';\r\nimport { ConfigurationService } from './services/configuration.service';\r\nimport { AlertService } from './services/alert.service';\r\nimport { LocalStoreManager } from './services/local-store-manager.service';\r\nimport { OidcHelperService } from './services/oidc-helper.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { NotificationEndpoint } from './services/notification-endpoint.service';\r\nimport { AccountService } from './services/account.service';\r\nimport { AccountEndpoint } from './services/account-endpoint.service';\r\nimport { CatalogService } from './services/catalog.service';\r\nimport { CatalogEndpoint } from './services/catalog-endpoint.service';\r\n\r\nimport { CarInsuranceEndpoint } from './services/car-insurance-endpoint.service';\r\nimport { CarInsuranceService } from './services/car-insurance.service';\r\n\r\nimport { DriverLicenceEndpoint } from './services/driver-licence-endpoint.service';\r\nimport { DriverLicenceService } from './services/driver-licence.service';\r\n\r\nimport { PassportEndpoint } from './services/passport-endpoint.service';\r\nimport { PassportService } from './services/passport.service';\r\n\r\nimport { RegistrationCertificateEndpoint } from './services/registration-certificate-endpoint.service';\r\nimport { RegistrationCertificateService } from './services/registration-certificate.service';\r\n\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { LoginControlComponent } from './components/login/login-control.component';\r\nimport { LoginDialogComponent } from './components/login/login-dialog.component';\r\nimport { AuthCallbackComponent } from './components/auth-callback/auth-callback.component';\r\nimport { RegisterComponent } from './components/register/register.component';\r\nimport { ConfirmEmailComponent } from './components/confirm-email/confirm-email.component';\r\nimport { ConfirmDeleteAccountComponent } from './components/confirm-delete-account/confirm-delete-account.component';\r\nimport { RecoverPasswordComponent } from './components/recover-password/recover-password.component';\r\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\r\n\r\nimport { HomeComponent } from './components/home/home.component';\r\n\r\nimport { CarInsuranceComponent } from './components/car-insurance/car-insurance.component';\r\nimport { CarInsuranceOffersComponent } from './components/car-insurance-offers/car-insurance-offers.component';\r\n\r\nimport { TravelInsuranceComponent } from './components/travel-insurance/travel-insurance.component';\r\nimport { TravelInsuranceOffersComponent } from './components/travel-insurance-offers/travel-insurance-offers.component';\r\n\r\nimport { DriverLicenceListComponent } from './settings/driver-licences/driver-licence-list.component';\r\nimport { PassportListComponent } from './settings/passports/passport-list.component';\r\n\r\nimport { CustomersComponent } from './components/customers/customers.component';\r\nimport { ProductsComponent } from './components/products/products.component';\r\nimport { OrdersComponent } from './components/orders/orders.component';\r\nimport { AboutComponent } from './components/about/about.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { PolicyComponent } from './components/policy/policy.component';\r\nimport { TermsOfUseComponent } from './components/terms-of-use/termsofuse.component';\r\n\r\nimport { BannerDemoComponent } from './components/controls/banner-demo.component';\r\nimport { TodoDemoComponent } from './components/controls/todo-demo.component';\r\nimport { StatisticsDemoComponent } from './components/controls/statistics-demo.component';\r\nimport { NotificationsViewerComponent } from './components/controls/notifications-viewer.component';\r\nimport { AddTaskDialogComponent } from './components/controls/add-task-dialog.component';\r\nimport { CarTypeService } from './services/cartype.service';\r\nimport { NavigationService } from './services/navigation.service';\r\n\r\n// states\r\n//import { LoginState } from './models/login.state';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nimport {MAT_MOMENT_DATE_FORMATS, MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeUA from '@angular/common/locales/ru-UA';\r\nimport { CarInsuranceOrderComponent } from './components/car-insurance-order/car-insurance-order.component';\r\nimport { CommonService } from './services/common.service';\r\nimport { DEFAULT_TIMEOUT, TimeoutInterceptor } from './services/timeout-interceptor';\r\nimport { CarInsurancePaidComponent } from './components/car-insurance-paid/car-insurance-paid.component';\r\nimport { TravelEndpoint } from './services/travel-endpoint.service';\r\nimport { TravelService } from './services/travel.service';\r\nimport { TravelInsuranceOrderComponent } from './components/travel-insurance-offer/travel-insurance-order.component';\r\nimport { TravelInsurancePaidComponent } from './components/travel-insurance-paid/travel-insurance-paid.component';\r\nimport { SalamandraComponent } from './components/insurance-companies/salamandra/salamandra.component';\r\n\r\nregisterLocaleData(localeUA, 'ru-UA');\r\n\r\n//const states = [LoginState];\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n ThemePickerModule,\r\n HttpClientModule,\r\n AdminModule,\r\n SettingsModule,\r\n\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useClass: TranslateLanguageLoader\r\n }\r\n }),\r\n\r\n //NgxsModule.forRoot(states, { developmentMode: !environment.production }),\r\n NgxsReduxDevtoolsPluginModule.forRoot(),\r\n NgxsFormPluginModule.forRoot(),\r\n NgxMaskModule.forChild(),\r\n OAuthModule.forRoot(),\r\n ToastaModule.forRoot(),\r\n NgChartsModule,\r\n NguCarouselModule,\r\n AppRoutingModule\r\n ],\r\n declarations: [\r\n AppComponent,\r\n LoginComponent, LoginControlComponent, LoginDialogComponent,\r\n AuthCallbackComponent,\r\n RegisterComponent,\r\n ConfirmEmailComponent,\r\n ConfirmDeleteAccountComponent,\r\n RecoverPasswordComponent,\r\n ResetPasswordComponent,\r\n HomeComponent,\r\n CarInsuranceComponent,\r\n TravelInsuranceComponent,\r\n\t TravelInsuranceOffersComponent,\r\n CustomersComponent,\r\n ProductsComponent,\r\n OrdersComponent,\r\n AboutComponent,\r\n PolicyComponent,\r\n TermsOfUseComponent,\r\n NotFoundComponent,\r\n NotificationsViewerComponent,\r\n AddTaskDialogComponent,\r\n StatisticsDemoComponent, TodoDemoComponent, BannerDemoComponent,\r\n TravelInsuranceOffersComponent,\r\n CarInsuranceOffersComponent,\r\n CarInsuranceOrderComponent,\r\n CarInsurancePaidComponent,\r\n TravelInsuranceOrderComponent,\r\n TravelInsurancePaidComponent,\r\n SalamandraComponent\r\n ],\r\n providers: [\r\n { provide: ErrorHandler, useClass: AppErrorHandler },\r\n\r\n {provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},\r\n {provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS},\r\n\r\n { provide: HTTP_INTERCEPTORS, useClass: TimeoutInterceptor, multi: true },\r\n { provide: DEFAULT_TIMEOUT, useValue: 300000 }, //300 seconds\r\n\r\n CommonService,\r\n AlertService,\r\n ConfigurationService,\r\n AppTitleService,\r\n AppTranslationService,\r\n NotificationService,\r\n NotificationEndpoint,\r\n AccountService,\r\n AccountEndpoint,\r\n LocalStoreManager,\r\n OidcHelperService,\r\n CarTypeService,\r\n CatalogService,\r\n CatalogEndpoint,\r\n CarInsuranceEndpoint,\r\n CarInsuranceService,\r\n DriverLicenceEndpoint,\r\n DriverLicenceService,\r\n PassportEndpoint,\r\n PassportService,\r\n RegistrationCertificateEndpoint,\r\n RegistrationCertificateService,\r\n NavigationService,\r\n TravelEndpoint,\r\n TravelService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'app-about',\r\n templateUrl: './about.component.html',\r\n styleUrls: ['./about.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class AboutComponent { }\r\n","\r\n\r\n
\r\n
\r\n

Welcome to SYDI.Fianance

\r\n\r\n
\r\n
\r\n","\r\nimport { Component, OnInit, AfterViewInit, OnDestroy, ViewChildren, QueryList } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { delay, map } from 'rxjs/operators';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { JwtHelper } from '../../services/jwt-helper';\r\n\r\n@Component({\r\n selector: 'app-auth-callback',\r\n templateUrl: './auth-callback.component.html',\r\n styleUrls: ['./auth-callback.component.scss']\r\n})\r\n\r\nexport class AuthCallbackComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n message: string;\r\n isLoading = false;\r\n provider: string;\r\n externalAuthToken: string;\r\n email: string;\r\n loginStatusSubscription: any;\r\n formsSubscription: any;\r\n\r\n urlFragmentProcessed = false;\r\n urlQueryParamsProcessed = false;\r\n tokenProcessed = false;\r\n\r\n googleProvider = 'Google';\r\n facebookProvider = 'Facebook';\r\n twitterProvider = 'Twitter';\r\n appleProvider = 'Apple';\r\n\r\n loginForm: UntypedFormGroup;\r\n\r\n @ViewChildren('form')\r\n private forms: QueryList;\r\n private form: NgForm;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private alertService: AlertService,\r\n private authService: AuthService,\r\n private formBuilder: UntypedFormBuilder) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.getShouldRedirect()) {\r\n this.authService.redirectLoginUser();\r\n return;\r\n } else {\r\n this.loginStatusSubscription = this.authService.getLoginStatusEvent().subscribe(() => {\r\n if (this.getShouldRedirect()) {\r\n this.authService.redirectLoginUser();\r\n }\r\n });\r\n }\r\n\r\n this.setProvider(this.route.snapshot.url[0].path);\r\n\r\n //google, facebook redirect\r\n this.route.fragment.subscribe(frag => {\r\n const fragParams: any = Utilities.getQueryParamsFromString(frag);\r\n this.processTokens(fragParams);\r\n this.urlFragmentProcessed = true;\r\n });\r\n\r\n //apple redirect\r\n this.route.queryParams.subscribe(params => {\r\n const queryParams: any = Utilities.GetObjectWithLoweredPropertyNames(params);\r\n this.processTokens(queryParams);\r\n this.urlQueryParamsProcessed = true;\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.formsSubscription = this.forms.changes.subscribe(ql => this.form = this.forms.first);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.loginStatusSubscription) {\r\n this.loginStatusSubscription.unsubscribe();\r\n }\r\n\r\n if (this.formsSubscription) {\r\n this.formsSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n buildForm() {\r\n this.loginForm = this.formBuilder.group({\r\n email: [{ value: '', disabled: true }],\r\n password: ['', Validators.required]\r\n });\r\n }\r\n\r\n get passwordControl() { return this.loginForm.get('password'); }\r\n\r\n get foundEmail(): string {\r\n const formModel = this.loginForm.getRawValue();\r\n return formModel.email;\r\n }\r\n set foundEmail(email: string) {\r\n this.loginForm.patchValue({ email });\r\n }\r\n\r\n get userPassword(): string {\r\n const formModel = this.loginForm.value;\r\n return formModel.password;\r\n }\r\n set userPassword(password: string) {\r\n this.loginForm.patchValue({ password });\r\n }\r\n\r\n getShouldRedirect() {\r\n return this.authService.isLoggedIn && !this.authService.isSessionExpired;\r\n }\r\n\r\n setProvider(url: string) {\r\n if (url.includes(this.googleProvider.toLowerCase())) {\r\n this.provider = this.googleProvider;\r\n } else if (url.includes(this.facebookProvider.toLowerCase())) {\r\n this.provider = this.facebookProvider;\r\n } else if (url.includes(this.twitterProvider.toLowerCase())) {\r\n this.provider = this.twitterProvider;\r\n } else if (url.includes(this.appleProvider.toLowerCase())) {\r\n this.provider = this.appleProvider;\r\n } else {\r\n throw new Error('Unknown login provider');\r\n }\r\n }\r\n\r\n processTokens(tokensObject: any) {\r\n if (this.tokenProcessed) {\r\n return;\r\n }\r\n\r\n if (tokensObject) {\r\n if (tokensObject.access_token) {\r\n if (tokensObject.id_token) {\r\n const decodedIdToken = new JwtHelper().decodeToken(tokensObject.id_token);\r\n this.email = decodedIdToken.email || decodedIdToken.emailAddress;\r\n this.tokenProcessed = true;\r\n this.loginWithToken(tokensObject.access_token, this.provider, this.email);\r\n }\r\n else if(this.provider === this.facebookProvider) {\r\n this.authService.getFacebookEmail(tokensObject.access_token)\r\n .then(response => {\r\n this.email = response.email;\r\n this.tokenProcessed = true;\r\n this.loginWithToken(tokensObject.access_token, this.provider, this.email);\r\n });\r\n }\r\n } else if (tokensObject.oauth_token && tokensObject.oauth_verifier) {\r\n if (this.provider === this.twitterProvider) {\r\n this.tokenProcessed = true;\r\n this.isLoading = true;\r\n this.message = 'Connecting to twitter...';\r\n this.authService.getTwitterAccessToken(tokensObject.oauth_token, tokensObject.oauth_verifier)\r\n .subscribe(accessToken => {\r\n this.isLoading = true;\r\n this.message = 'Processing...';\r\n this.loginWithToken(accessToken, this.provider);\r\n },\r\n error => {\r\n this.isLoading = false;\r\n this.message = null;\r\n this.showLoginErrorMessage(error);\r\n });\r\n }\r\n } else if (tokensObject.id_token && this.provider === this.appleProvider) {\r\n const decodedIdToken = new JwtHelper().decodeToken(tokensObject.id_token);\r\n this.email = decodedIdToken.email || decodedIdToken.emailAddress;\r\n this.tokenProcessed = true;\r\n this.loginWithToken(tokensObject.access_token, this.provider, this.email);\r\n }\r\n }\r\n\r\n if (!this.tokenProcessed && (this.urlFragmentProcessed || this.urlQueryParamsProcessed)) {\r\n setTimeout(() => {\r\n this.alertService.showMessage('Invalid login', 'No valid tokens found', MessageSeverity.error);\r\n }, 500);\r\n\r\n this.message = 'Error.';\r\n this.authService.redirectLogoutUser();\r\n }\r\n }\r\n\r\n loginWithToken(token: string, provider: string, email?: string) {\r\n this.externalAuthToken = token;\r\n this.isLoading = true;\r\n this.message = 'Processing...';\r\n this.alertService.startLoadingMessage('', 'Signing in...');\r\n\r\n this.authService.loginWithExternalToken(token, provider, email)\r\n .subscribe(\r\n user => {\r\n setTimeout(() => {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n //this.alertService.showMessage('Login', `Welcome ${user.userName}!`, MessageSeverity.success);\r\n }, 500);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.message = 'Error.';\r\n this.foundEmail = Utilities.findHttpResponseMessage('email', error);\r\n\r\n if (this.foundEmail) {\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n this.alertService.showStickyMessage('User already exists', this.mapLoginErrorMessage(errorMessage), MessageSeverity.default, error);\r\n } else {\r\n this.showLoginErrorMessage(error);\r\n }\r\n });\r\n }\r\n\r\n\r\n linkAccountAndLogin() {\r\n if (!this.form.submitted) {\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.loginForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage('', 'Attempting login...');\r\n\r\n this.authService.loginWithExternalToken(this.externalAuthToken, this.provider, this.email)\r\n .subscribe(\r\n user => {\r\n setTimeout(() => {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.userPassword = '';\r\n\r\n //this.alertService.showMessage('Login', `Welcome ${user.userName}!`, MessageSeverity.success);\r\n }, 500);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.showLoginErrorMessage(error, false);\r\n\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 500);\r\n });\r\n }\r\n\r\n showLoginErrorMessage(error, redirect = true) {\r\n setTimeout(() => {\r\n if (Utilities.checkNoNetwork(error)) {\r\n this.alertService.showStickyMessage(Utilities.noNetworkMessageCaption, Utilities.noNetworkMessageDetail, MessageSeverity.error, error);\r\n } else {\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage('Unable to login', this.mapLoginErrorMessage(errorMessage), MessageSeverity.error, error);\r\n } else {\r\n this.alertService.showStickyMessage('Unable to login', 'An error occured, please try again later.\\nError: ' + Utilities.getResponseBody(error), MessageSeverity.error, error);\r\n }\r\n }\r\n\r\n }, 500);\r\n\r\n if (redirect) {\r\n this.authService.redirectLogoutUser();\r\n }\r\n }\r\n\r\n mapLoginErrorMessage(error: string) {\r\n if (error === 'invalid_username_or_password') {\r\n return 'Invalid username or password';\r\n }\r\n\r\n return error;\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n \r\n {{message}}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Link {{provider}} account\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\nimport { Component, OnInit, AfterViewInit, OnDestroy, ViewChildren, QueryList } from '@angular/core';\r\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime, tap, switchMap, finalize, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ThemeService } from 'ng2-charts';\r\nimport { MatPaginatorIntl, PageEvent } from '@angular/material/paginator';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { CatalogService } from 'src/app/services/catalog.service';\r\nimport { City } from 'src/app/models/city.model';\r\n\r\nimport { CarTypeModel } from 'src/app/models/cartype.model';\r\nimport { CarTypePropertyModel } from 'src/app/models/cartypeproperty.model';\r\nimport { CarTypeService } from 'src/app/services/cartype.service';\r\nimport { CarInsuranceService } from 'src/app/services/car-insurance.service';\r\nimport { CarInsuranceProductsRequest } from 'src/app/models/car-insurance-products-request.model';\r\nimport { CarInsuranceProductsResponse } from 'src/app/models/car-insurance-products-response.model';\r\nimport { CarInsuranceProduct } from 'src/app/models/car-insurance-product.model';\r\nimport { CarInsuranceProperty } from 'src/app/models/car-insurance-property.model';\r\nimport { CarInsurancePropertyType } from 'src/app/models/CarInsurancePropertyType';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\n\r\n@Component({\r\n selector: 'app-car-insurance-offers',\r\n templateUrl: './car-insurance-offers.component.html',\r\n styleUrls: ['./car-insurance-offers.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class CarInsuranceOffersComponent implements OnInit {\r\n\r\n kyivCodeTE = '8000000000';\r\n private cityId: string;\r\n private carTypeId: number;\r\n private carTypePropertyId: number;\r\n\r\n public selectedCity: City;\r\n public selectedCarType: CarTypeModel;\r\n public selectedCarTypeProperty : CarTypePropertyModel;\r\n public searchResult: string;\r\n public loadingIndicator: boolean;\r\n public loadingDataSource: boolean;\r\n public carInsuranceProducts: CarInsuranceProduct[];\r\n public dataSource: CarInsuranceProduct[];\r\n\r\n public pageEvent: PageEvent;\r\n public pageSize = 6;\r\n public currentPage = 0;\r\n public totalSize = 0;\r\n\r\n constructor (\r\n public configurations: ConfigurationService,\r\n private route: ActivatedRoute,\r\n private catalogService: CatalogService,\r\n private carService: CarTypeService,\r\n private carInsuranceService: CarInsuranceService,\r\n public _MatPaginatorIntl: MatPaginatorIntl,\r\n private navigationService: NavigationService,\r\n private router: Router ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this._MatPaginatorIntl.firstPageLabel = 'До Першої Сторінки';\r\n this._MatPaginatorIntl.itemsPerPageLabel = 'Кількість На Сторінці';\r\n this._MatPaginatorIntl.lastPageLabel = 'До Останньої Сторінки';\r\n this._MatPaginatorIntl.nextPageLabel = 'До Наступної Сторінки';\r\n this._MatPaginatorIntl.previousPageLabel = 'До Попередньої Сторінки';\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n this.cityId = params['id'] || this.kyivCodeTE;\r\n\r\n this.carTypeId = params['carType'] || 1;\r\n this.carTypePropertyId = params['carTypeProperty'] || 2;\r\n\r\n this.loadData();\r\n });\r\n\r\n }\r\n\r\n loadData()\r\n {\r\n this.loadingIndicator = true;\r\n this.loadingDataSource = true;\r\n\r\n this.catalogService.getCity(this.cityId).subscribe(\r\n city => this.onSelectedCityDataLoadSuccessful(city),\r\n error => this.onSelectedCityDataLoadFailed(error)\r\n );\r\n\r\n let filter = new CarInsuranceProductsRequest(this.cityId, this.carTypeId, this.carTypePropertyId);\r\n\r\n this.carInsuranceService.getProducts(filter).subscribe(\r\n response => this.onProductsLoadSuccessful(response),\r\n error => this.onProductsLoadFailed(error)\r\n )\r\n\r\n }\r\n\r\n private onProductsLoadSuccessful(response: CarInsuranceProductsResponse){\r\n let products = response.products;\r\n\r\n let positionId = 1;\r\n products.forEach(function (value) {\r\n value.localId = positionId++;\r\n });\r\n\r\n this.dataSource = products\r\n //.filter(p => p.franchisePrice == 1000 && p.price == 2520.7215)\r\n ;\r\n\r\n this.totalSize = this.dataSource.length;\r\n this.currentPage = 0;\r\n this.iterator();\r\n this.loadingDataSource = false;\r\n\r\n }\r\n\r\n private onProductsLoadFailed(error: any) {\r\n this.totalSize = 0;\r\n this.currentPage = 0;\r\n this.dataSource = [];\r\n this.iterator();\r\n this.loadingDataSource = false;\r\n }\r\n\r\n handlePageEvent(event: PageEvent) {\r\n this.currentPage = event.pageIndex;\r\n this.pageSize = event.pageSize;\r\n this.iterator();\r\n }\r\n\r\n private iterator() {\r\n const end = (this.currentPage + 1) * this.pageSize;\r\n const start = this.currentPage * this.pageSize;\r\n const part = this.dataSource.slice(start, end);\r\n this.carInsuranceProducts = part;\r\n }\r\n\r\n private onSelectedCityDataLoadSuccessful(city: City) {\r\n this.selectedCity = city;\r\n\r\n let carTypes = this.carService.getCarTypes().filter(p => p.Id == this.carTypeId);\r\n if(carTypes.length > 0)\r\n this.selectedCarType = carTypes[0];\r\n\r\n let carTypePropertities = this.carService.getCarTypeProperties().filter(p => p.Id == this.carTypePropertyId);\r\n if(carTypePropertities.length > 0)\r\n this.selectedCarTypeProperty = carTypePropertities[0];\r\n\r\n let cityName = city?.town;\r\n if(city?.mainRegion != null)\r\n cityName = cityName + \" ( \" + city?.mainRegion +\" ) \";\r\n\r\n this.searchResult = cityName + \" \" + this.selectedCarType?.Name + \" ( \" + this.selectedCarTypeProperty?.Name + \" )\";\r\n\r\n this.loadingIndicator = false;\r\n }\r\n\r\n private onSelectedCityDataLoadFailed(error: any) {\r\n this.loadingIndicator = false;\r\n }\r\n\r\n filterBase(item: CarInsuranceProperty){\r\n\r\n var carInsurancePropertyType : CarInsurancePropertyType = (CarInsurancePropertyType)[item.carInsurancePropertyType];\r\n\r\n let result = carInsurancePropertyType == CarInsurancePropertyType.Base;\r\n return result;\r\n }\r\n\r\n filterAdditional(item: CarInsuranceProperty){\r\n\r\n var carInsurancePropertyType : CarInsurancePropertyType = (CarInsurancePropertyType)[item.carInsurancePropertyType];\r\n\r\n let result = carInsurancePropertyType == CarInsurancePropertyType.Additional;\r\n return result;\r\n }\r\n\r\n markGreen(item: CarInsuranceProduct)\r\n {\r\n let result = item.directSettlement === true || item.trafficAccidentMedicine === true;\r\n return result;\r\n }\r\n\r\n onAuxiliaryProductChange(auxiliaryProduct, localId)\r\n {\r\n let selectedProduct = this.dataSource\r\n .filter(p => p.localId == localId).shift();\r\n selectedProduct.selectedAuxiliaryProduct = auxiliaryProduct?.value;\r\n\r\n var discount = 0;\r\n if(selectedProduct != null && selectedProduct.discountPercent != null) {\r\n discount = selectedProduct.price * selectedProduct.discountPercent / 100;\r\n }\r\n\r\n selectedProduct.sum = selectedProduct?.selectedAuxiliaryProduct\r\n ? selectedProduct.price + selectedProduct?.selectedAuxiliaryProduct?.sum - discount\r\n : selectedProduct.price - discount;\r\n\r\n }\r\n\r\n public auxiliaryProductComparisonFunction = function( option, value ) : boolean {\r\n return option.id === value.id;\r\n }\r\n\r\n buy(item: CarInsuranceProduct)\r\n {\r\n this.router.navigate(\r\n ['/car-insurance/order'],\r\n { queryParams: { id: this.cityId,\r\n carType: this.carTypeId,\r\n carTypeProperty: this.carTypePropertyId,\r\n insuranceCompany: item.insuranceCompany,\r\n franchiseId: item.franchiseId,\r\n directSettlement: item.directSettlement,\r\n trafficAccidentMedicine: item.trafficAccidentMedicine,\r\n auxiliaryProductId: item.selectedAuxiliaryProduct?.id } }\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
\r\n

Автоцивілка онлайн (Поліс ОСЦПВ)

\r\n
\r\n
\r\n
\r\n
{{searchResult}}
\r\n
\r\n\t\t
\r\n
Покриття ваших витрат при настанні ДТП з іншим учасником. Розширення страхового ліміту. Гнучкі тарифи та індивідуальний підхід. Дистанційне врегулювання. Підтримка 24/7.
\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
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \"Salamandra\"\r\n\r\n
\r\n
\r\n
{{carInsuranceProduct?.insuranceCompanyName}}
\r\n
\r\n
\r\n
{{carInsuranceProduct.franchisePrice | number:'1.2-2'}} грн.
\r\n

Франшиза

\r\n\r\n \r\n Додаткове покриття\r\n \r\n \r\n \r\n {{auxiliaryProduct.price | number:'1.2-2'}} грн.\r\n за {{auxiliaryProduct.sum | number:'1.2-2'}} грн.\r\n \r\n \r\n \r\n\r\n

\r\n Додаткове покриття з {{carInsuranceProduct.selectedAuxiliaryProduct.price | number:'1.2-2'}} грн.\r\n за {{carInsuranceProduct.selectedAuxiliaryProduct.sum | number:'1.2-2'}} грн.

\r\n\r\n
\r\n
\r\n

{{carInsuranceProduct.price | number:'1.2-2'}} грн.

\r\n

{{carInsuranceProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n

{{carInsuranceProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n\r\n
    \r\n
  • Базові опції\r\n
      \r\n
    • {{carInsuranceProperty.name}}
    • \r\n
    \r\n
  • \r\n
  • Додаткові опції\r\n
      \r\n
    • {{carInsuranceProperty.name}}
    • \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 \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\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\r\n\r\n","import { ChangeDetectorRef, Component, Directive, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { InsuranceCompany } from \"src/app/models/InsuranceCompany\";\r\nimport { CarInsuranceProductRequest } from \"src/app/models/car-insurance/car-insurance-product-request.model\";\r\nimport { CarInsuranceProductResponse } from \"src/app/models/car-insurance/car-insurance-product-response.model\";\r\nimport { CarTypeModel } from \"src/app/models/cartype.model\";\r\nimport { CarTypePropertyModel } from \"src/app/models/cartypeproperty.model\";\r\nimport { City } from \"src/app/models/city.model\";\r\nimport { fadeInOut } from \"src/app/services/animations\";\r\nimport { CarInsuranceService } from \"src/app/services/car-insurance.service\";\r\nimport { CarTypeService } from \"src/app/services/cartype.service\";\r\nimport { CatalogService } from \"src/app/services/catalog.service\";\r\nimport { ConfigurationService } from \"src/app/services/configuration.service\";\r\nimport { NavigationService } from \"src/app/services/navigation.service\";\r\nimport { CarInsuranceProduct } from \"src/app/models/car-insurance-product.model\";\r\nimport { CarInsuranceProperty } from \"src/app/models/car-insurance-property.model\";\r\nimport { CarInsurancePropertyType } from \"src/app/models/CarInsurancePropertyType\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { User } from \"src/app/models/user.model\";\r\nimport { Role } from \"src/app/models/role.model\";\r\nimport { Observable, debounceTime, distinctUntilChanged, filter, finalize, forkJoin, switchMap, tap } from \"rxjs\";\r\nimport { CarOrderModel } from \"src/app/models/car-insurance/car-order.model\";\r\nimport { NgForm, UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from \"@angular/material-moment-adapter\";\r\nimport { dateValidator, yearValidator } from \"src/app/shared/validators/equal.validator\";\r\nimport { AlertService, MessageSeverity } from \"src/app/services/alert.service\";\r\nimport { CarBrandView } from \"src/app/models/carbrandview.model\";\r\nimport { CarModelView } from \"src/app/models/carmodelview.model\";\r\nimport { CarType } from \"src/app/models/CarType\";\r\nimport { CarTypeProperty } from \"src/app/models/CarTypeProperty\";\r\nimport { Moment } from \"moment\";\r\nimport { MatDatepicker } from \"@angular/material/datepicker\";\r\nimport moment from \"moment\";\r\nimport { CarInsuranceBookingRecord } from \"src/app/models/car-insurance/car-insurance-booking-record.model\";\r\nimport { MAT_SELECT_CONFIG } from \"@angular/material/select\";\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Buffer } from 'buffer';\r\n\r\n@Component({\r\n selector: 'app-car-insurance-order',\r\n templateUrl: './car-insurance-order.component.html',\r\n styleUrls: ['./car-insurance-order.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\r\n\r\n ]\r\n})\r\n\r\nexport class CarInsuranceOrderComponent implements OnInit {\r\n\r\n @ViewChild('orderNgForm', { static: true }) orderNgForm: NgForm;\r\n @ViewChild('paymentForm') paymentFormElement;\r\n\r\n @Input() isEditMode = true;\r\n\r\n public searchResult: string;\r\n public selectedCity: City;\r\n public selectedCarType: CarTypeModel;\r\n public selectedCarTypeProperty : CarTypePropertyModel;\r\n\r\n kyivCodeTE = '8000000000';\r\n private cityId: string;\r\n private carTypeId: number;\r\n private carTypePropertyId: number;\r\n public insuranceCompany: InsuranceCompany;\r\n private franchiseId: number;\r\n private directSettlement: boolean;\r\n private trafficAccidentMedicine: boolean;\r\n private auxiliaryProductId: number;\r\n\r\n public loadingDataSource: boolean;\r\n public isSaving: boolean;\r\n\r\n public carInsuranceProduct: CarInsuranceProduct;\r\n public user: User;\r\n public orderForm: UntypedFormGroup;\r\n\r\n public selectedDocument: string;\r\n\r\n filteredCities: City[] =\r\n [{id: '8000000000', town: 'М.КИЇВ', region: '',mainRegion:'', friendlyName:''},\r\n {id: '6310100000', town: 'ХАРКІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1210100000', town: 'ДНІПРО' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '4610100000', town: 'ЛЬВІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '5310100000', town: 'ПОЛТАВА' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0510100000', town: 'ВІННИЦЯ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1410100000', town: 'ДОНЕЦЬК' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0110100000', town: 'СІМФЕРОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '8500000000', town: 'М.СЕВАСТОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n ];\r\n\r\n isLoadingCity = false;\r\n minLengthTerm = 3;\r\n passportSelectedCity: City = null;\r\n isValidSelectedCity = false;\r\n\r\n private optionalRegexPrefix = \"^$|\";\r\n\r\n public isLoadingMarks = false;\r\n carBrands: CarBrandView[];\r\n\r\n filteredCarBrands: CarBrandView[];\r\n filteredCarModels: CarModelView[];\r\n\r\n selectedCarBrand: CarBrandView = new CarBrandView();\r\n selectedCarModel: CarModelView = new CarModelView();\r\n\r\n public accepted:boolean = false;\r\n public minValidDate = moment().add(1, 'days');\r\n public maxManufactureYear = moment();\r\n\r\n public gatewayUrl:string;\r\n public payment:string;\r\n public key:string;\r\n public callbackUrl:string;\r\n public data:string;\r\n public req_token:string;\r\n public sign:string;\r\n public useremail:string;\r\n public order:string;//internal order id\r\n public ext1:string;//user id\r\n public ext2:string;//insurance company id\r\n public ext3:string;//insurance company name\r\n public ext4:string;//external order id\r\n\r\n constructor (\r\n public configurations: ConfigurationService,\r\n private route: ActivatedRoute,\r\n private catalogService: CatalogService,\r\n private carService: CarTypeService,\r\n private carInsuranceService: CarInsuranceService,\r\n private navigationService: NavigationService,\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private accountService: AccountService,\r\n private ref: ChangeDetectorRef,\r\n private alertService: AlertService,\r\n private http: HttpClient ) {\r\n this.selectedDocument = 'passport';\r\n this.isSaving = false;\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.isLoadingMarks = true;\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n this.cityId = params['id'] || this.kyivCodeTE;\r\n this.carTypeId = params['carType'] || 1;\r\n this.carTypePropertyId = params['carTypeProperty'] || 2;\r\n\r\n this.insuranceCompany = params['insuranceCompany'] ? params['insuranceCompany'] as InsuranceCompany : undefined;\r\n this.franchiseId = params['franchiseId'] ? parseInt(params['franchiseId']) : undefined;\r\n this.directSettlement = params['directSettlement'] === 'true' ? true: false;\r\n this.trafficAccidentMedicine = params['trafficAccidentMedicine'] === 'true' ? true: false;\r\n this.auxiliaryProductId = params['auxiliaryProductId'] ? parseInt(params['auxiliaryProductId']) : undefined;\r\n\r\n this.loadData();\r\n\r\n this.bindSearchCity();\r\n\r\n this.acceptedByClient.disable();\r\n this.validTo.disable();\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n //this.alertService.showMessage('Автоцивілка', `Заявку на страхування відправлено`, MessageSeverity.success);\r\n }\r\n\r\n private buildForm() {\r\n let dateRegex = new RegExp(\"^\\\\d{1,2}.\\\\d{1,2}.\\\\d{4,4}$\");\r\n\r\n let yearRegex = new RegExp(\"^\\\\d{4,4}$\");\r\n\r\n this.selectedDocument = 'passport';\r\n\r\n var numberValidators = [Validators.required, Validators.pattern(\"^[0-9]{6,6}$\")];\r\n if(this.selectedDocument === 'driverlicence') {\r\n numberValidators = [Validators.required, Validators.pattern(\"^[0-9]{9,9}$\")];\r\n }\r\n\r\n var seriaValidators = [Validators.required, Validators.pattern(\"^[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЮЯЇІЄҐ]{2,2}$\")];\r\n if(this.selectedDocument === 'driverlicence') {\r\n seriaValidators = [Validators.required, Validators.pattern(\"^[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЮЯЇІЄҐ]{3,3}$\")];\r\n } else if(this.selectedDocument === 'idcard') {\r\n seriaValidators = null;\r\n }\r\n\r\n var taxIdValidators = [Validators.required, Validators.pattern(\"^[0-9]{10,10}$\")];\r\n\r\n this.orderForm = this.formBuilder.group({\r\n email: [''],\r\n phoneNumber: ['', [Validators.required, Validators.pattern(/(?=.*\\d).{12,12}/)]],\r\n seria: ['', seriaValidators],\r\n number: ['', numberValidators],\r\n issued: ['', [Validators.required, dateValidator(dateRegex)]],\r\n issuer: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{4,200}$\")]],\r\n firstname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,40}$\")]],\r\n lastname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,200}$\")]],\r\n middlename: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{1,200}$\")]],\r\n birthday: ['', [Validators.required, dateValidator(dateRegex)]],\r\n taxId: ['', taxIdValidators],\r\n searchCity:['', Validators.required],\r\n cityName:'',\r\n cityKoatuuId:'',\r\n street:['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{2,100}$\")]],\r\n houseNumber:['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{1,20}$\")]],\r\n apartmentNumber:['', [\r\n Validators.pattern(this.optionalRegexPrefix + \"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{1,20}$\")]],\r\n make: ['',\r\n [Validators.required,\r\n Validators.pattern(\"^[a-zA-Z0-9аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\ \\-]{2,100}$\")]],\r\n model: ['',\r\n [Validators.required,\r\n Validators.pattern(\"^[a-zA-Z0-9аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\ ]{2,100}$\")]],\r\n registrationNumber: ['',\r\n [Validators.required, Validators.pattern(\"^[A-Z0-9\\ ]{6,10}$\")]],\r\n manufactureYear: [moment(new Date()), [Validators.required, yearValidator(yearRegex)]],\r\n vehicleIdentificationNumber: ['',\r\n [Validators.required, Validators.pattern(\"^[a-zA-Z0-9аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ]{17,17}$\")]],\r\n acceptedByClient: ['', Validators.requiredTrue],\r\n validFrom: ['', [Validators.required, dateValidator(dateRegex)]],\r\n validTo: ['', [Validators.required, dateValidator(dateRegex)]]\r\n });\r\n }\r\n\r\n get email() { return this.orderForm.get('email'); }\r\n\r\n get phoneNumber() { return this.orderForm.get('phoneNumber'); }\r\n\r\n get seria() { return this.orderForm.get('seria'); }\r\n\r\n get number() { return this.orderForm.get('number'); }\r\n\r\n get issued() { return this.orderForm.get('issued'); }\r\n\r\n get issuer() { return this.orderForm.get('issuer'); }\r\n\r\n get firstname() { return this.orderForm.get('firstname'); }\r\n\r\n get lastname() { return this.orderForm.get('lastname'); }\r\n\r\n get middlename() { return this.orderForm.get('middlename'); }\r\n\r\n get birthday() { return this.orderForm.get('birthday'); }\r\n\r\n get taxId() { return this.orderForm.get('taxId'); }\r\n\r\n get searchCityControl() { return this.orderForm.get('searchCity'); }\r\n\r\n get cityNameControl() { return this.orderForm.get('cityName'); }\r\n\r\n get cityKoatuuIdControl() { return this.orderForm.get('cityKoatuuId'); }\r\n\r\n get street() { return this.orderForm.get('street'); }\r\n\r\n get houseNumber() { return this.orderForm.get('houseNumber'); }\r\n\r\n get apartmentNumber() { return this.orderForm.get('apartmentNumber'); }\r\n\r\n get make() { return this.orderForm.get('make'); }\r\n\r\n get model() { return this.orderForm.get('model'); }\r\n\r\n get registrationNumber() { return this.orderForm.get('registrationNumber'); }\r\n\r\n get manufactureYear() { return this.orderForm.get('manufactureYear'); }\r\n\r\n get vehicleIdentificationNumber() { return this.orderForm.get('vehicleIdentificationNumber'); }\r\n\r\n get acceptedByClient() { return this.orderForm.get('acceptedByClient'); }\r\n\r\n get validFrom() { return this.orderForm.get('validFrom'); }\r\n\r\n get validTo() { return this.orderForm.get('validTo'); }\r\n\r\n public casePatterns = {\r\n U: {\r\n pattern: new RegExp('[a-zA-ZаАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ]')\r\n }\r\n };\r\n\r\n public vincodePatterns = {\r\n P: {\r\n pattern: new RegExp('[A-Z0-9]')\r\n }\r\n };\r\n\r\n public vehicleNumberPatterns = {\r\n P: {\r\n pattern: new RegExp('[a-zA-Z0-9аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ]')\r\n }\r\n };\r\n\r\n public taxIdPatterns = {\r\n P: {\r\n pattern: new RegExp('[0-9]')\r\n }\r\n };\r\n\r\n loadData()\r\n {\r\n this.loadingDataSource = true;\r\n\r\n let loadingCity: Observable = this.catalogService.getCity(this.cityId);\r\n\r\n let filter = new CarInsuranceProductRequest(this.cityId,\r\n this.carTypeId,\r\n this.carTypePropertyId,\r\n this.insuranceCompany,\r\n this.franchiseId,\r\n this.directSettlement,\r\n this.trafficAccidentMedicine\r\n );\r\n\r\n let loadingProduct: Observable = this.carInsuranceService.getProduct(filter);\r\n\r\n let loadingUser: Observable = this.accountService.getUser();\r\n\r\n var carType : CarType = this.carTypeId as CarType;\r\n var carTypeProperty : CarTypeProperty = this.carTypePropertyId as CarTypeProperty;\r\n\r\n let carBrands: Observable = this.catalogService.getCarBrands(carType, carTypeProperty);\r\n\r\n forkJoin(loadingCity, loadingProduct, loadingUser, carBrands).subscribe(results => {\r\n let city = results[0];\r\n let product = results[1];\r\n let user = results[2];\r\n\r\n this.carBrands = results[3];\r\n this.clearCarBrandSelection();\r\n\r\n this.onSelectedCityDataLoadSuccessful(city);\r\n this.onProductsLoadSuccessful(product);\r\n this.onCurrentUserDataLoadSuccessful(user, user.roles.map(r => new Role(r)));\r\n\r\n this.loadingDataSource = false;\r\n this.isLoadingMarks = false;\r\n\r\n },\r\n error => {\r\n console.log(error);\r\n this.loadingDataSource = false;\r\n this.isLoadingMarks = false;\r\n });\r\n }\r\n\r\n private onProductsLoadSuccessful(response: CarInsuranceProductResponse) {\r\n this.carInsuranceProduct = response.product;\r\n\r\n var discount = 0;\r\n\r\n if(this.carInsuranceProduct.discountPercent != null) {\r\n discount = this.carInsuranceProduct.price * this.carInsuranceProduct.discountPercent / 100;\r\n }\r\n\r\n if(this.auxiliaryProductId && this.carInsuranceProduct.auxiliaryProducts) {\r\n let selectedAuxiliaryProduct = this.carInsuranceProduct.auxiliaryProducts.find(x => x.id == this.auxiliaryProductId);\r\n\r\n if(selectedAuxiliaryProduct != null) {\r\n this.carInsuranceProduct.selectedAuxiliaryProduct = selectedAuxiliaryProduct;\r\n this.carInsuranceProduct.sum = this.carInsuranceProduct.price + selectedAuxiliaryProduct.sum - discount;\r\n }\r\n } else {\r\n this.carInsuranceProduct.sum = this.carInsuranceProduct.price - discount;\r\n }\r\n }\r\n\r\n private onCurrentUserDataLoadSuccessful(user: User, roles: Role[]) {\r\n this.user = user;\r\n\r\n const emailControl = this.orderForm.controls.email;\r\n const phoneNumberControl = this.orderForm.controls.phoneNumber;\r\n\r\n emailControl.setValue(user.email);\r\n phoneNumberControl.setValue(user.phoneNumber);\r\n }\r\n\r\n private onSelectedCityDataLoadSuccessful(city: City) {\r\n this.selectedCity = city;\r\n this.passportSelectedCity = city;\r\n\r\n this.cityKoatuuIdControl.setValue(this.passportSelectedCity.id);\r\n this.cityNameControl.setValue(this.passportSelectedCity.town);\r\n this.searchCityControl.setValue(this.passportSelectedCity.town);\r\n\r\n let carTypes = this.carService.getCarTypes().filter(p => p.Id == this.carTypeId);\r\n if(carTypes.length > 0)\r\n this.selectedCarType = carTypes[0];\r\n\r\n let carTypePropertities = this.carService.getCarTypeProperties().filter(p => p.Id == this.carTypePropertyId);\r\n if(carTypePropertities.length > 0)\r\n this.selectedCarTypeProperty = carTypePropertities[0];\r\n\r\n let cityName = city?.town;\r\n if(city?.mainRegion != null)\r\n cityName = cityName + \" ( \" + city?.mainRegion +\" ) \";\r\n\r\n this.searchResult = cityName + \" \" + this.selectedCarType?.Name + \" ( \" + this.selectedCarTypeProperty?.Name + \" )\";\r\n\r\n }\r\n\r\n onDocumentChange(val: string) {\r\n this.selectedDocument = val;\r\n\r\n const seriaControl = this.orderForm.controls.seria;\r\n const numberControl = this.orderForm.controls.number;\r\n\r\n if(this.selectedDocument === 'idcard') {\r\n seriaControl?.disable();\r\n } else {\r\n seriaControl?.enable();\r\n }\r\n\r\n if(this.selectedDocument !== 'driverlicence' && numberControl.value != null) {\r\n var strshortened = numberControl.value.slice(0,6);\r\n numberControl.setValue(strshortened);\r\n }\r\n\r\n var numberValidators = [Validators.required, Validators.pattern(\"^[0-9]{6,6}$\")];\r\n if(this.selectedDocument === 'idcard') {\r\n numberValidators = [Validators.required, Validators.pattern(\"^[0-9]{9,9}$\")];\r\n }\r\n\r\n var seriaValidators = [Validators.required, Validators.pattern(\"^[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЮЯЇІЄҐ]{2,2}$\")];\r\n if(this.selectedDocument === 'driverlicence') {\r\n seriaValidators = [Validators.required, Validators.pattern(\"^[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЮЯЇІЄҐ]{3,3}$\")];\r\n } else if(this.selectedDocument === 'idcard') {\r\n seriaValidators = null;\r\n }\r\n\r\n seriaControl.setValidators(seriaValidators);\r\n seriaControl.updateValueAndValidity();\r\n\r\n numberControl.updateValueAndValidity();\r\n numberControl.setValidators(numberValidators);\r\n }\r\n\r\n filterBase(item: CarInsuranceProperty){\r\n\r\n var carInsurancePropertyType : CarInsurancePropertyType = (CarInsurancePropertyType)[item.carInsurancePropertyType];\r\n\r\n let result = carInsurancePropertyType == CarInsurancePropertyType.Base;\r\n return result;\r\n }\r\n\r\n filterAdditional(item: CarInsuranceProperty){\r\n\r\n var carInsurancePropertyType : CarInsurancePropertyType = (CarInsurancePropertyType)[item.carInsurancePropertyType];\r\n\r\n let result = carInsurancePropertyType == CarInsurancePropertyType.Additional;\r\n return result;\r\n }\r\n\r\n markGreen(item: CarInsuranceProduct)\r\n {\r\n let result = item.directSettlement === true || item.trafficAccidentMedicine === true;\r\n return result;\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.ref.detectChanges();\r\n }\r\n\r\n public validate() {\r\n\r\n this.orderForm.markAllAsTouched();\r\n\r\n if (!this.orderNgForm.submitted) {\r\n // Causes validation to update.\r\n this.orderNgForm.onSubmit(null);\r\n }\r\n\r\n if (!this.orderForm.valid) {\r\n return;\r\n }\r\n\r\n this.acceptedByClient.enable();\r\n this.isEditMode = false;\r\n }\r\n\r\n public async save() {\r\n\r\n if (!this.orderForm.valid) {\r\n return;\r\n }\r\n\r\n this.loadingDataSource = true;\r\n\r\n this.alertService.showMessage('Автоцивілка', `Відправка заявки на страхування`, MessageSeverity.success);\r\n\r\n const product = this.getCarInsuranceBookingRecord();\r\n\r\n this.carInsuranceService.saveProduct(product).subscribe(\r\n savedProduct => this.saveCompleted(savedProduct),\r\n error => this.saveFailed(error));\r\n\r\n }\r\n\r\n private saveCompleted(product: CarInsuranceBookingRecord) {\r\n this.alertService.showMessage('Автоцивілка', `Заявку на страхування відправлено`, MessageSeverity.success);\r\n\r\n var platonApiKey = this.configurations.platonApiKey;\r\n var platonApiPassword = this.configurations.platonApiPassword;\r\n var platonApiUrl = this.configurations.platonApiUrl;\r\n\r\n this.callbackUrl = this.configurations.currentBaseUrl + '/car-insurance/paid';\r\n\r\n this.payment = 'CC';\r\n this.req_token = 'Y';\r\n this.gatewayUrl = platonApiUrl;\r\n this.key = platonApiKey;\r\n\r\n var amount = product.sum.toFixed(2);\r\n\r\n const dataArray = {\r\n amount: amount,\r\n description: \"SYDI.Finance, Автоцивілка від \" + product.insuranceCompany,\r\n currency:\"UAH\",\r\n recurring:\"Y\"\r\n };\r\n\r\n this.data = Buffer.from(JSON.stringify(dataArray)).toString('base64');\r\n\r\n var valToSign = this.reverse(platonApiKey) + this.reverse(this.payment) + this.reverse(this.data)\r\n + this.reverse(this.callbackUrl) + this.reverse(platonApiPassword);\r\n var valToSignUpper = valToSign.toUpperCase();\r\n this.sign = CryptoJS.MD5(valToSignUpper);\r\n\r\n this.useremail = product.email;\r\n this.order = product.id;//product id\r\n this.ext1 = product.applicationUserId;//user id\r\n this.ext2 = product.insuranceCompany.toString();\r\n this.ext3 = product.insuranceCompanyName;\r\n this.ext4 = product.orderId;//external order id\r\n this.ref.detectChanges();\r\n\r\n this.paymentFormElement.nativeElement.submit();\r\n\r\n //this.loadingDataSource = false;\r\n // this.router.navigate(\r\n // ['/car-insurance/paid'],\r\n // { queryParams: { order: product.id } }\r\n // );\r\n\r\n }\r\n\r\n private reverse(s) {\r\n return [...s].reverse().join(\"\");\r\n }\r\n\r\n private saveFailed(error) {\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n this.loadingDataSource = false;\r\n }\r\n\r\n private getCarInsuranceBookingRecord(): CarInsuranceBookingRecord {\r\n const formModel = this.orderForm.value;\r\n\r\n var discount = 0;\r\n\r\n if(this.carInsuranceProduct.discountPercent != null) {\r\n discount = this.carInsuranceProduct.price * this.carInsuranceProduct.discountPercent / 100;\r\n }\r\n\r\n var auxiliaryProductSum;\r\n var auxiliaryProductGuid;\r\n var auxiliaryProductName;\r\n if(this.carInsuranceProduct.selectedAuxiliaryProduct != null) {\r\n auxiliaryProductSum = this.carInsuranceProduct.selectedAuxiliaryProduct.sum;\r\n auxiliaryProductGuid = this.carInsuranceProduct.selectedAuxiliaryProduct.guid;\r\n auxiliaryProductName = this.carInsuranceProduct.selectedAuxiliaryProduct.name;\r\n }\r\n\r\n return {\r\n id: \"\",\r\n applicationUserId: this.carInsuranceService.currentUser.id,\r\n email: formModel.email,\r\n phone: formModel.phoneNumber,\r\n\r\n isIdCard: this.selectedDocument === 'idcard' ? true : false,\r\n isDriverLicence: this.selectedDocument === 'driverlicence' ? true: false,\r\n seria: formModel.seria,\r\n number: formModel.number,\r\n issuer: formModel.issuer,\r\n issued: formModel.issued,\r\n firstname: formModel.firstname,\r\n lastname: formModel.lastname,\r\n middlename: formModel.middlename,\r\n taxID: formModel.taxId,\r\n birthday: formModel.birthday,\r\n\r\n street: formModel.street,\r\n houseNumber: formModel.houseNumber,\r\n apartmentNumber: formModel.apartmentNumber,\r\n documentCityKoatuuId: formModel.cityKoatuuId,\r\n documentCityName: formModel.cityName,\r\n\r\n carType: this.carTypeId as CarType,\r\n carTypeProperty: this.carTypePropertyId as CarTypeProperty,\r\n cityKoatuuId: this.selectedCity.id,\r\n cityName: this.selectedCity.town,\r\n make: formModel.make,\r\n model: formModel.model,\r\n registrationNumber: formModel.registrationNumber,\r\n manufactureYear: formModel.manufactureYear,\r\n vehicleIdentificationNumber: formModel.vehicleIdentificationNumber,\r\n\r\n insuranceCompany: this.insuranceCompany,\r\n insuranceCompanyName: this.carInsuranceProduct?.insuranceCompanyName,\r\n //selectedAuxiliaryProduct: this.auxiliaryProductId,\r\n //isTaxi?: boolean,\r\n franchiseId: this.franchiseId,\r\n franchisePrice: this.franchiseId,\r\n directSettlement: this.directSettlement,\r\n trafficAccidentMedicine: this.trafficAccidentMedicine,\r\n\r\n carAuxiliaryProductId: this.auxiliaryProductId,\r\n carAuxiliaryProductGuid: auxiliaryProductGuid,\r\n carAuxiliaryProductName: auxiliaryProductName,\r\n carAuxiliaryProductSum: auxiliaryProductSum,\r\n carAuxiliaryProductPrice: this.auxiliaryProductId,\r\n\r\n isConfirmedByClient: formModel.acceptedByClient,\r\n price: this.carInsuranceProduct?.price,\r\n sum: this.carInsuranceProduct?.sum,\r\n discount: discount,\r\n discountPercent: this.carInsuranceProduct.discountPercent,\r\n //paid?: boolean,\r\n\r\n insuranceValidFrom: formModel.validFrom,\r\n insuranceValidTo: formModel.validTo\r\n };\r\n }\r\n\r\n public back() {\r\n\r\n setTimeout(() => {\r\n this.acceptedByClient.disable();\r\n this.isEditMode = true;\r\n });\r\n\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n bindSearchCity() {\r\n this.searchCityControl.valueChanges\r\n .pipe(\r\n filter(res => {\r\n return res !== null && res.length >= this.minLengthTerm\r\n }),\r\n distinctUntilChanged(),\r\n debounceTime(1000),\r\n tap(() => {\r\n this.filteredCities = [];\r\n this.isLoadingCity = true;\r\n }),\r\n switchMap(value => this.catalogService.getCities(value)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoadingCity = false\r\n }),\r\n )\r\n )\r\n )\r\n .subscribe((data: any) => {\r\n this.filteredCities = data;\r\n\r\n //console.log(this.filteredCities);\r\n });\r\n\r\n this.make.valueChanges\r\n .subscribe(selectedValue => {\r\n\r\n let searchValue = selectedValue;\r\n\r\n if(searchValue !== null && searchValue.length >= 1) {\r\n this.filteredCarBrands = this.carBrands.filter(x => x.name?.toLowerCase().includes(searchValue?.toLowerCase()));\r\n } else {\r\n this.filteredCarBrands = this.carBrands;\r\n }\r\n\r\n console.log(this.filteredCarBrands);\r\n });\r\n\r\n this.model.valueChanges\r\n .subscribe(selectedValue => {\r\n\r\n let searchValue = selectedValue;\r\n\r\n let make = this.make.value;\r\n let makeId = this.carBrands?.findIndex(x => x.name === make);\r\n if(makeId >= 0) {\r\n if(searchValue !== null && searchValue.length >= 1) {\r\n this.filteredCarModels = this.carBrands[makeId].carModels?.filter(x => x.name?.toLowerCase().includes(searchValue?.toLowerCase()));\r\n } else {\r\n this.filteredCarModels = this.carBrands[makeId].carModels;\r\n }\r\n }\r\n console.log(this.filteredCarModels);\r\n });\r\n }\r\n\r\n public clearCitySelection() {\r\n this.passportSelectedCity = null;\r\n this.cityKoatuuIdControl.setValue('');\r\n this.cityNameControl.setValue('');\r\n this.searchCityControl.setValue('');\r\n this.filteredCities = [];\r\n }\r\n\r\n onSelected(value: City) {\r\n\r\n this.passportSelectedCity = value;\r\n\r\n this.cityKoatuuIdControl.setValue(this.passportSelectedCity?.id);\r\n this.cityNameControl.setValue(this.passportSelectedCity?.town);\r\n this.searchCityControl.setValue(this.passportSelectedCity?.town);\r\n\r\n if(value)\r\n this.isValidSelectedCity = true;\r\n else\r\n this.isValidSelectedCity = false;\r\n\r\n }\r\n\r\n displayWith(value: City) {\r\n let town = typeof value === 'string' ? value : value?.town;\r\n //console.log(\"displayWith \" + town);\r\n return town;\r\n }\r\n\r\n\r\n public onSelectedCarBrand() {\r\n console.log(this.selectedCarBrand);\r\n this.selectedCarBrand = this.selectedCarBrand;\r\n this.make.setValue(this.selectedCarBrand.name);\r\n\r\n let make = this.make.value;\r\n\r\n this.selectedCarModel = null;\r\n this.model.setValue('');\r\n\r\n let makeId = this.carBrands?.findIndex(x => x.name === make);\r\n if(makeId >= 0) {\r\n this.filteredCarModels = this.carBrands[makeId].carModels;\r\n }\r\n }\r\n\r\n public onSelectedCarModel() {\r\n console.log(this.selectedCarModel);\r\n this.selectedCarModel = this.selectedCarModel;\r\n this.model.setValue(this.selectedCarModel.name);\r\n }\r\n\r\n public clearCarBrandSelection() {\r\n this.selectedCarBrand = null;\r\n this.selectedCarModel = null;\r\n this.make.setValue('');\r\n this.model.setValue('');\r\n this.filteredCarBrands = [];\r\n this.filteredCarModels = [];\r\n }\r\n\r\n public clearCarModelSelection() {\r\n this.selectedCarModel = null;\r\n this.model.setValue('');\r\n this.filteredCarModels = [];\r\n }\r\n\r\n displayCarBrandWith(value: CarBrandView) {\r\n let name = typeof value === 'string' ? value : value?.name;\r\n return name;\r\n }\r\n\r\n displayCarModelWith(value: CarModelView) {\r\n let name = typeof value === 'string' ? value : value?.name;\r\n return name;\r\n }\r\n\r\n public chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.manufactureYear.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.manufactureYear.setValue(ctrlValue);\r\n datepicker.close();\r\n }\r\n\r\n public changeValidFrom(event) {\r\n let value = event.value;\r\n console.log('changeValidFrom', value);\r\n\r\n var nextYear = moment(value);\r\n nextYear = nextYear.add(1, 'years').add(-1, 'days');\r\n\r\n console.log('changeValidFrom 1', nextYear);\r\n\r\n this.validTo.setValue(nextYear);\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
{{searchResult}}
\r\n
\r\n
\r\n
Покриття ваших витрат при настанні ДТП з іншим учасником. Розширення страхового ліміту. Гнучкі тарифи та індивідуальний підхід. Дистанційне врегулювання. Підтримка 24/7.
\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\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \"Salamandra\"\r\n\r\n
\r\n
\r\n
{{carInsuranceProduct?.insuranceCompanyName}}
\r\n
\r\n
\r\n
{{carInsuranceProduct?.franchisePrice | number:'1.2-2'}} грн.
\r\n

Франшиза

\r\n\r\n

\r\n Додаткове покриття з {{carInsuranceProduct?.selectedAuxiliaryProduct.price | number:'1.2-2'}} грн.\r\n за {{carInsuranceProduct?.selectedAuxiliaryProduct?.sum | number:'1.2-2'}} грн.

\r\n\r\n
\r\n\r\n
\r\n

{{carInsuranceProduct.price | number:'1.2-2'}} грн.

\r\n

{{carInsuranceProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n

{{carInsuranceProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n\r\n
    \r\n
  • Базові опції\r\n
      \r\n
    • {{carInsuranceProperty.name}}
    • \r\n
    \r\n
  • \r\n
  • Додаткові опції\r\n
      \r\n
    • {{carInsuranceProperty.name}}
    • \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 contacts\r\n

{{'car-insurance-order.editor.Contacts' | translate}}

\r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.Email' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.PhoneNumber' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.PhoneNumberRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.PhoneNumberRegex' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n

{{'car-insurance-order.editor.Document' | translate}}

\r\n
\r\n\r\n
\r\n\r\n \r\n Паспорт\r\n ID карта\r\n Посвідчення водія\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n {{'car-insurance-order.editor.Seria' | translate}}\r\n\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.SeriaRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.SeriaPassportRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.Seria' | translate}}\r\n\r\n \r\n \r\n {{'car-insurance-order.editor.SeriaRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.SeriaDriverLicenseRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.Number' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.NumberRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.NumberRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.Number' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.NumberRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.NumberIdCardRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.Issued' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.IssuedRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.IssuedRegex' | translate}}\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.Issuer' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.IssuerRequired' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.IssuerRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'car-insurance-order.editor.Firstname' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.FirstnameRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.FirstnameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.Lastname' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.LastnameRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.LastnameRegex' | translate}}\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.Middlename' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.MiddlenameRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.MiddlenameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.Birthday' | translate}}\r\n\r\n \r\n\r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.BirthdayRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.BirthdayRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.TaxId' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.TaxIdRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.TaxIdRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.RegistrationPlace' | translate}}\r\n \r\n \r\n\r\n {{'car-insurance-order.editor.RegistrationPlaceRequired' | translate}}\r\n\r\n \r\n {{'car-insurance-order.editor.RegistrationPlaceLoading' | translate}}\r\n \r\n \r\n {{city.town}} {{city.region}}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.Street' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.StreetRequired' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.StreetRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.HouseNumber' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.HouseNumberRequired' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.HouseNumberRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ApartmentNumber' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ApartmentNumberRequired' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ApartmentNumberRegex' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n directions_car\r\n

{{'car-insurance-order.editor.RegistrationCertificate' | translate}}

\r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.Make' | translate}}\r\n \r\n \r\n \r\n {{'car-insurance-order.editor.MakeRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.MakeRegex' | translate}}\r\n \r\n\r\n \r\n Завантаження...\r\n \r\n \r\n {{carBrand.name}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.Model' | translate}}\r\n \r\n \r\n \r\n {{'car-insurance-order.editor.ModelRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.ModelRegex' | translate}}\r\n \r\n\r\n \r\n Завантаження...\r\n \r\n \r\n {{carModel.name}}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'car-insurance-order.editor.RegistrationNumber' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.RegistrationNumberRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.RegistrationNumberRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ManufactureYear' | translate}}\r\n\r\n \r\n рік\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ManufactureYearRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.ManufactureYearMax' | translate}}\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n {{'car-insurance-order.editor.VehicleIdentificationNumber' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.VehicleIdentificationNumberRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.VehicleIdentificationNumberRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n date_range\r\n

{{'car-insurance-order.editor.Validity' | translate}}

\r\n
\r\n\r\n
\r\n\r\n \r\n {{'car-insurance-order.editor.ValidFrom' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ValidFromRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.ValidFromRegex' | translate}}\r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ValidFromMin' | translate}}\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ValidTo' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'car-insurance-order.editor.ValidToRequired' | translate}}\r\n \r\n \r\n {{'car-insurance-order.editor.ValidToRegex' | translate}}\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 {{'car-insurance-order.editor.AcceptedByClient' | translate}}\r\n\r\n
\r\n\r\n
\r\n {{'car-insurance-order.editor.AcceptedByClientRequired' | translate}}\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
\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 \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
\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 { ChangeDetectorRef, Component, Directive, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { InsuranceCompany } from \"src/app/models/InsuranceCompany\";\r\nimport { CarInsuranceProductRequest } from \"src/app/models/car-insurance/car-insurance-product-request.model\";\r\nimport { CarInsuranceProductResponse } from \"src/app/models/car-insurance/car-insurance-product-response.model\";\r\nimport { CarTypeModel } from \"src/app/models/cartype.model\";\r\nimport { CarTypePropertyModel } from \"src/app/models/cartypeproperty.model\";\r\nimport { City } from \"src/app/models/city.model\";\r\nimport { fadeInOut } from \"src/app/services/animations\";\r\nimport { CarInsuranceService } from \"src/app/services/car-insurance.service\";\r\nimport { CarTypeService } from \"src/app/services/cartype.service\";\r\nimport { CatalogService } from \"src/app/services/catalog.service\";\r\nimport { ConfigurationService } from \"src/app/services/configuration.service\";\r\nimport { NavigationService } from \"src/app/services/navigation.service\";\r\nimport { CarInsuranceProduct } from \"src/app/models/car-insurance-product.model\";\r\nimport { CarInsuranceProperty } from \"src/app/models/car-insurance-property.model\";\r\nimport { CarInsurancePropertyType } from \"src/app/models/CarInsurancePropertyType\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { User } from \"src/app/models/user.model\";\r\nimport { Role } from \"src/app/models/role.model\";\r\nimport { Observable, concatMap, debounceTime, distinctUntilChanged, filter, finalize, forkJoin, of, switchMap, tap } from \"rxjs\";\r\nimport { CarOrderModel } from \"src/app/models/car-insurance/car-order.model\";\r\nimport { NgForm, UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from \"@angular/material-moment-adapter\";\r\nimport { dateValidator, yearValidator } from \"src/app/shared/validators/equal.validator\";\r\nimport { AlertService, MessageSeverity } from \"src/app/services/alert.service\";\r\nimport { CarBrandView } from \"src/app/models/carbrandview.model\";\r\nimport { CarModelView } from \"src/app/models/carmodelview.model\";\r\nimport { CarType } from \"src/app/models/CarType\";\r\nimport { CarTypeProperty } from \"src/app/models/CarTypeProperty\";\r\nimport { Moment } from \"moment\";\r\nimport { MatDatepicker } from \"@angular/material/datepicker\";\r\nimport moment from \"moment\";\r\nimport { CarInsuranceBookingRecord } from \"src/app/models/car-insurance/car-insurance-booking-record.model\";\r\nimport { ReleaseRequestModel } from \"src/app/models/car-insurance/release-request.model\";\r\n\r\n@Component({\r\n selector: 'app-car-insurance-paid',\r\n templateUrl: './car-insurance-paid.component.html',\r\n styleUrls: ['./car-insurance-paid.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n {provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\r\n ]\r\n})\r\n\r\nexport class CarInsurancePaidComponent implements OnInit {\r\n\r\n @ViewChild('orderNgForm', { static: true }) orderNgForm: NgForm;\r\n\r\n @Input() isEditMode = true;\r\n\r\n public orderId: string;\r\n public loadingDataSource: boolean;\r\n\r\n public carInsuranceProduct: CarInsuranceProduct;\r\n public user: User;\r\n\r\n public searchResult: string;\r\n\r\n public sum: number;\r\n public franchisePrice: number;\r\n\r\n public insuranceCompanyName: string;\r\n public carMarkModel: string;\r\n public email: string;\r\n\r\n constructor (\r\n public configurations: ConfigurationService,\r\n private route: ActivatedRoute,\r\n private catalogService: CatalogService,\r\n private carService: CarTypeService,\r\n private carInsuranceService: CarInsuranceService,\r\n private router: Router,\r\n private accountService: AccountService,\r\n private ref: ChangeDetectorRef,\r\n private alertService: AlertService ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n this.orderId = params['order'];\r\n\r\n this.loadData(this.orderId);\r\n\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n loadData(id: string)\r\n {\r\n this.loadingDataSource = true;\r\n\r\n this.alertService.showMessage('Автоцивілка', `Випуск Автоцивілки`, MessageSeverity.success);\r\n\r\n let bookedOrder: Observable = this.carInsuranceService.getInsurance(id);\r\n\r\n let releaseRequestModel = new ReleaseRequestModel();\r\n releaseRequestModel.id = id;\r\n\r\n let releaseOrder: Observable = this.carInsuranceService.releaseCarInsurance(releaseRequestModel);\r\n\r\n bookedOrder.pipe(\r\n concatMap(bookedOrderResult => releaseOrder),\r\n concatMap(releaseOrderResult => of(releaseOrderResult))\r\n ).subscribe(result => {\r\n\r\n this.sum = result.sum;\r\n this.franchisePrice = result.franchisePrice;\r\n this.insuranceCompanyName = result.insuranceCompanyName;\r\n this.carMarkModel = result.make + ' ' + result.model;\r\n this.email = result.email;\r\n\r\n this.loadingDataSource = false;\r\n },\r\n error => {\r\n console.log(error);\r\n this.loadingDataSource = false;\r\n });\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.ref.detectChanges();\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\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
{{searchResult}}
\r\n
\r\n
\r\n
Покриття ваших витрат при настанні ДТП з іншим учасником. Розширення страхового ліміту. Гнучкі тарифи та індивідуальний підхід. Дистанційне врегулювання. Підтримка 24/7.
\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\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n \"Salamandra\"\r\n\r\n
\r\n
\r\n
{{insuranceCompanyName}}
\r\n
\r\n
\r\n
{{franchisePrice | number:'1.2-2'}} грн.
\r\n

Франшиза

\r\n\r\n
\r\n
\r\n
{{sum | number:'1.2-2'}} грн.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n directions_car\r\n

{{'car-insurance-paid.management.Car' | translate}}

\r\n
\r\n\r\n
\r\n
{{carMarkModel}}
\r\n
\r\n\r\n
\r\n
\r\n check_circle\r\n {{'car-insurance-paid.management.InsuranceReleased' | translate}}
\r\n
\r\n\r\n
\r\n

{{'car-insurance-paid.management.InsuranceReleased1' | translate}} {{email}}

\r\n
\r\n\r\n
\r\n

{{'car-insurance-paid.management.InsuranceReleased2' | translate}}

\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\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\r\n","\r\nimport { Component, OnInit, AfterViewInit, OnDestroy, ViewChildren, QueryList } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { debounceTime, tap, switchMap, finalize, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ThemeService } from 'ng2-charts';\r\n\r\nimport { CarTypeModel } from 'src/app/models/cartype.model';\r\nimport { CarTypePropertyModel } from 'src/app/models/cartypeproperty.model';\r\nimport { CarTypeService } from 'src/app/services/cartype.service';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\n\r\nimport { City } from 'src/app/models/city.model';\r\nimport { CatalogService } from 'src/app/services/catalog.service';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\n\r\n\r\n@Component({\r\n selector: 'car-insurance',\r\n templateUrl: './car-insurance.component.html',\r\n styleUrls: ['./car-insurance.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class CarInsuranceComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n filteredCities: City[] =\r\n [{id: '8000000000', town: 'М.КИЇВ', region: '',mainRegion:'', friendlyName:''},\r\n {id: '6310100000', town: 'ХАРКІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1210100000', town: 'ДНІПРО' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '4610100000', town: 'ЛЬВІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '5310100000', town: 'ПОЛТАВА' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0510100000', town: 'ВІННИЦЯ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1410100000', town: 'ДОНЕЦЬК' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0110100000', town: 'СІМФЕРОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '8500000000', town: 'М.СЕВАСТОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n ];\r\n\r\n minLengthTerm = 3;\r\n selectedCity: City = null;\r\n\r\n isLoading = false;\r\n carInsuranceForm: UntypedFormGroup;\r\n\r\n descriptionCarType: string;\r\n\r\n selectedCarType: CarTypeModel = new CarTypeModel();\r\n selectedCarTypeProperty: CarTypePropertyModel = new CarTypePropertyModel();\r\n\r\n carTypes: CarTypeModel[];\r\n carTypePropertities: CarTypePropertyModel[];\r\n\r\n @ViewChildren('form')\r\n private forms: QueryList;\r\n private form: NgForm;\r\n\r\n isValidSelectedCity = false;\r\n\r\n constructor(\r\n public configurations: ConfigurationService,\r\n private carTypeService: CarTypeService,\r\n private catalogService: CatalogService,\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router) {\r\n }\r\n\r\n onSelected() {\r\n console.log(this.selectedCity);\r\n this.selectedCity = this.selectedCity;\r\n\r\n if(this.selectedCity != null)\r\n this.isValidSelectedCity = true;\r\n else\r\n this.isValidSelectedCity = false;\r\n }\r\n\r\n displayWith(value: City) {\r\n return value?.town;\r\n }\r\n\r\n clearSelection() {\r\n this.selectedCity = null;\r\n this.filteredCities = [];\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.carTypes = this.carTypeService.getCarTypes();\r\n if(this.carTypes.length > 0)\r\n this.selectedCarType = this.carTypes[0];\r\n\r\n this.carTypePropertities = this.carTypeService.getCarTypeProperties().filter((item) => item.CarTypeId == this.selectedCarType.Id);\r\n if(this.carTypePropertities.length > 0)\r\n this.selectedCarTypeProperty = this.carTypePropertities[0];\r\n\r\n this.descriptionCarType = this.selectedCarType.Description;\r\n\r\n this.carInsuranceForm = this.formBuilder.group({\r\n cartype: [{ value: '' }],\r\n cartypeproperty: [{value: ''}],\r\n searchCity:['', Validators.required],\r\n });\r\n\r\n\r\n this.cartypeControl.setValue(this.selectedCarType.Id);\r\n this.cartypepropertyControl.setValue(this.selectedCarTypeProperty.Id);\r\n\r\n if(this.filteredCities.length > 0)\r\n this.selectedCity = this.filteredCities[0];\r\n\r\n this.searchCityControl.setValue(this.selectedCity.town);\r\n\r\n this.searchCityControl.valueChanges\r\n .pipe(\r\n filter(res => {\r\n return res !== null && res.length >= this.minLengthTerm\r\n }),\r\n distinctUntilChanged(),\r\n debounceTime(1000),\r\n tap(() => {\r\n this.filteredCities = [];\r\n this.isLoading = true;\r\n }),\r\n switchMap(value => this.catalogService.getCities(value)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoading = false\r\n }),\r\n )\r\n )\r\n )\r\n .subscribe((data: any) => {\r\n this.filteredCities = data;\r\n\r\n console.log(this.filteredCities);\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n onSearch()\r\n {\r\n if(this.selectedCity == null){\r\n\r\n this.searchCityControl.markAsTouched();\r\n return;\r\n }\r\n\r\n const сityId = this.selectedCity?.id;\r\n const carTypeId = this.selectedCarType?.Id;\r\n const carTypePropertyId = this.selectedCarTypeProperty?.Id;\r\n\r\n this.router.navigate(\r\n ['/car-insurance/offers'],\r\n { queryParams: { id: сityId,\r\n carType: carTypeId,\r\n carTypeProperty: carTypePropertyId } }\r\n );\r\n }\r\n\r\n get searchCityControl() { return this.carInsuranceForm.get('searchCity'); }\r\n\r\n get cartypeControl() { return this.carInsuranceForm.get('cartype'); }\r\n\r\n get cartypepropertyControl() { return this.carInsuranceForm.get('cartypeproperty'); }\r\n\r\n onCarTypeChange(carTypeId)\r\n {\r\n this.selectedCarType = this.carTypes[carTypeId.value - 1];\r\n this.descriptionCarType = this.selectedCarType.Description;\r\n\r\n this.carTypePropertities = this.carTypeService.getCarTypeProperties().filter((item) => item.CarTypeId == carTypeId.value);\r\n\r\n if(this.carTypePropertities.length > 0)\r\n this.selectedCarTypeProperty = this.carTypePropertities[0];\r\n\r\n this.cartypepropertyControl.setValue(this.selectedCarTypeProperty.Id);\r\n }\r\n\r\n onCarTypePropertyChange(carTypePropertyId)\r\n {\r\n if(this.carTypePropertities.length > 0)\r\n {\r\n let props = this.carTypePropertities.filter((item) => item.Id == carTypePropertyId.value);\r\n this.selectedCarTypeProperty = props[0];\r\n\r\n this.cartypepropertyControl.setValue(this.selectedCarTypeProperty.Id);\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 \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 \r\n\r\n
\r\n\r\n
\r\n Покриття ваших витрат при настанні ДТП з іншим учасником. Розширення страхового ліміту. Гнучкі тарифи та індивідуальний підхід. Дистанційне врегулювання. Підтримка 24/7.\r\n
\r\n\r\n
\r\n\r\n \r\n Транспортний засіб\r\n \r\n \r\n {{carType.Name}}\r\n \r\n \r\n \r\n\r\n \r\n {{descriptionCarType}}\r\n \r\n \r\n {{carTypePropertity.Name}}\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 {{city.town}} {{city.region}}\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
\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\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","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Utilities } from '../../services/utilities';\r\n\r\n@Component({\r\n selector: 'app-confirm-delete-account',\r\n templateUrl: './confirm-delete-account.component.html',\r\n styleUrls: ['./confirm-delete-account.component.scss']\r\n})\r\n\r\nexport class ConfirmDeleteAccountComponent implements OnInit {\r\n isLoading = false;\r\n isSuccess: boolean;\r\n message: string;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private alertService: AlertService,\r\n private accountService: AccountService,\r\n private authService: AuthService,\r\n public router: Router) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n const loweredParams: any = Utilities.GetObjectWithLoweredPropertyNames(params);\r\n const code = loweredParams.code;\r\n\r\n if (!code) {\r\n this.authService.gotoHomePage();\r\n } else {\r\n this.confirmDeleteAccount(code);\r\n }\r\n });\r\n }\r\n\r\n confirmDeleteAccount(code: string) {\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage('', 'Видалення акаунту ...');\r\n\r\n this.accountService.confirmDeleteAccount(code)\r\n .subscribe(() => this.saveSuccessHelper(), error => this.saveFailedHelper(error, code));\r\n }\r\n\r\n private saveSuccessHelper() {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = true;\r\n\r\n this.message = 'Акаунт видалено.';\r\n\r\n this.authService.logout();\r\n this.router.navigateByUrl('/');\r\n\r\n setTimeout(() => {\r\n this.alertService.showMessage('Акаунт видалено', 'Ваш акаунт видалено успішно', MessageSeverity.success);\r\n }, 2000);\r\n }\r\n\r\n private saveFailedHelper(error: any, code: string) {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = false;\r\n\r\n this.message = `Нам не вдалося видалити Ваш акаунт.`;\r\n\r\n setTimeout(() => {\r\n const errorData = Utilities.getResponseBody(error);\r\n\r\n if (Utilities.checkNotFound(error)) {\r\n this.alertService.showStickyMessage('Акаунт не видалено', `Користувача не знайдено`, MessageSeverity.error, error);\r\n } else {\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage('Акаунт не видалено', errorMessage, MessageSeverity.error, error);\r\n } else {\r\n this.alertService.showStickyMessage('Акаунт не видалено', `Сталася помилка при видалені акаунта.\\nError: ${errorData}`, MessageSeverity.error, error);\r\n }\r\n }\r\n }, 2000);\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
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\"SYDI
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n

{{message}}

\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\r\n
\r\n \r\n \r\n \r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Utilities } from '../../services/utilities';\r\n\r\n@Component({\r\n selector: 'app-confirm-email',\r\n templateUrl: './confirm-email.component.html',\r\n styleUrls: ['./confirm-email.component.scss']\r\n})\r\nexport class ConfirmEmailComponent implements OnInit {\r\n isLoading = false;\r\n isSuccess: boolean;\r\n message: string;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private alertService: AlertService,\r\n private accountService: AccountService,\r\n private authService: AuthService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n const loweredParams: any = Utilities.GetObjectWithLoweredPropertyNames(params);\r\n const code = loweredParams.code;\r\n\r\n if (!code) {\r\n this.authService.gotoHomePage();\r\n } else {\r\n this.confirmEmail(code);\r\n }\r\n });\r\n }\r\n\r\n confirmEmail(code: string) {\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage('', 'Confirming account email...');\r\n\r\n this.accountService.confirmUserAccount(code)\r\n .subscribe(() => this.saveSuccessHelper(), error => this.saveFailedHelper(error, code));\r\n }\r\n\r\n private saveSuccessHelper() {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = true;\r\n\r\n this.message = 'Дякуємо за підтвердження електронної пошти.';\r\n\r\n setTimeout(() => {\r\n this.alertService.showMessage('Email Confirmed', 'Your email address was successfully confirmed', MessageSeverity.success);\r\n }, 2000);\r\n }\r\n\r\n private saveFailedHelper(error: any, code: string) {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = false;\r\n\r\n this.message = `Нам не вдалося підтвердити електронну адресу для користувача.`;\r\n\r\n setTimeout(() => {\r\n const errorData = Utilities.getResponseBody(error);\r\n\r\n if (Utilities.checkNotFound(error)) {\r\n this.alertService.showStickyMessage('Email Not Confirmed', `No user was found`, MessageSeverity.error, error);\r\n } else {\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage('Email Not Confirmed', errorMessage, MessageSeverity.error, error);\r\n } else {\r\n this.alertService.showStickyMessage('Email Not Confirmed', `An error occured whilst confirming your email.\\nError: ${errorData}`, MessageSeverity.error, error);\r\n }\r\n }\r\n }, 2000);\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
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\"SYDI
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n

{{message}}

\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\r\n\r\n
\r\n \r\n \r\n \r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, ViewChild, Inject } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators, AbstractControl, FormControl } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { ToDoTask } from './todo-demo.component';\r\n\r\n@Component({\r\n selector: 'app-add-task-dialog',\r\n templateUrl: 'add-task-dialog.component.html',\r\n styleUrls: ['add-task-dialog.component.scss']\r\n})\r\nexport class AddTaskDialogComponent {\r\n taskForm: UntypedFormGroup;\r\n\r\n get taskName() {\r\n return this.taskForm.get('taskName');\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private formBuilder: UntypedFormBuilder\r\n ) {\r\n this.buildForm();\r\n }\r\n\r\n save() {\r\n if (this.taskForm.valid) {\r\n const formModel = this.taskForm.value;\r\n\r\n const newtask: ToDoTask = {\r\n name: formModel.taskName,\r\n description: formModel.description,\r\n isImportant: formModel.isImportant,\r\n isComplete: false\r\n };\r\n\r\n this.dialogRef.close(newtask);\r\n } else {\r\n this.alertService.showStickyMessage(this.translationService.getTranslation('form.ErrorCaption'), this.translationService.getTranslation('form.ErrorMessage'), MessageSeverity.error);\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n private buildForm() {\r\n this.taskForm = this.formBuilder.group({\r\n taskName: ['', Validators.required],\r\n description: '',\r\n isImportant: ''\r\n });\r\n }\r\n}\r\n","

{{'todoDemo.editor.NewTask' | translate}}

\r\n
\r\n\r\n
\r\n\r\n \r\n {{'todoDemo.editor.Name' | translate}}\r\n \r\n \r\n {{'todoDemo.editor.TaskNameRequired' | translate}}\r\n \r\n \r\n\r\n \r\n {{'todoDemo.editor.Description' | translate}}\r\n \r\n \r\n\r\n {{'todoDemo.editor.Important' | translate}}\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
\r\n

\r\n {{item.caption}}\r\n \r\n Learn More\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

Application uses

\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NguCarouselConfig } from '@ngu/carousel';\r\n\r\n@Component({\r\n selector: 'app-banner-demo',\r\n templateUrl: './banner-demo.component.html',\r\n styleUrls: ['./banner-demo.component.scss']\r\n})\r\nexport class BannerDemoComponent implements OnInit {\r\n carouselLoaded = false;\r\n carouselConfig: NguCarouselConfig;\r\n carouselItems = [\r\n {\r\n img: 'assets/images/demo/banner1.png',\r\n alt: 'ASP.NET',\r\n caption: 'Learn how to build ASP.NET apps that can run anywhere',\r\n link: 'http://go.microsoft.com/fwlink/?LinkID=525028&clcid=0x409'\r\n },\r\n {\r\n img: 'assets/images/demo/banner2.png',\r\n alt: 'Visual Studio',\r\n caption: 'One platform for building modern web, native mobile and native desktop applications',\r\n link: 'http://angular.io'\r\n },\r\n {\r\n img: 'assets/images/demo/banner3.png',\r\n alt: 'Package Management',\r\n caption: 'Bring in libraries from NuGet and npm, and bundle with angular/cli',\r\n link: 'http://go.microsoft.com/fwlink/?LinkID=525029&clcid=0x409'\r\n },\r\n {\r\n img: 'assets/images/demo/banner4.png',\r\n alt: 'Eben Monney',\r\n caption: 'Follow me on social media for updates and tips on using this startup project',\r\n link: 'https://www.ebenmonney.com/about'\r\n },\r\n ];\r\n\r\n ngOnInit() {\r\n this.carouselConfig = {\r\n grid: { xs: 1, sm: 1, md: 1, lg: 1, all: 0 },\r\n slide: 4,\r\n speed: 500,\r\n interval: { timing: 5000 },\r\n point: { visible: true },\r\n load: 2,\r\n custom: 'banner',\r\n touch: true,\r\n loop: true,\r\n easing: 'cubic-bezier(0, 0, 0.2, 1)'\r\n };\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, AfterViewInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Permission } from '../../models/permission.model';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { Notification } from '../../models/notification.model';\r\n\r\n@Component({\r\n selector: 'app-notifications-viewer',\r\n templateUrl: './notifications-viewer.component.html',\r\n styleUrls: ['./notifications-viewer.component.scss']\r\n})\r\nexport class NotificationsViewerComponent implements OnInit, AfterViewInit, OnDestroy {\r\n displayedColumns = ['date', 'header', 'actions'];\r\n dataSource: MatTableDataSource;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n loadingIndicator: boolean;\r\n\r\n dataLoadingConsecutiveFailures = 0;\r\n dataLoadingSubscription: any;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private notificationService: NotificationService,\r\n private snackBar: MatSnackBar\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.initDataLoading();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.dataLoadingSubscription) {\r\n this.dataLoadingSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n initDataLoading() {\r\n this.loadingIndicator = true;\r\n\r\n const dataLoadTask = this.notificationService.getNewNotificationsPeriodically();\r\n\r\n this.dataLoadingSubscription = dataLoadTask\r\n .subscribe(notifications => {\r\n this.loadingIndicator = false;\r\n this.dataLoadingConsecutiveFailures = 0;\r\n\r\n this.dataSource.data = notifications;\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showMessage('Load Error', 'Loading new notifications from the server failed!', MessageSeverity.warn);\r\n this.alertService.logError(error);\r\n\r\n if (this.dataLoadingConsecutiveFailures++ < 5) {\r\n setTimeout(() => this.initDataLoading(), 5000);\r\n } else {\r\n this.alertService.showStickyMessage('Load Error', 'Loading new notifications from the server failed!', MessageSeverity.error);\r\n }\r\n });\r\n }\r\n\r\n getPrintedDate(value: Date) {\r\n if (value) {\r\n return Utilities.printTimeOnly(value) + ' on ' + Utilities.printDateOnly(value);\r\n }\r\n }\r\n\r\n confirmDelete(notification: Notification) {\r\n this.snackBar.open(`Delete ${notification.header}?`, 'DELETE', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage('Deleting...');\r\n this.loadingIndicator = true;\r\n\r\n this.notificationService.deleteNotification(notification)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.dataSource.data = this.dataSource.data.filter(item => item.id !== notification.id);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage('Delete Error', `An error occured whilst deleting the notification.\\r\\nError: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n togglePin(row: Notification) {\r\n const pin = !row.isPinned;\r\n const opText = pin ? 'Pinning' : 'Unpinning';\r\n\r\n this.alertService.startLoadingMessage(opText + '...');\r\n this.loadingIndicator = true;\r\n\r\n this.notificationService.pinUnpinNotification(row, pin)\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n row.isPinned = pin;\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.loadingIndicator = false;\r\n\r\n this.alertService.showStickyMessage(opText + ' Error', `An error occured whilst ${opText} the notification.\\r\\nError: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n }\r\n\r\n get canManageNotifications() {\r\n return this.accountService.userHasPermission(Permission.manageRolesPermission);\r\n }\r\n}\r\n","
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n {{'notifications.Date' | translate}} \r\n {{getPrintedDate(notification.date)}}\r\n \r\n\r\n \r\n {{'notifications.Notification' | translate}} \r\n {{notification.header}} \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
\r\n\r\n
\r\n","\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { MediaObserver, MediaChange } from '@angular/flex-layout';\r\nimport { AlertService, DialogType, MessageSeverity } from '../../services/alert.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\nrequire('chart.js');\r\n\r\n@Component({\r\n selector: 'app-statistics-demo',\r\n templateUrl: './statistics-demo.component.html',\r\n styleUrls: ['./statistics-demo.component.scss']\r\n})\r\nexport class StatisticsDemoComponent implements OnInit, OnDestroy {\r\n\r\n chartData = [\r\n { data: [65, 59, 80, 81, 56, 55], label: 'Series A' },\r\n { data: [28, 48, 40, 19, 86, 27], label: 'Series B' },\r\n { data: [18, 48, 77, 9, 100, 27], label: 'Series C' }\r\n ];\r\n chartLabels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'];\r\n chartOptions = {\r\n responsive: true,\r\n title: {\r\n display: false,\r\n fontSize: 16,\r\n text: 'Important Stuff'\r\n }\r\n };\r\n\r\n backgroundColors = ['rgba(148,159,177,0.2)', 'rgba(77,83,96,0.2)', 'rgba(128,128,128,0.2)'];\r\n borderColors = ['rgba(148,159,177,1)', 'rgba(77,83,96,1)', 'rgba(128,128,128,1)'];\r\n pointBackgroundColors = ['rgba(148,159,177,1)', 'rgba(77,83,96,1)', 'rgba(128,128,128,1)'];\r\n pointBorderColors = ['#fff','#fff','#fff'];\r\n pointHoverBackgroundColors = ['#fff','#fff','#fff'];\r\n pointHoverBorderColors = ['rgba(148,159,177,0.8)','rgba(77,83,96,1)', 'rgba(128,128,128,0.8)' ];\r\n \r\n chartColors = [\r\n { // grey\r\n backgroundColor: 'rgba(148,159,177,0.2)',\r\n borderColor: 'rgba(148,159,177,1)',\r\n pointBackgroundColor: 'rgba(148,159,177,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\r\n },\r\n { // dark grey\r\n backgroundColor: 'rgba(77,83,96,0.2)',\r\n borderColor: 'rgba(77,83,96,1)',\r\n pointBackgroundColor: 'rgba(77,83,96,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(77,83,96,1)'\r\n },\r\n { // something else\r\n backgroundColor: 'rgba(128,128,128,0.2)',\r\n borderColor: 'rgba(128,128,128,1)',\r\n pointBackgroundColor: 'rgba(128,128,128,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(128,128,128,0.8)'\r\n }\r\n ];\r\n chartLegend = true;\r\n chartType = 'line';\r\n\r\n timerReference: any;\r\n mediaQuerySub: Subscription;\r\n\r\n\r\n constructor(private alertService: AlertService, private mediaObserver: MediaObserver) {\r\n }\r\n\r\n ngOnInit() {\r\n this.timerReference = setInterval(() => this.randomize(), 5000);\r\n\r\n this.mediaQuerySub = this.mediaObserver.asObservable()\r\n .pipe(\r\n filter((changes: MediaChange[]) => changes.length > 0), map((changes: MediaChange[]) => changes[0])\r\n ).subscribe((change: MediaChange) => {\r\n this.chartLegend = change.mqAlias === 'xs' ? false : true;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n clearInterval(this.timerReference);\r\n this.mediaQuerySub.unsubscribe();\r\n }\r\n\r\n randomize(): void {\r\n const _chartData = new Array(this.chartData.length);\r\n for (let i = 0; i < this.chartData.length; i++) {\r\n _chartData[i] = { data: new Array(this.chartData[i].data.length), label: this.chartData[i].label };\r\n\r\n for (let j = 0; j < this.chartData[i].data.length; j++) {\r\n _chartData[i].data[j] = Math.floor((Math.random() * 100) + 1);\r\n }\r\n }\r\n\r\n this.chartData = _chartData;\r\n }\r\n\r\n changeChartType(type: string) {\r\n this.chartType = type;\r\n }\r\n\r\n showMessage(msg: string): void {\r\n this.alertService.showMessage('Demo', msg, MessageSeverity.info);\r\n }\r\n\r\n showDialog(msg: string): void {\r\n this.alertService.showDialog('Configure Chart', msg, DialogType.prompt, (val) => this.configure(true, val), () => this.configure(false), 'Ok', 'Cancel', 'Default');\r\n }\r\n\r\n configure(response: boolean, value?: string) {\r\n\r\n if (response) {\r\n\r\n this.alertService.showStickyMessage('Simulating...', '', MessageSeverity.wait);\r\n\r\n setTimeout(() => {\r\n\r\n this.alertService.resetStickyMessage();\r\n this.alertService.showMessage('Demo', `Your settings was successfully configured to \\\"${value}\\\"`, MessageSeverity.success);\r\n }, 2000);\r\n } else {\r\n this.alertService.showMessage('Demo', 'Operation cancelled by user', MessageSeverity.default);\r\n }\r\n }\r\n\r\n chartClicked(e): void {\r\n console.log(e);\r\n }\r\n\r\n chartHovered(e): void {\r\n console.log(e);\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{label}}
{{d && d.label.split(' ').pop()}}{{d && d.data[j]}}
\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// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component, OnInit, OnDestroy, AfterViewInit, Input, TemplateRef, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\n\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\r\nimport { Utilities } from '../../services/utilities';\r\n\r\nimport { AddTaskDialogComponent } from './add-task-dialog.component';\r\n\r\nexport interface ToDoTask {\r\n name: string;\r\n description: string;\r\n isImportant: boolean;\r\n isComplete: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-todo-demo',\r\n templateUrl: './todo-demo.component.html',\r\n styleUrls: ['./todo-demo.component.scss']\r\n})\r\nexport class TodoDemoComponent implements OnInit, AfterViewInit, OnDestroy {\r\n public static readonly DBKeyTodoDemo = 'todo-demo.todo_list';\r\n\r\n displayedColumns = ['select', 'name', 'description', 'actions'];\r\n dataSource: MatTableDataSource;\r\n completedTasks: SelectionModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n taskEdit: ToDoTask;\r\n isDataLoaded = false;\r\n loadingIndicator = true;\r\n formResetToggle = true;\r\n _currentUserId: string;\r\n _hideCompletedTasks = false;\r\n\r\n get currentUserId() {\r\n if (this.authService.currentUser) {\r\n this._currentUserId = this.authService.currentUser.id;\r\n }\r\n\r\n return this._currentUserId;\r\n }\r\n\r\n get areAllTasksComplete(): boolean {\r\n return this.completedTasks.selected.length === this.dataSource.data.length;\r\n }\r\n\r\n get hideCompletedTasks() {\r\n return this._hideCompletedTasks;\r\n }\r\n set hideCompletedTasks(value: boolean) {\r\n this._hideCompletedTasks = value;\r\n }\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private localStorage: LocalStoreManager,\r\n private authService: AuthService,\r\n private snackBar: MatSnackBar,\r\n public dialog: MatDialog\r\n ) {\r\n this.dataSource = new MatTableDataSource();\r\n this.completedTasks = new SelectionModel(true, []);\r\n }\r\n\r\n ngOnInit() {\r\n this.loadingIndicator = true;\r\n\r\n this.fetch((data) => {\r\n this.dataSource.data = data;\r\n this.completedTasks = new SelectionModel(true, data.filter(x => x.isComplete));\r\n this.isDataLoaded = true;\r\n\r\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.filterPredicate = (data, filter) => this.filterData(data, filter);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.saveToDisk();\r\n }\r\n\r\n toggleCompletedTasks() {\r\n this.hideCompletedTasks = !this.hideCompletedTasks;\r\n this.refresh();\r\n }\r\n\r\n refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n toggleAllTasksComplete() {\r\n if (this.areAllTasksComplete) {\r\n this.completedTasks.clear();\r\n this.dataSource.data.forEach(task => {\r\n task.isComplete = false;\r\n });\r\n } else {\r\n this.dataSource.data.forEach(task => {\r\n task.isComplete = true;\r\n this.completedTasks.select(task);\r\n });\r\n }\r\n }\r\n\r\n toggleTaskComplete(task: ToDoTask) {\r\n task.isComplete = !task.isComplete;\r\n this.completedTasks.select(task);\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n if (filterValue.length < 1) {\r\n filterValue = ' ';\r\n }\r\n\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n fetch(cb) {\r\n let data = this.getFromDisk();\r\n\r\n if (data == null) {\r\n setTimeout(() => {\r\n data = this.getFromDisk();\r\n\r\n if (data == null) {\r\n data = [\r\n {\r\n isComplete: true,\r\n isImportant: true,\r\n name: 'Create visual studio extension',\r\n description: 'Create a visual studio VSIX extension package that will add this project as an aspnet-core project template'\r\n },\r\n {\r\n isComplete: false,\r\n isImportant: true,\r\n name: 'Do a quick how-to writeup',\r\n description: ''\r\n },\r\n {\r\n isComplete: false,\r\n isImportant: false,\r\n name: 'Create aspnet-core/angular 11 tutorials based on this project',\r\n description: 'Create tutorials (blog/video/youtube) on how to build applications (full stack)' +\r\n ' using aspnet-core/angular 11. The tutorial will focus on getting productive with the technology right away rather than the details on how and why they work so audience can get onboard quickly.'\r\n },\r\n ];\r\n }\r\n\r\n cb(data);\r\n }, 1000);\r\n } else {\r\n cb(data);\r\n }\r\n }\r\n\r\n showErrorAlert(caption: string, message: string) {\r\n this.alertService.showMessage(caption, message, MessageSeverity.error);\r\n }\r\n\r\n addTask() {\r\n const dialogRef = this.dialog.open(AddTaskDialogComponent,\r\n {\r\n panelClass: 'mat-dialog-sm',\r\n });\r\n dialogRef.afterClosed().subscribe(newTask => {\r\n if (newTask) {\r\n this.dataSource.data.push(newTask);\r\n this.refresh();\r\n this.saveToDisk();\r\n }\r\n });\r\n }\r\n\r\n confirmDelete(task) {\r\n this.snackBar.open('Delete the task?', 'DELETE', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.dataSource.data = this.dataSource.data.filter(item => item !== task);\r\n this.saveToDisk();\r\n });\r\n }\r\n\r\n getFromDisk() {\r\n return this.localStorage.getDataObject(`${TodoDemoComponent.DBKeyTodoDemo}:${this.currentUserId}`);\r\n }\r\n\r\n saveToDisk() {\r\n if (this.isDataLoaded) {\r\n this.localStorage.saveSyncedSessionData(this.dataSource.data, `${TodoDemoComponent.DBKeyTodoDemo}:${this.currentUserId}`);\r\n }\r\n }\r\n\r\n private filterData(task: ToDoTask, filter: string): boolean {\r\n return !(task.isComplete && this.hideCompletedTasks) && Utilities.searchArray(filter, false, task.name, task.description);\r\n }\r\n}\r\n","
\r\n\r\n
\r\n \r\n \r\n \r\n {{'todoDemo.management.HideCompleted' | translate}}\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 \r\n {{'todoDemo.management.Task' | translate}} \r\n {{task.name}} \r\n \r\n\r\n \r\n {{'todoDemo.management.Description' | translate}} \r\n {{task.description}} \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 \r\n
\r\n\r\n
\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'app-customers',\r\n templateUrl: './customers.component.html',\r\n styleUrls: ['./customers.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class CustomersComponent {\r\n\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n","\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class HomeComponent {\r\n constructor(public configurations: ConfigurationService) {\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
\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\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
\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\nimport { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\n\r\nimport { Router } from '@angular/router';\r\n\r\nimport { fadeInOut } from '../../../services/animations';\r\nimport { ConfigurationService } from '../../../services/configuration.service';\r\n\r\n\r\n@Component({\r\n selector: 'salamandra',\r\n templateUrl: './salamandra.component.html',\r\n styleUrls: ['./salamandra.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class SalamandraComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n constructor(\r\n public configurations: ConfigurationService,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnDestroy() {\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 \r\n\r\n
\r\n
\r\n
\r\n
\r\n

Salamandra

\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
Адреса: вул. Саксаганського, буд. 38Б, 3 поверх, офіс 11
\r\n
\r\n
\r\n
Робочі дні: Понеділок - П'ятниця
\r\n
\r\n
\r\n
Відкрито: 9:00 - 13:00 та 14:00 - 18:00
\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
Адреса: вул. Старокозацька, буд. 38
\r\n
\r\n
\r\n
Робочі дні: Понеділок - П'ятниця
\r\n
\r\n
\r\n
Відкрито: 9:00 - 13:00 та 14:00 - 18:00
\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
Адреса: вул. Пушкіна, буд. 47
\r\n
\r\n
\r\n
Робочі дні: Понеділок - П'ятниця
\r\n
\r\n
\r\n
Відкрито: 9:00 - 13:00 та 14:00 - 18:00
\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
Адреса: вул. Пастерівська, буд. 20
\r\n
\r\n
\r\n
Робочі дні: Понеділок - П'ятниця
\r\n
\r\n
\r\n
Відкрито: 9:00 - 13:00 та 14:00 - 18:00
\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
Адреса: вул. Маріупольська, буд. 11
\r\n
\r\n
\r\n
Робочі дні: Понеділок - П'ятниця
\r\n
\r\n
\r\n
Відкрито: 9:00 - 13:00 та 14:00 - 18:00
\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
\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
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n\r\n","\r\nimport { Component, OnInit, OnDestroy, Input, Output, ViewChild, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { UserLogin } from '../../models/user-login.model';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-login-control',\r\n templateUrl: './login-control.component.html',\r\n styleUrls: ['./login-control.component.scss']\r\n})\r\nexport class LoginControlComponent implements OnInit, AfterViewInit, OnDestroy {\r\n isLoading = false;\r\n isGoogleLogin = false;\r\n isFacebookLogin = false;\r\n isTwitterLogin = false;\r\n isAppleLogin = false;\r\n modalClosedCallback: () => void;\r\n loginStatusSubscription: any;\r\n\r\n loginForm: UntypedFormGroup;\r\n\r\n @ViewChild('form', { static: true })\r\n private form: NgForm;\r\n\r\n @Input()\r\n isModal = false;\r\n\r\n @Output()\r\n enterKeyPress = new EventEmitter();\r\n\r\n private previousUrl: string = null;\r\n\r\n hidePassword = true;\r\n backendErrorMessage = \"\";\r\n returnUrl: string = null;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private authService: AuthService,\r\n private configurations: ConfigurationService,\r\n private formBuilder: UntypedFormBuilder,\r\n private navigationService: NavigationService,\r\n private route: ActivatedRoute) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n console.log(\"isModal -> \"+ this.isModal);\r\n\r\n this.loginForm.setValue({\r\n userName: '',\r\n password: '',\r\n rememberMe: this.authService.rememberMe\r\n });\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n let returnUrl = params['returnUrl'];\r\n\r\n });\r\n\r\n if (this.getShouldRedirect()) {\r\n this.authService.redirectLoginUser();\r\n } else {\r\n this.loginStatusSubscription = this.authService.getLoginStatusEvent()\r\n .subscribe(isLoggedIn => {\r\n if (this.getShouldRedirect()) {\r\n this.authService.redirectLoginUser();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.loginStatusSubscription) {\r\n this.loginStatusSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n buildForm() {\r\n this.loginForm = this.formBuilder.group({\r\n userName: ['', Validators.required],\r\n password: ['', Validators.required],\r\n rememberMe: ''\r\n });\r\n }\r\n\r\n get userName() { return this.loginForm.get('userName'); }\r\n\r\n get password() { return this.loginForm.get('password'); }\r\n\r\n getShouldRedirect() {\r\n return !this.isModal && this.authService.isLoggedIn && !this.authService.isSessionExpired;\r\n }\r\n\r\n closeModal() {\r\n if (this.modalClosedCallback) {\r\n this.modalClosedCallback();\r\n }\r\n }\r\n\r\n getUserLogin(): UserLogin {\r\n const formModel = this.loginForm.value;\r\n return new UserLogin(formModel.userName, formModel.password, formModel.rememberMe);\r\n }\r\n\r\n login() {\r\n if (!this.form.submitted) {\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.loginForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.isExternalLogin = false;\r\n this.alertService.startLoadingMessage('', 'Attempting login...');\r\n\r\n this.authService.loginWithPassword(this.getUserLogin())\r\n .subscribe(\r\n user => {\r\n setTimeout(() => {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.loginForm.reset();\r\n\r\n if (!this.isModal) {\r\n //this.alertService.showMessage('Login', `Welcome ${user.userName}!`, MessageSeverity.success);\r\n } else {\r\n //this.alertService.showMessage('Login', `Session for ${user.userName} restored!`, MessageSeverity.success);\r\n setTimeout(() => {\r\n //this.alertService.showStickyMessage('Session Restored', 'Please try your last operation again', MessageSeverity.default);\r\n }, 500);\r\n\r\n this.closeModal();\r\n }\r\n }, 500);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n\r\n if (Utilities.checkNoNetwork(error)) {\r\n this.alertService.showStickyMessage(Utilities.noNetworkMessageCaption, Utilities.noNetworkMessageDetail, MessageSeverity.error, error);\r\n //this.offerAlternateHost();\r\n } else {\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage('Unable to login', this.mapLoginErrorMessage(errorMessage), MessageSeverity.error, error);\r\n this.backendErrorMessage = errorMessage;\r\n } else {\r\n this.alertService.showStickyMessage('Unable to login', 'An error occured, please try again later.\\nError: ' + Utilities.getResponseBody(error), MessageSeverity.error, error);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 500);\r\n });\r\n }\r\n\r\n\r\n loginWithGoogle() {\r\n this.isLoading = true;\r\n this.isGoogleLogin = true;\r\n this.alertService.startLoadingMessage('', 'Redirecting to Google...');\r\n\r\n this.authService.initLoginWithGoogle(this.getUserLogin().rememberMe);\r\n }\r\n\r\n\r\n loginWithFacebook() {\r\n this.isLoading = true;\r\n this.isFacebookLogin = true;\r\n this.alertService.startLoadingMessage('', 'Redirecting to Facebook...');\r\n\r\n this.authService.initLoginWithFacebook(this.getUserLogin().rememberMe);\r\n }\r\n\r\n\r\n loginWithTwitter() {\r\n this.isLoading = true;\r\n this.isTwitterLogin = true;\r\n this.alertService.startLoadingMessage('', 'Redirecting to Twitter...');\r\n\r\n this.authService.initLoginWithTwitter(this.getUserLogin().rememberMe);\r\n }\r\n\r\n loginWithApple() {\r\n this.isLoading = true;\r\n this.isAppleLogin = true;\r\n this.alertService.startLoadingMessage('', 'Redirecting to Apple...');\r\n\r\n this.authService.initLoginWithApple(this.getUserLogin().rememberMe);\r\n }\r\n\r\n get isExternalLogin() {\r\n return this.isGoogleLogin || this.isFacebookLogin || this.isTwitterLogin;\r\n }\r\n\r\n set isExternalLogin(value: boolean) {\r\n this.isGoogleLogin = value;\r\n this.isFacebookLogin = value;\r\n this.isTwitterLogin = value;\r\n }\r\n\r\n\r\n offerAlternateHost() {\r\n\r\n if (Utilities.checkIsLocalHost(location.origin) && Utilities.checkIsLocalHost(this.configurations.baseUrl)) {\r\n\r\n const apiUrl = prompt('Dear Developer!\\nIt appears your backend Web API service is not running...\\n' +\r\n 'Would you want to temporarily switch to the online Demo API below?(Or specify another)', this.configurations.fallbackBaseUrl);\r\n\r\n if (apiUrl) {\r\n this.configurations.baseUrl = apiUrl;\r\n this.configurations.tokenUrl = apiUrl;\r\n this.alertService.showStickyMessage('API Changed!', 'The target Web API has been changed to: ' + apiUrl, MessageSeverity.warn);\r\n }\r\n }\r\n }\r\n\r\n\r\n mapLoginErrorMessage(error: string) {\r\n\r\n if (error === 'invalid_username_or_password') {\r\n return 'Invalid username or password';\r\n }\r\n\r\n if (error === 'invalid_grant') {\r\n return 'This account has been disabled';\r\n }\r\n\r\n return error;\r\n }\r\n\r\n enterKeyDown() {\r\n this.enterKeyPress.emit();\r\n }\r\n}\r\n","\r\n","import { Component, ViewChild, Inject, AfterViewInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { LoginControlComponent } from './login-control.component';\r\n\r\n@Component({\r\n selector: 'app-login-dialog',\r\n templateUrl: 'login-dialog.component.html',\r\n styleUrls: ['login-dialog.component.scss']\r\n})\r\nexport class LoginDialogComponent implements AfterViewInit {\r\n @ViewChild(LoginControlComponent, { static: true })\r\n loginControl: LoginControlComponent;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngAfterViewInit() {\r\n this.loginControl.modalClosedCallback = () => this.dialogRef.close(true);\r\n }\r\n\r\n onCancel(): void {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","

{{'mainMenu.Login' | translate}}

\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 {{'form.Or' | translate}}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\n\r\nimport { LoginControlComponent } from './login-control.component';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\n\r\nexport class LoginComponent {\r\n @ViewChild(LoginControlComponent, { static: true })\r\n loginControl: LoginControlComponent;\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
\r\n
\r\n
\"SYDI.Finance\"
\r\n\r\n
\r\n\r\n \r\n

{{'mainMenu.Login' | translate}}

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {{'commands.ForgotPassword' | translate}}\r\n \r\n {{'commands.Registration' | translate}}\r\n
\r\n
\r\n \r\n {{'form.Or' | translate}}\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\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\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class NotFoundComponent {\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
\r\n
\"logo\"\r\n
Oops! Page Not Found
\r\n

404

\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// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'app-orders',\r\n templateUrl: './orders.component.html',\r\n styleUrls: ['./orders.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class OrdersComponent {\r\n}\r\n","\r\n
\r\n -- Sample Page --\r\n
\r\n","\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'app-policy',\r\n templateUrl: './policy.component.html',\r\n styleUrls: ['./policy.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class PolicyComponent { }\r\n","\r\n
\r\n\r\n\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\t\t

Політика Конфіденційності

\r\n

Оновлено: 19 травня 2023

\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

    Компанія (у цій Угоді згадується як «Компанія», «Ми», «Нас» або «Наш») стосується SYDI.Finance

    \r\n
  • \r\n
  • \r\n

    Cookie – це невеликі файли, які веб-сайт розміщує на вашому комп’ютері, мобільному пристрої чи будь-якому іншому пристрої та містить відомості про вашу історію веб-перегляду на цьому веб-сайті під час багатьох його використання.

    \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

    Дані про використання стосуються даних, зібраних автоматично, створених під час використання Служби або з самої інфраструктури Служби (наприклад, тривалість відвідування сторінки).

    \r\n
  • \r\n
  • \r\n

    Веб-сайт посилається на SYDI.Finance, доступний за адресою https://sydi.finance

    \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

    Номер телефону

    \r\n
  • \r\n
  • \r\n

    Дані про використання

    \r\n
  • \r\n
\r\n
Дані про використання
\r\n

Дані про використання збираються автоматично під час використання Сервісу.

\r\n

Дані про використання можуть містити таку інформацію, як адреса Інтернет-протоколу вашого пристрою (наприклад, IP-адреса), тип веб-переглядача, версія веб-переглядача, сторінки нашого Сервісу, які ви відвідуєте, час і дату вашого відвідування, час, проведений на цих сторінках , унікальні ідентифікатори пристроїв та інші діагностичні дані.

\r\n

Коли ви отримуєте доступ до Сервісу за допомогою мобільного пристрою або через нього, ми можемо автоматично збирати певну інформацію, включаючи, але не обмежуючись, тип мобільного пристрою, який ви використовуєте, унікальний ідентифікатор вашого мобільного пристрою, IP-адресу вашого мобільного пристрою , ваша мобільна операційна система, тип мобільного Інтернет-браузера, який ви використовуєте, унікальні ідентифікатори пристрою та інші діагностичні дані.

\r\n

Ми також можемо збирати інформацію, яку Ваш веб-переглядач надсилає щоразу, коли Ви відвідуєте наш Сервіс або коли Ви отримуєте доступ до Сервісу за допомогою мобільного пристрою.

\r\n
Технології відстеження та файли cookie
\r\n

Ми використовуємо файли cookie та подібні технології відстеження, щоб відстежувати діяльність на нашому Сервісі та зберігати певну інформацію. Використовувані технології відстеження – це маяки, теги та сценарії для збору та відстеження інформації, а також для покращення та аналізу нашого Сервісу. Технології, які ми використовуємо, можуть включати:

\r\n
    \r\n
  • Cookie або файли cookie веб-переглядача. Файли cookie – це невеликий файл, який розміщується на вашому пристрої. Ви можете наказати своєму браузеру відхиляти всі файли cookie або вказувати, коли файли cookie надсилаються. Однак, якщо ви не приймаєте файли cookie, ви не зможете використовувати деякі частини нашого Сервісу. Якщо ви не налаштували параметри свого браузера так, щоб він відмовлявся від файлів cookie, наш Сервіс може використовувати файли cookie.
  • \r\n
  • Флеш-кукі-файли. Деякі функції нашого Сервісу можуть використовувати локальні збережені об’єкти (або флеш-кукі-файли) для збору та зберігання інформації про ваші вподобання чи вашу діяльність у нашому Сервісі. Флеш-файли cookie не керуються тими ж налаштуваннями браузера, які використовуються для файлів cookie браузера. Щоб отримати додаткові відомості про те, як видалити флеш-файли cookie, прочитайте "Де я можу змінити налаштування для вимкнення або видалення локальних спільних об’єктів?" доступно на https://helpx.adobe.com/flash-player/kb/disable-local-shared-objects-flash.html#main_Where_can_I_change_the_settings_for_disabling__or_deleting_local_shared_objects_
  • \r\n
  • Веб-маяки. Певні розділи нашого Сервісу та наші електронні листи можуть містити невеликі електронні файли, відомі як веб-маяки (також називаються чіткими gif-файлами, піксельними тегами та однопіксельними gif-файлами), які дозволяють Компанія, наприклад, для підрахунку користувачів, які відвідали ці сторінки або відкрили електронний лист, і для іншої пов’язаної статистики веб-сайту (наприклад, запис популярності певного розділу та перевірка цілісності системи та сервера).
  • \r\n
\r\n

Файли cookie можуть бути "постійними" або "Сеанс" Печиво. Постійні файли cookie залишаються на вашому персональному комп’ютері чи мобільному пристрої, коли ви перебуваєте в автономному режимі, а сеансові файли cookie видаляються, щойно ви закриваєте веб-переглядач.

\r\n

Ми використовуємо як сеансові, так і постійні файли cookie для цілей, викладених нижче:

\r\n
    \r\n
  • \r\n

    Необхідні/основні файли cookie

    \r\n

    Тип: сеансові файли cookie

    \r\n

    Адмініструється: ми

    \r\n

    Мета: ці файли cookie необхідні для надання вам послуг, доступних через веб-сайт, і для того, щоб ви могли використовувати деякі з його функцій. Вони допомагають автентифікувати користувачів і запобігати шахрайському використанню облікових записів користувачів. Без цих файлів cookie послуги, про які ви запитували, не можуть бути надані, і ми використовуємо ці файли cookie лише для надання вам цих послуг.

    \r\n
  • \r\n
  • \r\n

    Політика використання файлів cookie/файли cookie прийняття повідомлень

    \r\n

    Тип: постійні файли cookie

    \r\n

    Адмініструється: ми

    \r\n

    Призначення: ці файли cookie визначають, чи дозволили користувачі використовувати файли cookie на веб-сайті.

    \r\n
  • \r\n
  • \r\n

    Функціональні файли cookie

    \r\n

    Тип: постійні файли cookie

    \r\n

    Адмініструється: ми

    \r\n

    Призначення: ці файли cookie дозволяють нам запам’ятовувати вибір, який ви робите під час користування веб-сайтом, наприклад запам’ятовувати дані для входу чи налаштування мови. Метою цих файлів cookie є надання Вам більш особистого досвіду та уникнення необхідності повторно вводити свої налаштування щоразу, коли Ви використовуєте Веб-сайт.

    \r\n
  • \r\n
\r\n

Для отримання додаткової інформації про файли cookie, які ми використовуємо, і ваш вибір щодо файлів cookie, відвідайте нашу Політику стосовно файлів cookie або розділ щодо файлів cookie нашої Політики конфіденційності.

\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

    Щоб зв’язатися з вами: щоб зв’язатися з вами електронною поштою, телефонними дзвінками, SMS або іншими еквівалентними формами електронного зв’язку, як-от push-повідомлення мобільної програми щодо оновлень або інформаційні повідомлення, пов’язані з функціями, продуктів або контрактних послуг, включаючи оновлення безпеки, якщо це необхідно або розумно для їх впровадження.

    \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
  • Для передачі бізнесу: ми можемо ділитися або передавати вашу особисту інформацію у зв’язку з або під час переговорів щодо будь-якого злиття, продажу активів Компанії, фінансування або придбання всього чи частини нашого бізнес іншій компанії.
  • \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

За певних обставин Компанія може бути зобов’язана розкрити Ваші персональні дані, якщо цього вимагає закон або у відповідь на обґрунтовані запити державних органів (наприклад, суду чи державної установи).

\r\n
Інші юридичні вимоги
\r\n

Компанія може розкрити Ваші персональні дані, сумлінно вважаючи, що така дія необхідна для:

\r\n\r\n
    \r\n
  • Дотримуватись юридичних зобов’язань
  • \r\n
  • Захист і захист прав чи власності Компанії
  • \r\n
  • Запобігання або розслідування можливих протиправних дій у зв’язку зі Службою
  • \r\n
  • Захищати особисту безпеку Користувачів Сервісу або громадськості
  • \r\n
  • Захист від юридичної відповідальності
  • \r\n
\r\n

Безпека ваших персональних даних

\r\n

Безпека ваших особистих даних важлива для нас, але пам’ятайте, що жоден метод передачі через Інтернет або метод електронного зберігання не є на 100% безпечним. Незважаючи на те, що ми прагнемо використовувати комерційно прийнятні засоби для захисту ваших персональних даних, ми не можемо гарантувати їх абсолютну безпеку.

\r\n

Конфіденційність дітей

\r\n

Наша служба не звертається до осіб віком до 13 років. Ми свідомо не збираємо особисту інформацію від осіб віком до 13 років. Якщо ви є батьком або опікуном і вам відомо, що ваша дитина надала нам особисті Дані, будь ласка, зв'яжіться з нами. Якщо нам стає відомо, що ми збирали персональні дані від будь-якої особи віком до 13 років без підтвердження згоди батьків, ми вживаємо заходів для видалення цієї інформації з наших серверів.

\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// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'app-products',\r\n templateUrl: './products.component.html',\r\n styleUrls: ['./products.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class ProductsComponent {\r\n}\r\n","\r\n
\r\n -- Sample Page --\r\n
\r\n","\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Utilities } from '../../services/utilities';\r\n\r\n@Component({\r\n selector: 'app-recover-password',\r\n templateUrl: './recover-password.component.html',\r\n styleUrls: ['./recover-password.component.scss']\r\n})\r\nexport class RecoverPasswordComponent implements OnInit {\r\n isLoading = false;\r\n isSuccess: boolean;\r\n\r\n recoverPasswordForm: UntypedFormGroup;\r\n\r\n @ViewChild('form')\r\n private form: NgForm;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private accountService: AccountService,\r\n private formBuilder: UntypedFormBuilder) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.recoverPasswordForm.setValue({\r\n usernameOrEmail: '',\r\n });\r\n }\r\n\r\n buildForm() {\r\n this.recoverPasswordForm = this.formBuilder.group({\r\n usernameOrEmail: ['', Validators.required]\r\n });\r\n }\r\n\r\n get usernameOrEmail() { return this.recoverPasswordForm.get('usernameOrEmail'); }\r\n\r\n getUsernameOrEmail(): string {\r\n const formModel = this.recoverPasswordForm.value;\r\n return formModel.usernameOrEmail;\r\n }\r\n\r\n recover() {\r\n if (!this.form.submitted) {\r\n // Causes validation to update.\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.recoverPasswordForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage('', 'Generating password reset mail...');\r\n\r\n this.accountService.recoverPassword(this.getUsernameOrEmail())\r\n .subscribe(() => this.saveSuccessHelper(), error => this.saveFailedHelper(error));\r\n }\r\n\r\n private saveSuccessHelper() {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = true;\r\n this.alertService.showMessage('Recover Password', 'Password reset email sent', MessageSeverity.success);\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = false;\r\n\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage('Password Recovery Failed', errorMessage, MessageSeverity.error, error);\r\n } else {\r\n this.alertService.showStickyMessage('Password Recovery Failed', `An error occured whilst recovering your password.\\nError: ${Utilities.getResponseBody(error)}`, MessageSeverity.error, error);\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
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\"SYDI
\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 Email адреса є обов'язковою\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\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n","\r\nimport { Component, OnInit, OnDestroy, Input, Output, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { UserEdit } from '../../models/user-edit.model';\r\nimport { EqualValidator } from '../../shared/validators/equal.validator';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss']\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n isLoading = false;\r\n loginStatusSubscription: any;\r\n\r\n registerForm: UntypedFormGroup;\r\n hidePassword = true;\r\n hideConfirmPassword = true;\r\n backendErrorMessage = \"\";\r\n\r\n @ViewChild('form', { static: true })\r\n private form: NgForm;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private authService: AuthService,\r\n private accountService: AccountService,\r\n private configurations: ConfigurationService,\r\n private formBuilder: UntypedFormBuilder,\r\n private navigationService: NavigationService) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.registerForm.setValue({\r\n userName: '',\r\n email: '',\r\n password: {\r\n newPassword: '',\r\n confirmPassword: ''\r\n }\r\n });\r\n\r\n if (this.getShouldRedirect()) {\r\n this.authService.redirectLoginUser();\r\n } else {\r\n this.loginStatusSubscription = this.authService.getLoginStatusEvent()\r\n .subscribe(() => {\r\n if (this.getShouldRedirect()) {\r\n //this.authService.redirectLoginUser();\r\n this.navigationService.back();\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.loginStatusSubscription) {\r\n this.loginStatusSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n buildForm() {\r\n this.registerForm = this.formBuilder.group({\r\n userName: '',\r\n email: ['', [Validators.required, Validators.email]],\r\n password: this.formBuilder.group({\r\n newPassword: ['', [Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/)]],\r\n confirmPassword: ['', [Validators.required, EqualValidator('newPassword')]],\r\n })\r\n });\r\n }\r\n\r\n get userName() { return this.registerForm.get('userName'); }\r\n get email() { return this.registerForm.get('email'); }\r\n get newPassword() { return this.registerForm.get('password').get('newPassword'); }\r\n get confirmPassword() { return this.registerForm.get('password').get('confirmPassword'); }\r\n\r\n getShouldRedirect() {\r\n return this.authService.isLoggedIn && !this.authService.isSessionExpired;\r\n }\r\n\r\n getNewUser(): UserEdit {\r\n const formModel = this.registerForm.value;\r\n const newUser = new UserEdit();\r\n\r\n newUser.userName = formModel.userName;\r\n newUser.email = formModel.email;\r\n newUser.newPassword = formModel.password.newPassword;\r\n\r\n return newUser;\r\n }\r\n\r\n register() {\r\n if (!this.form.submitted) {\r\n // Causes validation to update.\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.registerForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage('', 'Реєстрація нового користувача...');\r\n\r\n this.accountService.newUser(this.getNewUser(), true)\r\n .subscribe(() => this.saveSuccessHelper(), error => this.saveFailedHelper(error));\r\n }\r\n\r\n private saveSuccessHelper() {\r\n const user = this.getNewUser();\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage('Success', `Обліковий запис користувача \"${user.email}\" було створено успішно`, MessageSeverity.success);\r\n\r\n this.login(user.email, user.newPassword);\r\n }\r\n\r\n\r\n private saveFailedHelper(error: any) {\r\n this.isLoading = false;\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Save Error', 'The below errors occured during registration:', MessageSeverity.error, error);\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n this.backendErrorMessage = errorMessage;\r\n }\r\n\r\n\r\n login(username: string, password: string) {\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage('', 'Attempting login...');\r\n\r\n this.authService.loginWithPassword({ userName: username, password, rememberMe: false })\r\n .subscribe(\r\n user => {\r\n setTimeout(() => {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.registerForm.reset();\r\n\r\n //this.alertService.showMessage('Login', `Welcome ${user.userName}!`, MessageSeverity.success);\r\n //this.alertService.showStickyMessage('', 'Your account was created successfully', MessageSeverity.success);\r\n }, 500);\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n\r\n if (Utilities.checkNoNetwork(error)) {\r\n this.alertService.showStickyMessage(Utilities.noNetworkMessageCaption, Utilities.noNetworkMessageDetail, MessageSeverity.error, error);\r\n } else {\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage('Unable to login', this.mapLoginErrorMessage(errorMessage), MessageSeverity.error, error);\r\n } else {\r\n this.alertService.showStickyMessage('Unable to login', 'An error occured whilst loggin in, please try again later.\\nError: ' + Utilities.getResponseBody(error), MessageSeverity.error, error);\r\n }\r\n }\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 500);\r\n });\r\n }\r\n\r\n\r\n mapLoginErrorMessage(error: string) {\r\n\r\n if (error === 'invalid_username_or_password') {\r\n return `Неправильне ім'я користувача або пароль`;\r\n }\r\n\r\n if (error === 'invalid_grant') {\r\n return `Цей обліковий запис вимкнено`;\r\n }\r\n\r\n return error;\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\r\n
\r\n
\r\n
\r\n
\r\n
\"SYDI
\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 Адреса електронної пошти є обов'язковою (максімум 200 символів)\r\n \r\n \r\n В електронній адресі помилка\r\n \r\n \r\n\r\n \r\n \r\n\t\t\t {{hidePassword ? 'visibility_off' : 'visibility'}}\r\n \r\n Пароль є обов'язковим\r\n \r\n \r\n Пароль має містити щонайменше: одну велику літеру, одну малу літеру та одну цифру\r\n \r\n \r\n\r\n \r\n \r\n {{hideConfirmPassword ? 'visibility_off' : 'visibility'}}\r\n \r\n Пароль підтвердження є обов'язковим\r\n \r\n \r\n Пароль та Пароль підтвердження не співпадає\r\n \r\n \r\n\r\n

{{backendErrorMessage}}

\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 \r\n\r\n\r\n
\r\n \r\n \r\n \r\n","\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators, ValidatorFn, FormGroup } from '@angular/forms';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { EqualValidator } from '../../shared/validators/equal.validator';\r\n\r\nconst PasswordsValidator: ValidatorFn = (fg: FormGroup) => {\r\n const np = fg.get('newPassword').value;\r\n const cp = fg.get('confirmPassword').value;\r\n return np !== null && cp !== null && np === cp\r\n ? null\r\n : { range: true };\r\n};\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.scss']\r\n})\r\n\r\nexport class ResetPasswordComponent implements OnInit {\r\n isLoading = false;\r\n isSuccess: boolean;\r\n resetCode: string;\r\n hidePassword = true;\r\n hideConfirmPassword = true;\r\n resetPasswordForm: UntypedFormGroup;\r\n\r\n @ViewChild('form')\r\n private form: NgForm;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private alertService: AlertService,\r\n private authService: AuthService,\r\n private accountService: AccountService,\r\n private formBuilder: UntypedFormBuilder) {\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.resetPasswordForm.setValue({\r\n usernameOrEmail: '',\r\n password: {\r\n newPassword: '',\r\n confirmPassword: ''\r\n }\r\n });\r\n\r\n this.route.queryParams.subscribe(params => {\r\n const loweredParams: any = Utilities.GetObjectWithLoweredPropertyNames(params);\r\n this.resetCode = loweredParams.code;\r\n\r\n const formModel = this.resetPasswordForm.value;\r\n formModel.usernameOrEmail = loweredParams.email;\r\n\r\n if (!this.resetCode) {\r\n this.authService.gotoHomePage();\r\n }\r\n });\r\n }\r\n\r\n\r\n buildForm() {\r\n this.resetPasswordForm = this.formBuilder.group({\r\n usernameOrEmail: [''],\r\n password: this.formBuilder.group({\r\n newPassword: ['', [Validators.required, Validators.pattern(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/)]],\r\n confirmPassword: ['', [Validators.required]],\r\n }, { validator: PasswordsValidator })\r\n });\r\n }\r\n\r\n get usernameOrEmail() { return this.resetPasswordForm.get('usernameOrEmail'); }\r\n get newPassword() { return this.resetPasswordForm.get('password').get('newPassword'); }\r\n get confirmPassword() { return this.resetPasswordForm.get('password').get('confirmPassword'); }\r\n\r\n getUsernameOrEmail(): string {\r\n const formModel = this.resetPasswordForm.value;\r\n return formModel.usernameOrEmail;\r\n }\r\n\r\n getNewPassword(): string {\r\n const formModel = this.resetPasswordForm.value;\r\n return formModel.password.newPassword;\r\n }\r\n\r\n resetPassword() {\r\n if (!this.form.submitted) {\r\n // Causes validation to update.\r\n this.form.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.resetPasswordForm.valid) {\r\n this.alertService.showValidationError();\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.alertService.startLoadingMessage('', 'Resetting password...');\r\n\r\n this.accountService.resetPassword('', this.getNewPassword(), this.resetCode)\r\n .subscribe(() => this.saveSuccessHelper(), error => this.saveFailedHelper(error));\r\n }\r\n\r\n private saveSuccessHelper() {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = true;\r\n this.alertService.showMessage('Password Change', 'Your password was successfully reset', MessageSeverity.success);\r\n this.authService.logout();\r\n }\r\n\r\n private saveFailedHelper(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.isLoading = false;\r\n this.isSuccess = false;\r\n\r\n const errorMessage = Utilities.getHttpResponseMessage(error);\r\n\r\n if (errorMessage) {\r\n this.alertService.showStickyMessage('Password Reset Failed', errorMessage, MessageSeverity.error, error);\r\n } else {\r\n this.alertService.showStickyMessage('Password Reset Failed', `An error occured whilst resetting your password.\\nError: ${Utilities.getResponseBody(error)}`, MessageSeverity.error, error);\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
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\"SYDI
\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\t\t \r\n \t \r\n\r\n \r\n \r\n {{hidePassword ? 'visibility_off' : 'visibility'}}\r\n \r\n Пароль є обов'язковий\r\n \r\n \r\n Пароль має містити щонайменше: одну велику літеру, одну малу літеру та одну цифру\r\n \r\n \r\n\r\n \r\n \r\n {{hideConfirmPassword ? 'visibility_off' : 'visibility'}}\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
\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","\r\nimport { Component } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\n\r\n@Component({\r\n selector: 'app-terms-of-use',\r\n templateUrl: './termsofuse.component.html',\r\n styleUrls: ['./termsofuse.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class TermsOfUseComponent { }\r\n","\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\t\t

Умови використання

\r\n

Оновлено: 19 травня 2023

\r\n\r\n\t\t

\r\n Під час завантаження або використання програми ці умови будуть\r\n автоматично застосовуються до вас – тому ви повинні переконатися\r\n щоб ви уважно прочитали їх перед використанням програми. Ти не\r\n дозволено копіювати або змінювати програму, будь-яку частину програми або\r\n наші торгові марки будь-яким способом. Вам заборонено намагатися\r\n витягніть вихідний код програми, і ви також не повинні намагатися\r\n щоб перекласти програму іншими мовами або зробити її похідною\r\n версії. Сама програма та всі торгові марки, авторські права,\r\n права на бази даних та інші права інтелектуальної власності\r\n до нього, як і раніше належать SYDI.Finance.\r\n

\r\n SYDI.Finance прагне гарантувати, що додаток є\r\n максимально корисним і ефективним. З цієї причини ми\r\n залишає за собою право вносити зміни в додаток у будь-який\r\n час і з будь-якої причини. Ми ніколи не будемо\r\n стягувати плату за програму.\r\n

\r\n Програма SYDI.Finance зберігає та обробляє особисті дані, які\r\n ви надали нам, щоб забезпечити наш Сервіс. Ви несете\r\n відповідальність за збереження свого телефону та безпечний\r\n доступ до програми. Тому ми рекомендуємо вам це зробити\r\n не джейлбрейк або рутування вашого телефону, що є процесом\r\n усунення програмних обмежень і обмежень, накладених\r\n офіційна операційна система вашого пристрою. Це може зробити ваш\r\n телефон вразливий до шкідливих програм/вірусів/шкідливих програм,\r\n скомпрометувати функції безпеки вашого телефону, і це може означати\r\n що програма SYDI.Finance не працюватиме належним чином\r\n або взагалі не працюватиме.\r\n

\r\n Додаток використовує сторонні сервіси, які оголошують\r\n власні Умови використання.\r\n

\r\n Посилання на Загальні положення та умови сторонніх постачальників\r\n послуг, які використовуються програмою\r\n

\r\n Ви повинні знати, що є певні речі, які\r\n SYDI.Finance не бере на себе відповідальності. Певний\r\n функції програми вимагатимуть, щоб програма мала активний\r\n підключення до інтернету. Підключення може бути Wi-Fi або наданим\r\n вашим постачальником мобільної мережі, але SYDI.Finance\r\n не може нести відповідальність за те, що у програмі не працює повною мірою\r\n функціональність, якщо у вас немає доступу до Wi-Fi, а у вас його немає\r\n у вас залишилося будь-яке обмеження даних.\r\n

\r\n Якщо ви використовуєте програму за межами зони з Wi-Fi, ви\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 Таким же чином SYDI.Finance не завжди несе відповідальність за те,\r\n як ви використовуєте програму, тобто вам потрібно\r\n переконайтеся, що ваш пристрій залишається зарядженим – якщо розрядиться\r\n акумулятор, і ви не можете ввімкнути його, щоб скористатися Послугою,\r\n SYDI.Finance не несе відповідальності.\r\n

\r\n Що стосується відповідальності SYDI.Finance за вашу\r\n використання програми, важливо, щоб під час використання програми\r\n майте на увазі, що хоча ми докладаємо всіх зусиль, щоб це було так\r\n постійно оновлюються та виправляються, ми покладаємося на треті сторони\r\n щоб надати нам інформацію, щоб ми могли зробити її доступною\r\n тобі. SYDI.Finance не несе жодної відповідальності\r\n втрати, прямі чи непрямі, яких ви зазнаєте внаслідок\r\n повністю покладаючись на цю функцію програми.\r\n

\r\n У якийсь момент ми можемо забажати оновити додаток. Додаток є\r\n наразі доступний на Android або iOS – вимоги до\r\n системи (і для будь-яких додаткових систем ми\r\n вирішити розширити доступність програми до) може змінитися,\r\n і вам потрібно буде завантажити оновлення, якщо ви хочете зберегти\r\n за допомогою програми. SYDI.Finance цього не обіцяє\r\n завжди оновлюватиме програму, щоб вона була актуальною для вас\r\n і/або працює з вашою версією Android обо iOS\r\n яку встановлено на вашому пристрої. Однак ви обіцяєте завжди\r\n приймати оновлення програми, коли вам пропонуються, Ми можемо\r\n також припинити надання програми та припинити використання\r\n у будь-який час без повідомлення про припинення дії.\r\n Якщо ми не скажемо вам інше, після будь-якого розірвання, (a)\r\n права та ліцензії, надані вам за цими умовами, припиняються;\r\n (b) ви повинні припинити використання програми та (за потреби) видалити її\r\n з вашого пристрою.\r\n

Як видалити Ваш обліковий запис?

\r\n Для видалення облікового запису (акаунту) перейдіть Профіль -> Акаунт. Відправьте запит на Вашу електрону адресу.\r\n\t\t Після підтвердіть запит на видалення Вашого облікового запису в електроному листі.\r\n

Зміни до цих Умов

\r\n Я можу час від часу оновлювати наші Положення та умови.\r\n Тому радимо періодично переглядати цю сторінку на предмет\r\n будь-яких змін. Я повідомлятиму вас про будь-які зміни,\r\n опублікувавши нові Умови використання на цій сторінці.\r\n

\r\n Ці умови набувають чинності з 10.06.2023\r\n

Зв'язатися з нами

\r\n Якщо у вас є будь-які запитання чи пропозиції щодо моїх Умов,\r\n не соромтеся зв’язатися зі нами за адресою info@sydi.finance.\r\n

\r\n\r\n\r\n
\r\n
\r\n
\r\n","import { ChangeDetectorRef, Component, Directive, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { InsuranceCompany } from \"src/app/models/InsuranceCompany\";\r\nimport { City } from \"src/app/models/city.model\";\r\nimport { fadeInOut } from \"src/app/services/animations\";\r\nimport { CatalogService } from \"src/app/services/catalog.service\";\r\nimport { ConfigurationService } from \"src/app/services/configuration.service\";\r\nimport { NavigationService } from \"src/app/services/navigation.service\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { User } from \"src/app/models/user.model\";\r\nimport { Role } from \"src/app/models/role.model\";\r\nimport { Observable, debounceTime, distinctUntilChanged, filter, finalize, forkJoin, switchMap, tap } from \"rxjs\";\r\nimport { FormArray, NgForm, UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from \"@angular/material-moment-adapter\";\r\nimport { dateValidator, yearValidator } from \"src/app/shared/validators/equal.validator\";\r\nimport { AlertService, MessageSeverity } from \"src/app/services/alert.service\";\r\nimport { CarType } from \"src/app/models/CarType\";\r\nimport { CarTypeProperty } from \"src/app/models/CarTypeProperty\";\r\nimport { Moment } from \"moment\";\r\nimport { MatDatepicker } from \"@angular/material/datepicker\";\r\nimport moment from \"moment\";\r\nimport { MAT_SELECT_CONFIG } from \"@angular/material/select\";\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Buffer } from 'buffer';\r\nimport { TravelProductRequest } from \"src/app/models/travel-insurance/travel-product-request\";\r\nimport { TravelFilterResponse } from \"src/app/models/travel-insurance/travel-filter-response.model\";\r\nimport { TravelService } from \"src/app/services/travel.service\";\r\nimport { TravelProductResponse } from \"src/app/models/travel-insurance/travel-product-response\";\r\nimport { TravelProductModel } from \"src/app/models/travel-insurance/travel-product.model\";\r\nimport { TravelInsuranceBookingRecordModel } from \"src/app/models/travel-insurance/travel-insurance-booking-record.model\";\r\nimport { TravelDocumentModel } from \"src/app/models/travel-insurance/travel-document.model\";\r\n\r\n@Component({\r\n selector: 'app-travel-insurance-order',\r\n templateUrl: './travel-insurance-order.component.html',\r\n styleUrls: ['./travel-insurance-order.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\r\n\r\n ]\r\n})\r\n\r\nexport class TravelInsuranceOrderComponent implements OnInit {\r\n\r\n @ViewChild('orderNgForm', { static: true }) orderNgForm: NgForm;\r\n @ViewChild('paymentForm') paymentFormElement;\r\n\r\n @Input() isEditMode = true;\r\n\r\n selectedProductId: string;\r\n selectedTermId: string;\r\n selectedTerritoryId: string;\r\n selectedPurposeId: string;\r\n selectedMultipleTrip: boolean;\r\n selectedBirthdays: Array = [];\r\n\r\n selectedValidFrom: string;\r\n selectedValidTo: string;\r\n\r\n selectedTermName: string;\r\n selectedTerritoryName: string;\r\n selectedPurposeName: string;\r\n selectedProgramId: string;\r\n selectedLimit: number;\r\n\r\n searchResult:string;\r\n searchResult1:string;\r\n searchResult2:string;\r\n searchResult3:string;\r\n public travelProduct: TravelProductModel;\r\n\r\n kyivCodeTE = '8000000000';\r\n\r\n public insuranceCompany: InsuranceCompany;\r\n public loadingDataSource: boolean;\r\n public isSaving: boolean;\r\n\r\n public user: User;\r\n public orderForm: UntypedFormGroup;\r\n\r\n filteredCities: City[] =\r\n [{id: '8000000000', town: 'М.КИЇВ', region: '',mainRegion:'', friendlyName:''},\r\n {id: '6310100000', town: 'ХАРКІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1210100000', town: 'ДНІПРО' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '4610100000', town: 'ЛЬВІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '5310100000', town: 'ПОЛТАВА' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0510100000', town: 'ВІННИЦЯ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1410100000', town: 'ДОНЕЦЬК' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0110100000', town: 'СІМФЕРОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '8500000000', town: 'М.СЕВАСТОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n ];\r\n\r\n isLoadingCity = false;\r\n minLengthTerm = 3;\r\n passportSelectedCity: City = null;\r\n isValidSelectedCity = false;\r\n\r\n private optionalRegexPrefix = \"^$|\";\r\n\r\n public accepted:boolean = false;\r\n public minValidDate = moment().add(1, 'days');\r\n public maxManufactureYear = moment();\r\n\r\n public gatewayUrl:string;\r\n public payment:string;\r\n public key:string;\r\n public callbackUrl:string;\r\n public data:string;\r\n public req_token:string;\r\n public sign:string;\r\n public useremail:string;\r\n public order:string;//internal order id\r\n public ext1:string;//user id\r\n public ext2:string;//insurance company id\r\n public ext3:string;//insurance company name\r\n public ext4:string;//external order id\r\n\r\n constructor (\r\n public configurations: ConfigurationService,\r\n private route: ActivatedRoute,\r\n private formBuilder: UntypedFormBuilder,\r\n private accountService: AccountService,\r\n private ref: ChangeDetectorRef,\r\n private alertService: AlertService,\r\n private http: HttpClient,\r\n private travelService: TravelService,\r\n private catalogService: CatalogService,\r\n private router: Router ) {\r\n\r\n this.isSaving = false;\r\n this.buildForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.passportSelectedCity = this.filteredCities[0];\r\n\r\n this.cityKoatuuIdControl.setValue(this.passportSelectedCity.id);\r\n this.cityNameControl.setValue(this.passportSelectedCity.town);\r\n this.searchCityControl.setValue(this.passportSelectedCity.town);\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n this.selectedProductId = params['productId'];\r\n this.selectedTermId = params['termId'];\r\n this.selectedTerritoryId = params['territoryId'];\r\n this.selectedPurposeId = params['purposeId'];\r\n this.selectedMultipleTrip = params['multipleTrip'] == \"true\" ? true : false;\r\n\r\n var decoded = decodeURIComponent(params['birthdays']);\r\n var birthdayArray = JSON.parse(decoded);\r\n this.selectedBirthdays = birthdayArray.map(element => { return moment.utc(element, 'DD-MM-YYYY').toDate(); });\r\n\r\n this.selectedValidFrom = params['validFrom'];\r\n this.selectedValidTo = params['validTo'];\r\n\r\n this.selectedProgramId = params['programId'];\r\n this.selectedLimit = Number(params['limit']);\r\n\r\n var model = new TravelProductRequest();\r\n model.isMultiple = this.selectedMultipleTrip;\r\n model.dateFrom = moment.utc(this.selectedValidFrom, 'DD-MM-YYYY').toDate();\r\n model.dateTo = moment.utc(this.selectedValidTo, 'DD-MM-YYYY').toDate();\r\n model.termId = this.selectedTermId;\r\n model.territoryId = this.selectedTerritoryId;\r\n model.purposeId = this.selectedPurposeId;\r\n model.clientBirthdays = this.selectedBirthdays.map(element => { return moment.utc(element, 'DD-MM-YYYY').toDate(); });\r\n model.limit = this.selectedLimit;\r\n model.programId = this.selectedProgramId;\r\n\r\n this.loadData(model);\r\n\r\n this.acceptedByClient.disable();\r\n\r\n this.bindSearchCity();\r\n\r\n model.clientBirthdays.forEach(element => {\r\n\r\n const travelerForm = this.formBuilder.group({\r\n firstname: ['', [Validators.required, Validators.pattern(\"^[a-zA-Z']{2,40}$\")]],\r\n lastname: ['', [Validators.required,Validators.pattern(\"^[a-zA-Z']{2,40}$\")]],\r\n seria: ['', [Validators.required, Validators.pattern(\"^[A-Z]{2,3}$\")]],\r\n number: ['', [Validators.required, Validators.pattern(\"^[0-9]{6,9}$\")]],\r\n birthday: [moment(element), [Validators.required]]\r\n });\r\n\r\n this.travelers.push(travelerForm);\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n //this.alertService.showMessage('Автоцивілка', `Заявку на страхування відправлено`, MessageSeverity.success);\r\n }\r\n\r\n private buildForm() {\r\n let dateRegex = new RegExp(\"^\\\\d{1,2}.\\\\d{1,2}.\\\\d{4,4}$\");\r\n\r\n var numberValidators = [Validators.required, Validators.pattern(\"^[0-9]{6,9}$\")];\r\n var seriaValidators = [Validators.required, Validators.pattern(\"^[A-Z]{2,3}$\")];\r\n\r\n var taxIdValidators = [Validators.required, Validators.pattern(\"^[0-9]{10,10}$\")];\r\n\r\n this.orderForm = this.formBuilder.group({\r\n email: [''],\r\n phoneNumber: ['', [Validators.required, Validators.pattern(/(?=.*\\d).{12,12}/)]],\r\n acceptedByClient: ['', Validators.requiredTrue],\r\n firstname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,40}$\")]],\r\n lastname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,200}$\")]],\r\n middlename: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{1,200}$\")]],\r\n birthday: ['', [Validators.required, dateValidator(dateRegex)]],\r\n searchCity:['', Validators.required],\r\n cityName:'',\r\n cityKoatuuId:'',\r\n street:['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{2,100}$\")]],\r\n houseNumber:['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{1,20}$\")]],\r\n apartmentNumber:['', [\r\n Validators.pattern(this.optionalRegexPrefix + \"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{1,20}$\")]],\r\n\r\n travelers: this.formBuilder.array([])\r\n\r\n });\r\n }\r\n\r\n get email() { return this.orderForm.get('email'); }\r\n\r\n get phoneNumber() { return this.orderForm.get('phoneNumber'); }\r\n\r\n get acceptedByClient() { return this.orderForm.get('acceptedByClient'); }\r\n\r\n get firstname() { return this.orderForm.get('firstname'); }\r\n\r\n get lastname() { return this.orderForm.get('lastname'); }\r\n\r\n get middlename() { return this.orderForm.get('middlename'); }\r\n\r\n get birthday() { return this.orderForm.get('birthday'); }\r\n\r\n get street() { return this.orderForm.get('street'); }\r\n\r\n get houseNumber() { return this.orderForm.get('houseNumber'); }\r\n\r\n get apartmentNumber() { return this.orderForm.get('apartmentNumber'); }\r\n\r\n get searchCityControl() { return this.orderForm.get('searchCity'); }\r\n\r\n get cityNameControl() { return this.orderForm.get('cityName'); }\r\n\r\n get cityKoatuuIdControl() { return this.orderForm.get('cityKoatuuId'); }\r\n\r\n get travelers() {\r\n return this.orderForm.controls[\"travelers\"] as FormArray;\r\n }\r\n\r\n public casePatterns = {\r\n U: {\r\n pattern: new RegExp('[a-zA-ZаАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ]')\r\n }\r\n };\r\n\r\n loadData(model:TravelProductRequest)\r\n {\r\n this.loadingDataSource = true;\r\n\r\n let loadingTravelFilter: Observable = this.travelService.getFilter();\r\n let loadingTravelProduct: Observable = this.travelService.getProduct(model);\r\n let loadingUser: Observable = this.accountService.getUser();\r\n\r\n forkJoin(loadingTravelProduct, loadingTravelFilter, loadingUser).subscribe(results => {\r\n this.travelProduct = results[0].product;\r\n\r\n this.insuranceCompany = this.travelProduct.insuranceCompany ? this.travelProduct.insuranceCompany as InsuranceCompany : undefined;\r\n\r\n let filter = results[1];\r\n let user = results[2];\r\n\r\n this.onCurrentUserDataLoadSuccessful(user, user.roles.map(r => new Role(r)));\r\n\r\n this.selectedTermName = filter.terms.filter((item) => item.id == this.selectedTermId)[0]?.name;\r\n this.selectedTerritoryName = filter.territories.filter((item) => item.id == this.selectedTerritoryId)[0]?.name;\r\n this.selectedPurposeName = filter.purposes.filter((item) => item.id == this.selectedPurposeId)[0]?.name;\r\n\r\n if(this.selectedMultipleTrip == true) {\r\n this.searchResult = \"Термін дії: з \" + this.selectedValidFrom + ' період ' + this.selectedTermName;\r\n } else {\r\n this.searchResult = \"Термін дії: з \" + this.selectedValidFrom + ' по ' + this.selectedValidTo;\r\n }\r\n\r\n this.searchResult1 = \"Країни: \" + this.selectedTerritoryName;\r\n this.searchResult2 = 'Мета візиту: ' + this.selectedPurposeName;\r\n this.searchResult3 = \"Кількість відвидувачів: \" + this.selectedBirthdays.length;\r\n\r\n this.loadingDataSource = false;\r\n },\r\n error => {\r\n console.log(error);\r\n this.loadingDataSource = false;\r\n });\r\n }\r\n\r\n private onCurrentUserDataLoadSuccessful(user: User, roles: Role[]) {\r\n this.user = user;\r\n\r\n const emailControl = this.orderForm.controls.email;\r\n const phoneNumberControl = this.orderForm.controls.phoneNumber;\r\n\r\n emailControl.setValue(user.email);\r\n phoneNumberControl.setValue(user.phoneNumber);\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.ref.detectChanges();\r\n }\r\n\r\n public validate() {\r\n\r\n this.orderForm.markAllAsTouched();\r\n\r\n if (!this.orderNgForm.submitted) {\r\n // Causes validation to update.\r\n this.orderNgForm.onSubmit(null);\r\n }\r\n\r\n if (!this.orderForm.valid) {\r\n return;\r\n }\r\n\r\n this.acceptedByClient.enable();\r\n this.isEditMode = false;\r\n }\r\n\r\n public async save() {\r\n\r\n if (!this.orderForm.valid) {\r\n return;\r\n }\r\n\r\n this.loadingDataSource = true;\r\n\r\n this.alertService.showMessage('Туристична страховка', `Відправка заявки на страхування`, MessageSeverity.success);\r\n\r\n const product = this.getTravelInsuranceBookingRecord();\r\n\r\n this.travelService.saveProduct(product).subscribe(\r\n savedProduct => this.saveCompleted(savedProduct),\r\n error => this.saveFailed(error));\r\n\r\n }\r\n\r\n private saveCompleted(product: TravelInsuranceBookingRecordModel) {\r\n\r\n this.alertService.showMessage('Туристична страховка', `Заявку на страхування відправлено`, MessageSeverity.success);\r\n //this.loadingDataSource = false;\r\n\r\n // this.router.navigate(\r\n // ['/travel-insurance/paid'],\r\n // { queryParams: { order: product.id } }\r\n // );\r\n\r\n // return;\r\n\r\n var platonApiKey = this.configurations.platonApiKey;\r\n var platonApiPassword = this.configurations.platonApiPassword;\r\n var platonApiUrl = this.configurations.platonApiUrl;\r\n\r\n this.callbackUrl = this.configurations.currentBaseUrl + '/travel-insurance/paid';\r\n\r\n this.payment = 'CC';\r\n this.req_token = 'Y';\r\n this.gatewayUrl = platonApiUrl;\r\n this.key = platonApiKey;\r\n\r\n var amount = product.sum.toFixed(2);\r\n\r\n const dataArray = {\r\n amount: amount,\r\n description: \"SYDI.Finance, Туристична страховка від \" + product.insuranceCompany,\r\n currency:\"UAH\",\r\n recurring:\"Y\"\r\n };\r\n\r\n this.data = Buffer.from(JSON.stringify(dataArray)).toString('base64');\r\n\r\n var valToSign = this.reverse(platonApiKey) + this.reverse(this.payment) + this.reverse(this.data)\r\n + this.reverse(this.callbackUrl) + this.reverse(platonApiPassword);\r\n var valToSignUpper = valToSign.toUpperCase();\r\n this.sign = CryptoJS.MD5(valToSignUpper);\r\n\r\n this.useremail = product.email;\r\n this.order = product.id;//product id\r\n this.ext1 = product.applicationUserId;//user id\r\n this.ext2 = product.insuranceCompany.toString();\r\n this.ext3 = product.insuranceCompanyName;\r\n this.ext4 = product.orderId;//external order id\r\n this.ref.detectChanges();\r\n\r\n this.paymentFormElement.nativeElement.submit();\r\n\r\n // this.router.navigate(\r\n // ['/car-insurance/paid'],\r\n // { queryParams: { order: product.id } }\r\n // );\r\n\r\n }\r\n\r\n private reverse(s) {\r\n return [...s].reverse().join(\"\");\r\n }\r\n\r\n private saveFailed(error) {\r\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\r\n this.loadingDataSource = false;\r\n }\r\n\r\n private getTravelInsuranceBookingRecord(): TravelInsuranceBookingRecordModel {\r\n const formModel = this.orderForm.value;\r\n\r\n const passports = formModel.travelers.map(item =>\r\n new TravelDocumentModel(\"\",\r\n this.travelService.currentUser.id,\r\n item.seria,\r\n item.number,\r\n item.firstname,\r\n item.lastname,\r\n item.birthday\r\n )\r\n );\r\n\r\n return {\r\n id: \"\",\r\n applicationUserId: this.travelService.currentUser.id,\r\n email: formModel.email,\r\n phone: formModel.phoneNumber,\r\n\r\n travelDocuments: passports,\r\n\r\n firstname: formModel.firstname,\r\n lastname: formModel.lastname,\r\n middlename: formModel.middlename,\r\n birthday: formModel.birthday,\r\n\r\n street: formModel.street,\r\n houseNumber: formModel.houseNumber,\r\n apartmentNumber: formModel.apartmentNumber,\r\n documentCityKoatuuId: formModel.cityKoatuuId,\r\n documentCityName: formModel.cityName,\r\n\r\n insuranceCompany: this.insuranceCompany,\r\n insuranceCompanyName: this.travelProduct?.insuranceCompanyName,\r\n price: this.travelProduct?.price,\r\n sum: this.travelProduct?.sum,\r\n\r\n termId: this.selectedTermId,\r\n programId: this.selectedProgramId,\r\n purposeId: this.selectedPurposeId,\r\n limit: this.travelProduct?.limit,\r\n isMultiple: this.selectedMultipleTrip,\r\n territoryId: this.selectedTerritoryId,\r\n travelerCount: this.selectedBirthdays.length,\r\n productId:this.selectedProductId,\r\n\r\n termName:this.selectedTermName,\r\n territoryName:this.selectedTerritoryName,\r\n purposeName: this.selectedPurposeName,\r\n\r\n isConfirmedByClient: formModel.acceptedByClient,\r\n\r\n //discount?: number,\r\n //discountPercent?: number,\r\n //paid?: boolean,\r\n\r\n insuranceValidFrom: moment.utc(this.selectedValidFrom, 'DD-MM-YYYY').toDate(),\r\n insuranceValidTo: moment.utc(this.selectedValidTo, 'DD-MM-YYYY').toDate()\r\n };\r\n }\r\n\r\n public back() {\r\n\r\n setTimeout(() => {\r\n this.acceptedByClient.disable();\r\n this.isEditMode = true;\r\n });\r\n\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n public clearCitySelection() {\r\n this.passportSelectedCity = null;\r\n this.cityKoatuuIdControl.setValue('');\r\n this.cityNameControl.setValue('');\r\n this.searchCityControl.setValue('');\r\n this.filteredCities = [];\r\n }\r\n\r\n onSelected(value: City) {\r\n\r\n this.passportSelectedCity = value;\r\n\r\n this.cityKoatuuIdControl.setValue(this.passportSelectedCity?.id);\r\n this.cityNameControl.setValue(this.passportSelectedCity?.town);\r\n this.searchCityControl.setValue(this.passportSelectedCity?.town);\r\n\r\n if(value)\r\n this.isValidSelectedCity = true;\r\n else\r\n this.isValidSelectedCity = false;\r\n\r\n }\r\n\r\n displayWith(value: City) {\r\n let town = typeof value === 'string' ? value : value?.town;\r\n //console.log(\"displayWith \" + town);\r\n return town;\r\n }\r\n\r\n bindSearchCity() {\r\n this.searchCityControl.valueChanges\r\n .pipe(\r\n filter(res => {\r\n return res !== null && res.length >= this.minLengthTerm\r\n }),\r\n distinctUntilChanged(),\r\n debounceTime(1000),\r\n tap(() => {\r\n this.filteredCities = [];\r\n this.isLoadingCity = true;\r\n }),\r\n switchMap(value => this.catalogService.getCities(value)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoadingCity = false\r\n }),\r\n )\r\n )\r\n )\r\n .subscribe((data: any) => {\r\n this.filteredCities = data;\r\n\r\n //console.log(this.filteredCities);\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
\r\n
\r\n
{{searchResult}}
\r\n
\r\n
\r\n
{{searchResult1}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{searchResult2}}
\r\n
\r\n
\r\n
{{searchResult3}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Туристична страховка онлайн. Онлайн оформлення страховки. Туристичні страховки по всьому світу. Різні цілі мандрування та терміни дії. Підтримка 24/7.
\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
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \"Salamandra\"\r\n\r\n
\r\n
\r\n
{{travelProduct?.insuranceCompanyName}}
\r\n
\r\n
\r\n
{{travelProduct?.limit | number:'1.0-0'}} $
\r\n

Ліміт

\r\n
\r\n\r\n
\r\n

{{travelProduct.price | number:'1.2-2'}} грн.

\r\n

{{travelProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n

{{travelProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n
    \r\n
  • Oпції\r\n
      \r\n
    • 0\">{{riskLimit.description}} {{riskLimit.price | number:'1.0-0'}} {{riskLimit.currency}}
    • \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 contacts\r\n

{{'travel-insurance-order.editor.Contacts' | translate}}

\r\n
\r\n\r\n
\r\n \r\n {{'travel-insurance-order.editor.Email' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.PhoneNumber' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.PhoneNumberRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.PhoneNumberRegex' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n

{{'travel-insurance-order.editor.Document' | translate}}

\r\n
\r\n\r\n
\r\n\r\n \r\n {{'travel-insurance-order.editor.Firstname' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.FirstnameRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.FirstnameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.Lastname' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.LastnameRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.LastnameRegex' | translate}}\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n \r\n {{'travel-insurance-order.editor.Middlename' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.MiddlenameRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.MiddlenameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.Birthday' | translate}}\r\n\r\n \r\n\r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.BirthdayRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.BirthdayRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'travel-insurance-order.editor.RegistrationPlace' | translate}}\r\n \r\n \r\n\r\n {{'travel-insurance-order.editor.RegistrationPlaceRequired' | translate}}\r\n\r\n \r\n {{'travel-insurance-order.editor.RegistrationPlaceLoading' | translate}}\r\n \r\n \r\n {{city.town}} {{city.region}}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'travel-insurance-order.editor.Street' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.StreetRequired' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.StreetRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.HouseNumber' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.HouseNumberRequired' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.HouseNumberRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.ApartmentNumber' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.ApartmentNumberRequired' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.ApartmentNumberRegex' | translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n

{{'travel-insurance-order.editor.Travelers' | translate}}

\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
{{i + 1}}. Турист
\r\n
\r\n
\r\n
\r\n\r\n \r\n {{'travel-insurance-order.editor.FirstnameEng' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.FirstnameEngRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.FirstnameEngRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.LastnameEng' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.LastnameEngRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.LastnameEngRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'travel-insurance-order.editor.Birthday' | translate}}\r\n\r\n \r\n\r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.BirthdayRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.BirthdayRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.Seria' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.SeriaRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.SeriaRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.Number' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance-order.editor.NumberRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance-order.editor.NumberRegex' | translate}}\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 {{'travel-insurance-order.editor.AcceptedByClient' | translate}}\r\n\r\n
\r\n\r\n
\r\n {{'travel-insurance-order.editor.AcceptedByClientRequired' | translate}}\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
\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 \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
\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\nimport { Component, OnInit, AfterViewInit, OnDestroy, ViewChildren, QueryList } from '@angular/core';\r\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { debounceTime, tap, switchMap, finalize, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ThemeService } from 'ng2-charts';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\nimport moment from 'moment';\r\nimport { TravelProductModel } from 'src/app/models/travel-insurance/travel-product.model';\r\nimport { TravelService } from 'src/app/services/travel.service';\r\nimport { TravelProductsRequest } from 'src/app/models/travel-insurance/travel-products-request';\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { TravelFilterResponse } from 'src/app/models/travel-insurance/travel-filter-response.model';\r\nimport { MatPaginatorIntl, PageEvent } from '@angular/material/paginator';\r\nimport { TravelProductsResponse } from 'src/app/models/travel-insurance/travel-products-response';\r\n\r\n@Component({\r\n selector: 'app-travel-insurance-offers',\r\n templateUrl: './travel-insurance-offers.component.html',\r\n styleUrls: ['./travel-insurance-offers.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS] },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\r\n ]\r\n})\r\n\r\nexport class TravelInsuranceOffersComponent implements OnInit {\r\n\r\n selectedProductId: string;\r\n selectedTermId: string;\r\n selectedTerritoryId: string;\r\n selectedPurposeId: string;\r\n selectedMultipleTrip: boolean;\r\n selectedBirthdays: Array = [];\r\n\r\n selectedValidFrom: string;\r\n selectedValidTo: string;\r\n\r\n selectedTermName: string;\r\n selectedTerritoryName: string;\r\n selectedPurposeName: string;\r\n\r\n searchResult:string;\r\n searchResult1:string;\r\n searchResult2:string;\r\n searchResult3:string;\r\n\r\n loadingDataSource: boolean;\r\n\r\n public pageEvent: PageEvent;\r\n public pageSize = 6;\r\n public currentPage = 0;\r\n public totalSize = 0;\r\n\r\n public travelProducts: TravelProductModel[];\r\n public dataSource: TravelProductModel[];\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private navigationService: NavigationService,\r\n private travelService: TravelService,\r\n public _MatPaginatorIntl: MatPaginatorIntl ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this._MatPaginatorIntl.firstPageLabel = 'До Першої Сторінки';\r\n this._MatPaginatorIntl.itemsPerPageLabel = 'Кількість На Сторінці';\r\n this._MatPaginatorIntl.lastPageLabel = 'До Останньої Сторінки';\r\n this._MatPaginatorIntl.nextPageLabel = 'До Наступної Сторінки';\r\n this._MatPaginatorIntl.previousPageLabel = 'До Попередньої Сторінки';\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n this.selectedProductId = params['productId'];\r\n this.selectedTermId = params['termId'];\r\n this.selectedTerritoryId = params['territoryId'];\r\n this.selectedPurposeId = params['purposeId'];\r\n this.selectedMultipleTrip = params['multipleTrip'] == \"true\" ? true : false;\r\n\r\n var decoded = params['birthdays'];\r\n var birthdayArray = JSON.parse(decoded);\r\n this.selectedBirthdays = birthdayArray.map(element => { return moment.utc(element, 'DD-MM-YYYY').toDate(); });\r\n\r\n this.selectedValidFrom = params['validFrom'];\r\n this.selectedValidTo = params['validTo'];\r\n\r\n var model = new TravelProductsRequest();\r\n model.isMultiple = this.selectedMultipleTrip;\r\n model.dateFrom = moment.utc(this.selectedValidFrom, 'DD-MM-YYYY').toDate();\r\n model.dateTo = moment.utc(this.selectedValidTo, 'DD-MM-YYYY').toDate();\r\n model.termId = this.selectedTermId;\r\n model.territoryId = this.selectedTerritoryId;\r\n model.purposeId = this.selectedPurposeId;\r\n model.clientBirthdays = this.selectedBirthdays;\r\n\r\n this.loadData(model);\r\n\r\n console.log(this.selectedBirthdays);\r\n });\r\n }\r\n\r\n loadData(model: TravelProductsRequest) {\r\n this.loadingDataSource = true;\r\n\r\n let loadingTravelFilter: Observable = this.travelService.getFilter();\r\n let loadingTravelProducts: Observable = this.travelService.getProducts(model);\r\n\r\n forkJoin(loadingTravelProducts, loadingTravelFilter).subscribe(results => {\r\n this.dataSource = results[0].products;\r\n\r\n let positionId = 1;\r\n\r\n this.dataSource.forEach((element) => {\r\n element.localId = positionId++;\r\n });\r\n\r\n this.totalSize = this.dataSource.length;\r\n this.currentPage = 0;\r\n this.iterator();\r\n\r\n let filter = results[1];\r\n\r\n this.selectedTermName = filter.terms.filter((item) => item.id == this.selectedTermId)[0]?.name;\r\n this.selectedTerritoryName = filter.territories.filter((item) => item.id == this.selectedTerritoryId)[0]?.name;\r\n this.selectedPurposeName = filter.purposes.filter((item) => item.id == this.selectedPurposeId)[0]?.name;\r\n\r\n if(this.selectedMultipleTrip == true) {\r\n this.searchResult = \"Термін дії: з \" + this.selectedValidFrom + ' період ' + this.selectedTermName;\r\n } else {\r\n this.searchResult = \"Термін дії: з \" + this.selectedValidFrom + ' по ' + this.selectedValidTo;\r\n }\r\n\r\n this.searchResult1 = \"Країни: \" + this.selectedTerritoryName;\r\n this.searchResult2 = 'Мета візиту: ' + this.selectedPurposeName;\r\n this.searchResult3 = \"Кількість відвидувачів: \" + this.selectedBirthdays.length;\r\n\r\n this.loadingDataSource = false;\r\n },\r\n error => {\r\n this.totalSize = 0;\r\n this.currentPage = 0;\r\n this.dataSource = [];\r\n this.iterator();\r\n console.log(error);\r\n this.loadingDataSource = false;\r\n });\r\n }\r\n\r\n private iterator() {\r\n const end = (this.currentPage + 1) * this.pageSize;\r\n const start = this.currentPage * this.pageSize;\r\n const part = this.dataSource.slice(start, end);\r\n this.travelProducts = part;\r\n }\r\n\r\n handlePageEvent(event: PageEvent) {\r\n this.currentPage = event.pageIndex;\r\n this.pageSize = event.pageSize;\r\n this.iterator();\r\n }\r\n\r\n buy(item: TravelProductModel)\r\n {\r\n const productId = this.selectedProductId;\r\n const termId = this.selectedTermId;\r\n const territoryId = this.selectedTerritoryId;\r\n const purposeId = this.selectedPurposeId;\r\n const multipleTrip = this.selectedMultipleTrip;\r\n\r\n const validFrom = this.selectedValidFrom;\r\n const validTo = this.selectedValidTo;\r\n\r\n const birthdays = this.selectedBirthdays.map(birthday => moment(birthday).format('DD.MM.YYYY'));\r\n const birthdaysJson = JSON.stringify(birthdays);\r\n\r\n const limit = item.limit;\r\n const programId = item.programId;\r\n\r\n let params;\r\n\r\n if(!this.selectedMultipleTrip) {\r\n params = {\r\n territoryId: territoryId,\r\n purposeId: purposeId,\r\n multipleTrip: multipleTrip,\r\n birthdays: birthdaysJson,\r\n validFrom :validFrom,\r\n validTo :validTo,\r\n limit :limit,\r\n programId :programId,\r\n productId: productId\r\n };\r\n } else {\r\n params = {\r\n termId: termId,\r\n territoryId: territoryId,\r\n purposeId: purposeId,\r\n multipleTrip: multipleTrip,\r\n birthdays: birthdaysJson,\r\n validFrom :validFrom,\r\n limit :limit,\r\n programId :programId,\r\n productId: productId\r\n };\r\n }\r\n\r\n this.router.navigate(['/travel-insurance/order'], { queryParams: params } );\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
\r\n
\r\n
\r\n
{{searchResult}}
\r\n
\r\n
\r\n
{{searchResult1}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{searchResult2}}
\r\n
\r\n
\r\n
{{searchResult3}}
\r\n
\r\n
\r\n\r\n
\r\n\t\t
\r\n
Туристична страховка онлайн. Онлайн оформлення страховки. Туристичні страховки по всьому світу. Різні цілі мандрування та терміни дії. Підтримка 24/7.
\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 \r\n\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \"Salamandra\"\r\n\r\n
\r\n
\r\n
{{travelProduct?.insuranceCompanyName}}
\r\n
\r\n
\r\n
{{travelProduct.limit | number:'1.0-0'}} $
\r\n

Ліміт

\r\n
\r\n\r\n
\r\n

{{travelProduct.price | number:'1.2-2'}} грн.

\r\n

{{travelProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n

{{travelProduct.sum | number:'1.2-2'}} грн.

\r\n
\r\n\r\n
\r\n\r\n
    \r\n
  • Oпції\r\n
      \r\n
    • 0\">{{riskLimit.description}} {{riskLimit.price | number:'1.0-0'}} {{riskLimit.currency}}
    • \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
\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 \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
\r\n \r\n \r\n\r\n\r\n","import { ChangeDetectorRef, Component, Directive, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { fadeInOut } from \"src/app/services/animations\";\r\nimport { ConfigurationService } from \"src/app/services/configuration.service\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { User } from \"src/app/models/user.model\";\r\nimport { Observable, concatMap, debounceTime, distinctUntilChanged, filter, finalize, forkJoin, of, switchMap, tap } from \"rxjs\";\r\nimport { NgForm, UntypedFormBuilder, UntypedFormGroup, Validators } from \"@angular/forms\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from \"@angular/material-moment-adapter\";\r\nimport { AlertService, MessageSeverity } from \"src/app/services/alert.service\";\r\n\r\nimport { ReleaseRequestModel } from \"src/app/models/car-insurance/release-request.model\";\r\nimport { TravelService } from \"src/app/services/travel.service\";\r\nimport { TravelInsuranceBookingRecordModel } from \"src/app/models/travel-insurance/travel-insurance-booking-record.model\";\r\nimport moment from \"moment\";\r\n\r\n@Component({\r\n selector: 'app-travel-insurance-paid',\r\n templateUrl: './travel-insurance-paid.component.html',\r\n styleUrls: ['./travel-insurance-paid.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n {provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\r\n ]\r\n})\r\n\r\nexport class TravelInsurancePaidComponent implements OnInit {\r\n\r\n @ViewChild('orderNgForm', { static: true }) orderNgForm: NgForm;\r\n\r\n @Input() isEditMode = true;\r\n\r\n public orderId: string;\r\n public loadingDataSource: boolean;\r\n public user: User;\r\n\r\n sum: number;\r\n limit: number;\r\n\r\n searchResult:string;\r\n searchResult1:string;\r\n searchResult2:string;\r\n searchResult3:string;\r\n\r\n travelResult:string;\r\n insuranceCompanyName:string;\r\n email:string;\r\n\r\n constructor (\r\n public configurations: ConfigurationService,\r\n private route: ActivatedRoute,\r\n private travelService: TravelService,\r\n private router: Router,\r\n private accountService: AccountService,\r\n private ref: ChangeDetectorRef,\r\n private alertService: AlertService ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n\r\n this.orderId = params['order'];\r\n\r\n this.loadData(this.orderId);\r\n\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n loadData(id: string)\r\n {\r\n this.loadingDataSource = true;\r\n\r\n this.alertService.showMessage('Туристична страховка', `Випуск туристичної страховки`, MessageSeverity.success);\r\n\r\n let bookedOrder: Observable = this.travelService.getInsurance(id);\r\n\r\n let releaseRequestModel = new ReleaseRequestModel();\r\n releaseRequestModel.id = id;\r\n\r\n let releaseOrder: Observable = this.travelService.releaseTravelInsurance(releaseRequestModel);\r\n\r\n bookedOrder.pipe(\r\n concatMap(bookedOrderResult => releaseOrder),\r\n concatMap(releaseOrderResult => of(releaseOrderResult))\r\n ).subscribe(result => {\r\n\r\n if(result.isMultiple == true) {\r\n this.searchResult = \"Термін дії: з \" + moment(result.insuranceValidFrom).format('DD-MM-YYYY') + ' період ' + result.termName;\r\n } else {\r\n this.searchResult = \"Термін дії: з \" + moment(result.insuranceValidFrom).format('DD-MM-YYYY')\r\n + ' по ' + moment(result.insuranceValidTo).format('DD-MM-YYYY');\r\n }\r\n\r\n this.searchResult1 = \"Країни: \" + result.territoryName;\r\n this.searchResult2 = 'Мета візиту: ' + result.purposeName;\r\n this.searchResult3 = \"Кількість відвидувачів: \" + result.travelDocuments.length;\r\n\r\n this.sum = result.sum;\r\n this.limit = result.limit;\r\n this.insuranceCompanyName = result.insuranceCompanyName;\r\n this.travelResult = 'Страховка з метою візиту \\'' + result.purposeName + '\\' для \\'' + result.territoryName + '\\' випущено';\r\n this.email = result.email;\r\n\r\n this.loadingDataSource = false;\r\n },\r\n error => {\r\n console.log(error);\r\n this.loadingDataSource = false;\r\n });\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.ref.detectChanges();\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\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
\r\n
{{searchResult}}
\r\n
\r\n
\r\n
{{searchResult1}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{searchResult2}}
\r\n
\r\n
\r\n
{{searchResult3}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Туристична страховка онлайн. Онлайн оформлення страховки. Туристичні страховки по всьому світу. Різні цілі мандрування та терміни дії. Підтримка 24/7.
\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\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n \"Salamandra\"\r\n\r\n
\r\n
\r\n
{{insuranceCompanyName}}
\r\n
\r\n
\r\n
{{limit | number:'1.0-0'}} $
\r\n

Ліміт

\r\n
\r\n
\r\n
{{sum | number:'1.2-2'}} грн.
\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

{{'travel-insurance-paid.management.Travel' | translate}}

\r\n
\r\n\r\n
\r\n
{{travelResult}}
\r\n
\r\n\r\n
\r\n
\r\n check_circle\r\n {{'travel-insurance-paid.management.InsuranceReleased' | translate}}
\r\n
\r\n\r\n
\r\n

{{'car-insurance-paid.management.InsuranceReleased1' | translate}} {{email}}

\r\n
\r\n\r\n
\r\n

{{'travel-insurance-paid.management.InsuranceReleased2' | translate}}

\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\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\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { FormArray, FormGroup, NgForm, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { TravelService } from 'src/app/services/travel.service';\r\nimport { TermModel } from 'src/app/models/travel-insurance/term.model';\r\nimport { TerritoryModel } from 'src/app/models/travel-insurance/territory.model';\r\nimport { PurposeModel } from 'src/app/models/travel-insurance/purpose.model';\r\nimport { TravelFilterResponse } from 'src/app/models/travel-insurance/travel-filter-response.model';\r\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\r\nimport moment from 'moment';\r\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { dateValidator } from 'src/app/shared/validators/equal.validator';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\n\r\n@Component({\r\n selector: 'travel-insurance',\r\n templateUrl: './travel-insurance.component.html',\r\n styleUrls: ['./travel-insurance.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS] },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }\r\n ]\r\n})\r\n\r\nexport class TravelInsuranceComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('filterNgForm', { static: true }) filterNgForm: NgForm;\r\n\r\n @ViewChild('validFromPicker') validFromPicker: MatDatepicker;\r\n @ViewChild('validToPicker') validToPicker: MatDatepicker;\r\n\r\n public filterForm: UntypedFormGroup;\r\n\r\n public terms: TermModel[];\r\n public territories: TerritoryModel[];\r\n public purposes: PurposeModel[];\r\n public productId: string;\r\n\r\n public loadingDataSource = false;\r\n\r\n public birthdaysCtrl: FormArray;\r\n\r\n public maxBirthday = moment();\r\n\r\n public minValidFromDate = moment().add(1, 'days');\r\n public minValidToDate = moment().add(1, 'days');\r\n\r\n constructor(public configurations: ConfigurationService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private navigationService: NavigationService,\r\n private travelService: TravelService,\r\n private formBuilder: UntypedFormBuilder,\r\n private ref: ChangeDetectorRef ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.birthdaysCtrl = this.formBuilder.array([], Validators.compose([Validators.required, Validators.minLength(1)]));\r\n\r\n this.buildForm();\r\n\r\n this.addBirthday();\r\n this.addBirthday();\r\n\r\n this.term.disable();\r\n this.loadData();\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.ref.detectChanges();\r\n }\r\n\r\n loadData() {\r\n this.loadingDataSource = true;\r\n\r\n let loadingTravelFilter: Observable = this.travelService.getFilter();\r\n\r\n forkJoin(loadingTravelFilter).subscribe(results => {\r\n let filter = results[0];\r\n\r\n this.purposes = filter.purposes;\r\n this.terms = filter.terms;\r\n this.territories = filter.territories;\r\n\r\n this.productId = filter.productId;\r\n\r\n this.purpose.setValue(filter.purposes[0].id);\r\n this.term.setValue(filter.terms[0].id);\r\n this.territory.setValue(filter.territories[0].id);\r\n\r\n this.loadingDataSource = false;\r\n },\r\n error => {\r\n console.log(error);\r\n this.loadingDataSource = false;\r\n });\r\n }\r\n\r\n get term() { return this.filterForm.get('term'); }\r\n\r\n get territory() { return this.filterForm.get('territory'); }\r\n\r\n get purpose() { return this.filterForm.get('purpose'); }\r\n\r\n get multipleTrip() { return this.filterForm.get('multipleTrip'); }\r\n\r\n get birthdays() : FormArray {\r\n return this.filterForm.get(\"birthdays\") as FormArray\r\n }\r\n\r\n get validFrom() { return this.filterForm.get('validFrom'); }\r\n\r\n get validTo() { return this.filterForm.get('validTo'); }\r\n\r\n private buildForm() {\r\n\r\n let dateRegex = new RegExp(\"^\\\\d{1,2}.\\\\d{1,2}.\\\\d{4,4}$\");\r\n\r\n this.filterForm = this.formBuilder.group({\r\n term: ['', [Validators.required]],\r\n territory: ['', [Validators.required]],\r\n purpose: ['', [Validators.required]],\r\n multipleTrip: [false],\r\n birthdays: this.birthdaysCtrl,\r\n validFrom: ['', [Validators.required, dateValidator(dateRegex)]],\r\n validTo: ['', [Validators.required, dateValidator(dateRegex)]]\r\n });\r\n }\r\n\r\n newBirthday(): FormGroup {\r\n let dateRegex = new RegExp(\"^\\\\d{1,2}.\\\\d{1,2}.\\\\d{4,4}$\");\r\n return this.formBuilder.group({\r\n birthday: ['', [Validators.required, dateValidator(dateRegex)]],\r\n years: '',\r\n });\r\n }\r\n\r\n addBirthday() {\r\n if(this.birthdaysCtrl.length < 5) //max, salamandra support\r\n this.birthdaysCtrl.push(this.newBirthday());\r\n }\r\n\r\n removeBirthday(i:number) {\r\n this.birthdaysCtrl.removeAt(i);\r\n }\r\n\r\n onClick() {\r\n\r\n this.filterForm.markAllAsTouched();\r\n\r\n if (!this.filterNgForm.submitted) {\r\n // Causes validation to update.\r\n this.filterNgForm.onSubmit(null);\r\n }\r\n\r\n if (!this.filterForm.valid) {\r\n return;\r\n }\r\n\r\n const formModel = this.filterForm.value;\r\n\r\n const termId = formModel.term;\r\n const territoryId = formModel.territory;\r\n const purposeId = formModel.purpose;\r\n const multipleTrip = formModel.multipleTrip;\r\n\r\n const birthdays = formModel.birthdays.map(({ birthday }) => birthday.format('DD-MM-YYYY'));\r\n const birthdaysJson = JSON.stringify(birthdays);\r\n\r\n const validFrom = formModel.validFrom.format('DD-MM-YYYY');\r\n const validTo = formModel.validTo ? formModel.validTo.format('DD-MM-YYYY') : undefined;\r\n\r\n let params;\r\n\r\n if(!multipleTrip) {\r\n params = {\r\n territoryId: territoryId,\r\n purposeId: purposeId,\r\n multipleTrip: multipleTrip,\r\n birthdays: birthdaysJson,\r\n validFrom :validFrom,\r\n validTo :validTo,\r\n productId: this.productId\r\n };\r\n } else {\r\n params = {\r\n termId: termId,\r\n territoryId: territoryId,\r\n purposeId: purposeId,\r\n multipleTrip: multipleTrip,\r\n birthdays: birthdaysJson,\r\n validFrom :validFrom,\r\n productId: this.productId\r\n };\r\n }\r\n\r\n this.router.navigate(['/travel-insurance/offers'], { queryParams: params });\r\n }\r\n\r\n public onToggle(event: MatSlideToggleChange) {\r\n if(event.checked) {\r\n this.term.enable();\r\n this.validTo.disable();\r\n } else {\r\n this.term.disable();\r\n this.validTo.enable();\r\n }\r\n }\r\n\r\n public changeValidFrom(event) {\r\n\r\n var dateTo = this.validTo.value;\r\n var dateFrom = this.validFrom.value;\r\n\r\n if(dateTo < dateFrom) {\r\n this.validTo.setValue(\"\");\r\n this.validToPicker.open();\r\n }\r\n\r\n }\r\n\r\n public changeValidTo(event) {\r\n\r\n var dateTo = this.validTo.value;\r\n var dateFrom = this.validFrom.value;\r\n\r\n if(dateTo < dateFrom) {\r\n this.validFrom.setValue(\"\");\r\n this.validFromPicker.open();\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 \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 \r\n\r\n
\r\n\r\n
\r\n Туристична страховка онлайн. Онлайн оформлення страховки. Туристичні страховки по всьому світу. Різні цілі мандрування та терміни дії. Підтримка 24/7.\r\n
\r\n\r\n
\r\n\r\n \r\n {{'travel-insurance.management.Term' | translate}}\r\n \r\n \r\n {{term.name}}\r\n \r\n \r\n \r\n\r\n \r\n {{'travel-insurance.management.Country' | translate}}\r\n \r\n \r\n {{territory.name}}\r\n \r\n \r\n \r\n\r\n \r\n {{'travel-insurance.management.Purpose' | translate}}\r\n \r\n \r\n {{purpose.name}}\r\n \r\n \r\n \r\n\r\n \r\n {{'travel-insurance.management.ValidFrom' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'travel-insurance.management.ValidFromRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance.management.ValidFromRegex' | translate}}\r\n \r\n\r\n \r\n {{'travel-insurance.management.ValidFromMin' | translate}}\r\n \r\n \r\n\r\n \r\n {{'travel-insurance.management.ValidTo' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'travel-insurance.management.ValidToRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance.management.ValidToRegex' | translate}}\r\n \r\n \r\n {{'travel-insurance.management.ValidToMin' | translate}}\r\n \r\n \r\n\r\n
\r\n \r\n {{'travel-insurance.management.MultipleTrip' | translate}}\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
{{'travel-insurance.management.AddTraveler' | translate}}\r\n \r\n
\r\n \r\n {{'travel-insurance.management.Birthday' | translate}}\r\n\r\n \r\n\r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'travel-insurance.management.BirthdayRequired' | translate}}\r\n \r\n \r\n {{'travel-insurance.management.BirthdayRegex' | translate}}\r\n \r\n \r\n {{'travel-insurance.management.BirthdayMax' | translate}}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'travel-insurance.management.TravelerRequired' | translate}}\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\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 \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","export enum CarInsurancePropertyType {\r\n Base,\r\n Additional\r\n}\r\n","import { CarType } from \"./CarType\";\r\nimport { CarTypeProperty } from \"./CarTypeProperty\";\r\n\r\nexport class CarInsuranceProductsRequest {\r\n\r\n constructor(cityId?: string,\r\n carType?: CarType,\r\n carTypeProperty?: CarTypeProperty\r\n ) {\r\n this.cityId = cityId;\r\n this.carType = carType;\r\n this.carTypeProperty = carTypeProperty;\r\n }\r\n\r\n public cityId: string;\r\n public carType: CarType;\r\n public carTypeProperty: CarTypeProperty;\r\n}","\r\nimport { CarType } from \"../CarType\";\r\nimport { CarTypeProperty } from \"../CarTypeProperty\";\r\nimport { InsuranceCompany } from \"../InsuranceCompany\";\r\n\r\n\r\nexport class CarInsuranceBookingRecord {\r\n\r\n constructor(id?: string,\r\n applicationUserId?: string,\r\n email?: string,\r\n phone?: string,\r\n\r\n isIdCard?: boolean,\r\n isDriverLicence?: boolean,\r\n seria?: string,\r\n number?: string,\r\n issuer?: string,\r\n issued?: Date,\r\n firstname?: string,\r\n lastname?: string,\r\n middlename?: string,\r\n taxID?: string,\r\n birthday?: Date,\r\n\r\n street? : string,\r\n houseNumber? : string,\r\n apartmentNumber? : string,\r\n documentCityKoatuuId? : string,\r\n documentCityName? : string,\r\n\r\n carType?: CarType,\r\n carTypeProperty?: CarTypeProperty,\r\n cityKoatuuId?: string,\r\n cityName?: string,\r\n make?: string,\r\n model?: string,\r\n registrationNumber?: string,\r\n manufactureYear?: Date,\r\n vehicleIdentificationNumber?: string,\r\n\r\n insuranceCompany?: InsuranceCompany,\r\n insuranceCompanyName?: string,\r\n selectedAuxiliaryProduct?: string,\r\n isTaxi?: boolean,\r\n franchiseId?: number,\r\n franchisePrice?: number,\r\n directSettlement?: boolean,\r\n trafficAccidentMedicine?: boolean,\r\n\r\n carAuxiliaryProductId?: number,\r\n carAuxiliaryProductGuid?: string,\r\n carAuxiliaryProductName?: string,\r\n carAuxiliaryProductSum?: number,\r\n carAuxiliaryProductPrice?: number,\r\n\r\n isConfirmedByClient?: boolean,\r\n price?: number,\r\n sum?: number,\r\n discount?: number,\r\n discountPercent?: number,\r\n paid?: boolean,\r\n\r\n insuranceValidFrom?: Date,\r\n insuranceValidTo?: Date,\r\n\r\n mtibuLink?: string,\r\n previewFileLink?: string,\r\n orderId?:string\r\n ) {\r\n\r\n this.id = id;\r\n this.applicationUserId = applicationUserId;\r\n this.email = email;\r\n this.phone = phone;\r\n\r\n this.isIdCard = isIdCard;\r\n this.isDriverLicence = isDriverLicence;\r\n this.seria = seria;\r\n this.number = number;\r\n this.issuer = issuer;\r\n this.issued = issued;\r\n this.firstname = firstname;\r\n this.lastname = lastname;\r\n this.middlename = middlename;\r\n this.taxID = taxID;\r\n this.birthday = birthday;\r\n\r\n this.street = street;\r\n this.houseNumber = houseNumber;\r\n this.apartmentNumber = apartmentNumber;\r\n this.documentCityKoatuuId = documentCityKoatuuId;\r\n this.documentCityName = documentCityName;\r\n\r\n this.carType = carType;\r\n this.carTypeProperty = carTypeProperty;\r\n this.cityKoatuuId = cityKoatuuId;\r\n this.cityName = cityName;\r\n this.make = make;\r\n this.model = model;\r\n this.registrationNumber = registrationNumber;\r\n this.manufactureYear = manufactureYear;\r\n this.vehicleIdentificationNumber = vehicleIdentificationNumber;\r\n\r\n this.insuranceCompany = insuranceCompany;\r\n this.insuranceCompanyName = insuranceCompanyName;\r\n this.selectedAuxiliaryProduct = selectedAuxiliaryProduct;\r\n this.isTaxi = isTaxi;\r\n this.franchiseId = franchiseId;\r\n this.franchisePrice = franchisePrice;\r\n this.directSettlement = directSettlement;\r\n this.trafficAccidentMedicine = trafficAccidentMedicine;\r\n\r\n this.carAuxiliaryProductId = carAuxiliaryProductId;\r\n this.carAuxiliaryProductGuid = carAuxiliaryProductGuid;\r\n this.carAuxiliaryProductName = carAuxiliaryProductName;\r\n this.carAuxiliaryProductSum = carAuxiliaryProductSum;\r\n this.carAuxiliaryProductPrice = carAuxiliaryProductPrice;\r\n\r\n this.isConfirmedByClient = isConfirmedByClient;\r\n this.price = price;\r\n this.sum = sum;\r\n this.discount = discount;\r\n this.discountPercent = discountPercent;\r\n this.paid = paid;\r\n\r\n this.insuranceValidFrom = insuranceValidFrom;\r\n this.insuranceValidTo = insuranceValidTo;\r\n\r\n this.mtibuLink = mtibuLink;\r\n this.previewFileLink = previewFileLink;\r\n this.orderId = orderId;\r\n\r\n }\r\n\r\n public id: string;\r\n public applicationUserId: string;\r\n public email: string;\r\n public phone: string;\r\n\r\n public isIdCard?: boolean;\r\n public isDriverLicence?: boolean;\r\n public seria?: string;\r\n public number?: string;\r\n public issuer?: string;\r\n public issued?: Date;\r\n public firstname?: string;\r\n public lastname?: string;\r\n public middlename?: string;\r\n public taxID?: string;\r\n public birthday?: Date;\r\n\r\n public street? : string;\r\n public houseNumber? : string;\r\n public apartmentNumber? : string;\r\n public documentCityKoatuuId? : string;\r\n public documentCityName? : string;\r\n\r\n public carType?: CarType;\r\n public carTypeProperty?: CarTypeProperty;\r\n public cityKoatuuId?: string;\r\n public cityName?: string;\r\n public make?: string;\r\n public model?: string;\r\n public registrationNumber?: string;\r\n public manufactureYear?: Date;\r\n public vehicleIdentificationNumber?: string;\r\n\r\n public insuranceCompany: InsuranceCompany;\r\n public insuranceCompanyName?: string;\r\n public selectedAuxiliaryProduct?: string;\r\n public isTaxi?: boolean;\r\n public franchiseId?: number;\r\n public franchisePrice?: number;\r\n public directSettlement?: boolean;\r\n public trafficAccidentMedicine?: boolean;\r\n\r\n public carAuxiliaryProductId?: number;\r\n public carAuxiliaryProductGuid?: string;\r\n public carAuxiliaryProductName?: string;\r\n public carAuxiliaryProductSum?: number;\r\n public carAuxiliaryProductPrice?: number;\r\n\r\n public isConfirmedByClient?: boolean;\r\n public price?: number;\r\n public sum?: number;\r\n public discount?: number;\r\n public discountPercent?: number;\r\n public paid?: boolean;\r\n\r\n public insuranceValidFrom?: Date;\r\n public insuranceValidTo?: Date;\r\n\r\n public orderId?:string;\r\n public mtibuLink?: string;\r\n public previewFileLink?: string;\r\n\r\n}\r\n","import { CarType } from \"../CarType\";\r\nimport { CarTypeProperty } from \"../CarTypeProperty\";\r\nimport { InsuranceCompany } from \"../InsuranceCompany\";\r\n\r\nexport class CarInsuranceProductRequest {\r\n\r\n constructor(cityId?: string,\r\n carType?: CarType,\r\n carTypeProperty?: CarTypeProperty,\r\n insuranceCompany?: InsuranceCompany,\r\n franchiseId?: number,\r\n directSettlement?: boolean,\r\n trafficAccidentMedicine?: boolean\r\n ) {\r\n this.cityId = cityId;\r\n this.carType = carType;\r\n this.carTypeProperty = carTypeProperty;\r\n this.insuranceCompany = insuranceCompany;\r\n this.franchiseId = franchiseId;\r\n this.directSettlement = directSettlement;\r\n this.trafficAccidentMedicine = trafficAccidentMedicine;\r\n }\r\n\r\n public cityId: string;\r\n public carType: CarType;\r\n public carTypeProperty: CarTypeProperty;\r\n\r\n public insuranceCompany: InsuranceCompany;\r\n public franchiseId: number;\r\n public directSettlement: boolean;\r\n public trafficAccidentMedicine: boolean;\r\n\r\n}\r\n","\r\nexport class ReleaseRequestModel {\r\n\r\n constructor(id?: string,\r\n applicationUserId?: string)\r\n {\r\n\r\n this.id = id;\r\n this.applicationUserId = applicationUserId;\r\n }\r\n\r\n public id: string;\r\n public applicationUserId: string;\r\n}\r\n","import { CarModelView } from \"./carmodelview.model\";\r\n\r\nexport class CarBrandView {\r\n\r\n constructor(name?: string, carModels?: CarModelView[]) {\r\n this.name = name;\r\n this.carModels = carModels;\r\n }\r\n\r\n public name: string;\r\n public carModels: CarModelView[];\r\n}","export class CarModelView {\r\n\r\n constructor(name?: string) {\r\n this.name = name;\r\n }\r\n\r\n public name: string;\r\n}","import { CarTypePropertyModel } from \"./cartypeproperty.model\";\r\n\r\nexport class CarTypeModel {\r\n\r\n constructor(id?: number, name?: string, description?: string) {\r\n this.Id = id;\r\n this.Name = name;\r\n this.Description = description;\r\n }\r\n\r\n public Id: number;\r\n public Name: string;\r\n public Description: string;\r\n}","export class CarTypePropertyModel {\r\n\r\n constructor(id?: number, cartypeid?: number, name?: string) {\r\n this.Id = id;\r\n this.CarTypeId = cartypeid;\r\n this.Name = name;\r\n }\r\n\r\n public Id: number;\r\n public CarTypeId: number;\r\n public Name: string;\r\n}","export class City {\r\n // Note: Using only optional constructor properties without backing store disables typescript's type checking for the type\r\n constructor(id?: string, town?: string, region?: string, mainRegion?: string) {\r\n \r\n this.id = id;\r\n this.town = town;\r\n this.region = region;\r\n this.mainRegion = mainRegion;\r\n }\r\n \r\n get friendlyName(): string {\r\n let name = this.town;\r\n \r\n if (this.mainRegion) {\r\n name = this.town + ' ' + this.mainRegion;\r\n }\r\n \r\n return name;\r\n }\r\n \r\n public id: string;\r\n public town: string;\r\n public region: string;\r\n public mainRegion: string;\r\n \r\n }","export class DriverLicence {\r\n\r\n constructor(id?: string,\r\n applicationUserId?: string,\r\n firstname?: string,\r\n lastname?: string,\r\n middlename?: string,\r\n birthday?: Date,\r\n seria?: string,\r\n number?: string,\r\n issuer?: string,\r\n issued?: Date,\r\n validTo?: Date,\r\n\r\n createdBy?: string,\r\n createdDate?: Date,\r\n updatedBy?: string,\r\n updatedDate?: Date ) {\r\n this.id = id;\r\n this.applicationUserId = applicationUserId;\r\n this.firstname = firstname;\r\n this.lastname = lastname;\r\n this.middlename = middlename;\r\n this.birthday = birthday;\r\n this.seria = seria;\r\n this.number = number;\r\n this.issuer = issuer;\r\n this.issued = issued;\r\n this.validTo = validTo;\r\n\r\n this.createdBy = createdBy;\r\n this.createdDate = createdDate;\r\n this.updatedBy = updatedBy;\r\n this.updatedDate = updatedDate;\r\n }\r\n\r\n public id: string;\r\n public applicationUserId: string;\r\n public firstname: string;\r\n public lastname: string;\r\n public middlename: string;\r\n public birthday: Date;\r\n public seria: string;\r\n public number: string;\r\n public issuer: string;\r\n public issued: Date;\r\n public validTo: Date;\r\n\r\n public createdBy: string;\r\n public createdDate: Date;\r\n public updatedBy: string;\r\n public updatedDate: Date;\r\n}","import { Utilities } from '../services/utilities';\r\n\r\nexport class Notification {\r\n\r\n public id: number;\r\n public header: string;\r\n public body: string;\r\n public isRead: boolean;\r\n public isPinned: boolean;\r\n public date: Date;\r\n public static Create(data: {}) {\r\n const n = new Notification();\r\n Object.assign(n, data);\r\n\r\n if (n.date) {\r\n n.date = Utilities.parseDate(n.date);\r\n }\r\n\r\n return n;\r\n }\r\n}\r\n","import { Gender } from \"./Gender\";\r\n\r\nexport class Passport {\r\n\r\n constructor(id?: string,\r\n applicationUserId?: string,\r\n firstname?: string,\r\n lastname?: string,\r\n middlename?: string,\r\n birthday?: Date,\r\n seria?: string,\r\n number?: string,\r\n issuer?: string,\r\n issued?: Date,\r\n validTo?: Date,\r\n\r\n isIdCard?: boolean,\r\n street?: string,\r\n houseNumber?: string,\r\n apartmentNumber?: string,\r\n cityKoatuuId?: string,\r\n cityName?: string,\r\n birthPlace?: string,\r\n nationality?: string,\r\n sex?: Gender,\r\n recordNumber?: string,\r\n\r\n createdBy?: string,\r\n createdDate?: Date,\r\n updatedBy?: string,\r\n updatedDate?: Date ) {\r\n this.id = id;\r\n this.applicationUserId = applicationUserId;\r\n this.firstname = firstname;\r\n this.lastname = lastname;\r\n this.middlename = middlename;\r\n this.birthday = birthday;\r\n this.seria = seria;\r\n this.number = number;\r\n this.issuer = issuer;\r\n this.issued = issued;\r\n this.validTo = validTo;\r\n\r\n this.isIdCard = isIdCard;\r\n this.street = street;\r\n this.houseNumber = houseNumber;\r\n this.apartmentNumber = apartmentNumber;\r\n this.cityKoatuuId = cityKoatuuId;\r\n this.cityName = cityName;\r\n this.birthPlace = birthPlace;\r\n this.nationality = nationality;\r\n this.sex = sex;\r\n this.recordNumber = recordNumber;\r\n\r\n this.createdBy = createdBy;\r\n this.createdDate = createdDate;\r\n this.updatedBy = updatedBy;\r\n this.updatedDate = updatedDate;\r\n }\r\n\r\n public id: string;\r\n public applicationUserId: string;\r\n public firstname: string;\r\n public lastname: string;\r\n public middlename: string;\r\n public birthday: Date;\r\n public seria: string;\r\n public number: string;\r\n public issuer: string;\r\n public issued: Date;\r\n public validTo: Date;\r\n\r\n public isIdCard: boolean;\r\n public street: string;\r\n public houseNumber: string;\r\n public apartmentNumber: string;\r\n public cityKoatuuId: string;\r\n public cityName: string;\r\n public birthPlace: string;\r\n public nationality: string;\r\n public sex: Gender;\r\n public recordNumber: string;\r\n\r\n public createdBy: string;\r\n public createdDate: Date;\r\n public updatedBy: string;\r\n public updatedDate: Date;\r\n}","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nexport type PermissionNames =\r\n 'View Users' | 'Manage Users' |\r\n 'View Roles' | 'Manage Roles' | 'Assign Roles';\r\n\r\nexport type PermissionValues =\r\n 'users.view' | 'users.manage' |\r\n 'roles.view' | 'roles.manage' | 'roles.assign';\r\n\r\nexport class Permission {\r\n\r\n public static readonly viewUsersPermission: PermissionValues = 'users.view';\r\n public static readonly manageUsersPermission: PermissionValues = 'users.manage';\r\n\r\n public static readonly viewRolesPermission: PermissionValues = 'roles.view';\r\n public static readonly manageRolesPermission: PermissionValues = 'roles.manage';\r\n public static readonly assignRolesPermission: PermissionValues = 'roles.assign';\r\n\r\n constructor(name?: PermissionNames, value?: PermissionValues, groupName?: string, description?: string) {\r\n this.name = name;\r\n this.value = value;\r\n this.groupName = groupName;\r\n this.description = description;\r\n }\r\n\r\n public name: PermissionNames;\r\n public value: PermissionValues;\r\n public groupName: string;\r\n public description: string;\r\n}\r\n","\r\nexport class RegistrationCertificate {\r\n\r\n constructor(id?: string,\r\n applicationUserId?: string,\r\n registrationNumber?: string,\r\n manufactureYear?: Date,\r\n dateOfFirstRegistration?: Date,\r\n dateOfRegistration?: Date,\r\n surnameOrCompany?: string,\r\n givenName?: string,\r\n address?: string,\r\n mainRegion?: string,\r\n region?: string,\r\n town?: string,\r\n ownership?: string,\r\n validity?: string,\r\n issuer?: string,\r\n make?: string,\r\n model?: string,\r\n commercialDescription?: string,\r\n vehicleIdentificationNumber?: string,\r\n maximumMass?: number,\r\n massVehicleInService?: number,\r\n vehicleCategory?: string,\r\n engineVolume?: string,\r\n fuelType?: string,\r\n color?: string,\r\n numberOfSeats?: number,\r\n numberOfStandingPlaces?: number,\r\n specialNotes?: string,\r\n\r\n carTypeId?: number,\r\n carTypePropertyId?: number,\r\n\r\n cityKoatuuId?: string,\r\n cityName?: string,\r\n\r\n createdBy?: string,\r\n createdDate?: Date,\r\n updatedBy?: string,\r\n updatedDate?: Date\r\n ) {\r\n this.id = id;\r\n this.applicationUserId = applicationUserId;\r\n\r\n this.registrationNumber = registrationNumber;\r\n this.manufactureYear = manufactureYear;\r\n this.dateOfFirstRegistration = dateOfFirstRegistration;\r\n this.dateOfRegistration = dateOfRegistration;\r\n this.surnameOrCompany = surnameOrCompany;\r\n this.givenName = givenName;\r\n this.address = address;\r\n this.mainRegion = mainRegion;\r\n this.region = region;\r\n this.town = town;\r\n this.ownership = ownership;\r\n this.validity = validity;\r\n this.issuer = issuer;\r\n this.make = make;\r\n this.model = model;\r\n this.commercialDescription = commercialDescription;\r\n this.vehicleIdentificationNumber = vehicleIdentificationNumber;\r\n this.maximumMass = maximumMass;\r\n this.massVehicleInService = massVehicleInService;\r\n this.vehicleCategory = vehicleCategory;\r\n this.engineVolume = engineVolume;\r\n this.fuelType = fuelType;\r\n this.color = color;\r\n this.numberOfSeats = numberOfSeats;\r\n this.numberOfStandingPlaces = numberOfStandingPlaces;\r\n this.specialNotes = specialNotes;\r\n this.carTypeId = carTypeId;\r\n this.carTypePropertyId = carTypePropertyId;\r\n\r\n this.createdBy = createdBy;\r\n this.createdDate = createdDate;\r\n this.updatedBy = updatedBy;\r\n this.updatedDate = updatedDate;\r\n this.cityKoatuuId = cityKoatuuId;\r\n this.cityName = cityName;\r\n }\r\n\r\n public id: string;\r\n public applicationUserId: string;\r\n\r\n public registrationNumber: string;\r\n public manufactureYear: Date;\r\n public dateOfFirstRegistration: Date;\r\n public dateOfRegistration: Date;\r\n public surnameOrCompany: string;\r\n public givenName: string;\r\n public address: string;\r\n public mainRegion: string;\r\n public region: string;\r\n public town: string;\r\n public ownership: string;\r\n public validity: string;\r\n public issuer: string;\r\n public make: string;\r\n public model: string;\r\n public commercialDescription: string;\r\n public vehicleIdentificationNumber: string;\r\n public maximumMass: number;\r\n public massVehicleInService: number;\r\n public vehicleCategory: string;\r\n public engineVolume: string;\r\n public fuelType: string;\r\n public color: string;\r\n public numberOfSeats: number;\r\n public numberOfStandingPlaces: number;\r\n public specialNotes: string;\r\n public carTypeId?: number;\r\n public carTypePropertyId?: number;\r\n public cityKoatuuId: string;\r\n public cityName: string;\r\n\r\n public createdBy: string;\r\n public createdDate: Date;\r\n public updatedBy: string;\r\n public updatedDate: Date;\r\n}\r\n","\r\nimport { Permission } from './permission.model';\r\n\r\n\r\nexport class Role {\r\n\r\n constructor(name?: string, description?: string, permissions?: Permission[]) {\r\n\r\n this.name = name;\r\n this.description = description;\r\n this.permissions = permissions;\r\n }\r\n\r\n public id: string;\r\n public name: string;\r\n public description: string;\r\n public usersCount: number;\r\n public permissions: Permission[];\r\n}\r\n","export class TravelDocumentModel {\r\n\r\n constructor(id?:string,\r\n applicationUserId?:string,\r\n seria?:string,\r\n number?:string,\r\n firstname?:string,\r\n lastname?:string,\r\n birthday?:Date) {\r\n this.id = id;\r\n this.applicationUserId = applicationUserId;\r\n this.seria = seria;\r\n this.number = number;\r\n this.firstname = firstname;\r\n this.lastname = lastname;\r\n this.birthday = birthday;\r\n }\r\n\r\n public id?:string;\r\n public applicationUserId?:string;\r\n public seria?:string;\r\n public number?:string;\r\n public firstname?:string;\r\n public lastname?:string;\r\n public birthday?:Date;\r\n}\r\n","import { InsuranceCompany } from \"../InsuranceCompany\";\r\nimport { TravelDocumentModel } from \"./travel-document.model\";\r\n\r\nexport class TravelInsuranceBookingRecordModel {\r\n\r\n constructor(id?: string,\r\n applicationUserId?: string,\r\n email?: string,\r\n phone?: string,\r\n\r\n firstname?: string,\r\n lastname?: string,\r\n middlename?: string,\r\n birthday?: Date,\r\n\r\n street? : string,\r\n houseNumber? : string,\r\n apartmentNumber? : string,\r\n documentCityKoatuuId? : string,\r\n documentCityName? : string,\r\n\r\n travelDocuments?:TravelDocumentModel[],\r\n\r\n insuranceCompany?: InsuranceCompany,\r\n insuranceCompanyName?: string,\r\n limit?: number,\r\n termId?: string,\r\n programId?: string,\r\n productId?: string,\r\n territoryId?: string,\r\n purposeId?: string,\r\n isMultiple?: boolean,\r\n travelerCount?: number,\r\n\r\n termName?:string,\r\n territoryName?:string,\r\n purposeName?:string,\r\n\r\n isConfirmedByClient?: boolean,\r\n price?: number,\r\n sum?: number,\r\n discount?: number,\r\n discountPercent?: number,\r\n paid?: boolean,\r\n\r\n orderId?: string,\r\n insuranceValidFrom?: Date,\r\n insuranceValidTo?: Date,\r\n\r\n mtibuLink?: string,\r\n previewFileLink?: string,\r\n ) {\r\n\r\n this.id = id;\r\n this.applicationUserId = applicationUserId;\r\n this.email = email;\r\n this.phone = phone;\r\n\r\n this.firstname = firstname;\r\n this.lastname = lastname;\r\n this.middlename = middlename;\r\n this.birthday = birthday;\r\n\r\n this.street = street;\r\n this.houseNumber = houseNumber;\r\n this.apartmentNumber = apartmentNumber;\r\n this.documentCityKoatuuId = documentCityKoatuuId;\r\n this.documentCityName = documentCityName;\r\n\r\n this.travelDocuments = travelDocuments;\r\n\r\n this.insuranceCompany = insuranceCompany;\r\n this.insuranceCompanyName = insuranceCompanyName;\r\n this.limit = limit;\r\n this.termId = termId;\r\n this.programId = programId;\r\n this.productId = productId;\r\n this.territoryId = territoryId;\r\n this.purposeId = purposeId;\r\n this.isMultiple = isMultiple;\r\n this.travelerCount = travelerCount;\r\n\r\n this.termName = termName;\r\n this.territoryName = territoryName;\r\n this.purposeName = purposeName;\r\n\r\n this.isConfirmedByClient = isConfirmedByClient;\r\n this.price = price;\r\n this.sum = sum;\r\n this.discount = discount;\r\n this.discountPercent = discountPercent;\r\n this.paid = paid;\r\n\r\n this.insuranceValidFrom = insuranceValidFrom;\r\n this.insuranceValidTo = insuranceValidTo;\r\n\r\n this.orderId = orderId;\r\n this.mtibuLink = mtibuLink;\r\n this.previewFileLink = previewFileLink;\r\n\r\n }\r\n\r\n public id: string;\r\n public applicationUserId: string;\r\n public email: string;\r\n public phone: string;\r\n\r\n public firstname?: string;\r\n public lastname?: string;\r\n public middlename?: string;\r\n public birthday?: Date;\r\n\r\n public street? : string;\r\n public houseNumber? : string;\r\n public apartmentNumber? : string;\r\n public documentCityKoatuuId? : string;\r\n public documentCityName? : string;\r\n\r\n public travelDocuments?:TravelDocumentModel[];\r\n\r\n public insuranceCompany: InsuranceCompany;\r\n public insuranceCompanyName?: string;\r\n public limit?:number;\r\n public termId?:string;\r\n public programId?:string;\r\n public productId?:string;\r\n public territoryId?:string;\r\n public purposeId?:string;\r\n public isMultiple?:boolean;\r\n public travelerCount?:number;\r\n public termName?:string;\r\n public territoryName?:string;\r\n public purposeName?:string;\r\n\r\n public isConfirmedByClient?: boolean;\r\n public price?: number;\r\n public sum?: number;\r\n public discount?: number;\r\n public discountPercent?: number;\r\n public paid?: boolean;\r\n\r\n public insuranceValidFrom?: Date;\r\n public insuranceValidTo?: Date;\r\n\r\n public orderId?:string;\r\n public mtibuLink?: string;\r\n public previewFileLink?: string;\r\n\r\n}\r\n","export class TravelProductRequest {\r\n\r\n constructor(territoryId?: string,\r\n purposeId?: string,\r\n dateFrom?: Date,\r\n dateTo?: Date,\r\n termId?: string,\r\n clientBirthdays?: Date[],\r\n isMultiple? : boolean,\r\n programId?: string,\r\n limit?: number\r\n ) {\r\n this.territoryId = territoryId;\r\n this.purposeId = purposeId;\r\n this.dateFrom = dateFrom;\r\n this.dateTo = dateTo;\r\n this.termId = termId;\r\n this.clientBirthdays = clientBirthdays;\r\n this.isMultiple = isMultiple;\r\n this.programId = programId;\r\n this.limit = limit;\r\n }\r\n\r\n public territoryId: string;\r\n public purposeId: string;\r\n public dateFrom: Date;\r\n public dateTo: Date;\r\n public termId?: string;\r\n public clientBirthdays: Date[];\r\n public isMultiple : boolean;\r\n public programId: string;\r\n public limit: number;\r\n}\r\n","\r\nexport class TravelProductsRequest {\r\n\r\n constructor(territoryId?: string,\r\n purposeId?: string,\r\n dateFrom?: Date,\r\n dateTo?: Date,\r\n termId?: string,\r\n clientBirthdays?: Date[],\r\n isMultiple? : boolean\r\n ) {\r\n this.territoryId = territoryId;\r\n this.purposeId = purposeId;\r\n this.dateFrom = dateFrom;\r\n this.dateTo = dateTo;\r\n this.termId = termId;\r\n this.clientBirthdays = clientBirthdays;\r\n this.isMultiple = isMultiple;\r\n }\r\n\r\n public territoryId: string;\r\n public purposeId: string;\r\n public dateFrom: Date;\r\n public dateTo: Date;\r\n public termId?: string;\r\n public clientBirthdays: Date[];\r\n public isMultiple : boolean;\r\n}\r\n","\r\nimport { User } from './user.model';\r\n\r\nexport class UserEdit extends User {\r\n constructor(currentPassword?: string, newPassword?: string, confirmPassword?: string) {\r\n super();\r\n\r\n this.currentPassword = currentPassword;\r\n this.newPassword = newPassword;\r\n this.confirmPassword = confirmPassword;\r\n }\r\n\r\n public currentPassword: string;\r\n public newPassword: string;\r\n public confirmPassword: string;\r\n}\r\n","\r\nexport class UserLogin {\r\n constructor(userName?: string, password?: string, rememberMe?: boolean) {\r\n this.userName = userName;\r\n this.password = password;\r\n this.rememberMe = rememberMe;\r\n }\r\n\r\n userName: string;\r\n password: string;\r\n rememberMe: boolean;\r\n}\r\n","\r\nexport class User {\r\n // Note: Using only optional constructor properties without backing store disables typescript's type checking for the type\r\n constructor(id?: string, userName?: string, fullName?: string, email?: string, jobTitle?: string, phoneNumber?: string, roles?: string[]) {\r\n\r\n this.id = id;\r\n this.userName = userName;\r\n this.fullName = fullName;\r\n this.email = email;\r\n this.jobTitle = jobTitle;\r\n this.phoneNumber = phoneNumber;\r\n this.roles = roles;\r\n }\r\n\r\n get friendlyName(): string {\r\n let name = this.fullName || this.userName;\r\n\r\n if (this.jobTitle) {\r\n name = this.jobTitle + ' ' + name;\r\n }\r\n\r\n return name;\r\n }\r\n\r\n\r\n public id: string;\r\n public userName: string;\r\n public fullName: string;\r\n public email: string;\r\n public emailConfirmed: boolean;\r\n public jobTitle: string;\r\n public phoneNumber: string;\r\n public isEnabled: boolean;\r\n public isLockedOut: boolean;\r\n public roles: string[];\r\n}\r\n","\r\nimport { NgModule } from '@angular/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatRippleModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n@NgModule({\r\n imports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n ],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n ],\r\n providers: [\r\n {provide: MAT_DATE_LOCALE, useValue: 'uk'},\r\n ]\r\n})\r\nexport class QuickAppProMaterialModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ \r\n name: 'callback',\r\n pure: false \r\n})\r\n\r\nexport class CallbackPipe implements PipeTransform {\r\n transform(items: any[], callback: (item: any) => boolean): any {\r\n if (!items || !callback) {\r\n return items;\r\n }\r\n return items.filter(item => callback(item));\r\n }\r\n}","\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n\r\n@Pipe({ name: 'groupBy' })\r\nexport class GroupByPipe implements PipeTransform {\r\n\r\n transform(value: Array, field: string): Array {\r\n\r\n if (!value) {\r\n return value;\r\n }\r\n\r\n const groupedObj = value.reduce((prev, cur) => {\r\n if (!prev[cur[field]]) {\r\n prev[cur[field]] = [cur];\r\n } else {\r\n prev[cur[field]].push(cur);\r\n }\r\n\r\n return prev;\r\n }, {});\r\n\r\n return Object.keys(groupedObj).map(key => ({ key, value: groupedObj[key] }));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\n@Pipe({name: 'shortDate'})\r\nexport class ShortDatePipe implements PipeTransform {\r\n transform(value: Date): string {\r\n\r\n let dateFormat = moment(value).format('DD.MM.YYYY');\r\n return dateFormat;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'shorter'})\r\nexport class ShortStringPipe implements PipeTransform {\r\n transform(value: string): string {\r\n \r\n if(value.length > 40)\r\n {\r\n let newValue = value.substring(0, 34).concat('...');\r\n return `${newValue}`;\r\n }\r\n else{\r\n return `${value}`;\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { EndpointBase } from './endpoint-base.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { CommonService } from './common.service';\r\n\r\n\r\n@Injectable()\r\nexport class AccountEndpoint extends EndpointBase {\r\n get usersUrl() { return this.configurations.baseUrl + '/api/account/users'; }\r\n get usersPublicUrl() { return this.configurations.baseUrl + '/api/account/public/users'; }\r\n get userByUserNameUrl() { return this.configurations.baseUrl + '/api/account/users/username'; }\r\n get userHasPasswordUrl() { return this.configurations.baseUrl + '/api/account/users/haspassword'; }\r\n get currentUserUrl() { return this.configurations.baseUrl + '/api/account/users/me'; }\r\n get currentUserPreferencesUrl() { return this.configurations.baseUrl + '/api/account/users/me/preferences'; }\r\n get sendConfirmEmailUrl() { return this.configurations.baseUrl + '/api/account/users/me/send-confirm-email'; }\r\n get confirmEmailUrl() { return this.configurations.baseUrl + '/api/account/public/confirm-email'; }\r\n get sendDeleteAccountToEmailUrl() { return this.configurations.baseUrl + '/api/account/users/me/send-delete-account'; }\r\n get confirmDeleteAccountUrl() { return this.configurations.baseUrl + '/api/account/public/confirm-delete-account'; }\r\n get recoverPasswordUrl() { return this.configurations.baseUrl + '/api/account/public/recover-password'; }\r\n get resetPasswordUrl() { return this.configurations.baseUrl + '/api/account/public/reset-password'; }\r\n get unblockUserUrl() { return this.configurations.baseUrl + '/api/account/users/unblock'; }\r\n get rolesUrl() { return this.configurations.baseUrl + '/api/account/roles'; }\r\n get roleByRoleNameUrl() { return this.configurations.baseUrl + '/api/account/roles/name'; }\r\n get permissionsUrl() { return this.configurations.baseUrl + '/api/account/permissions'; }\r\n\r\n constructor(private configurations: ConfigurationService, http: HttpClient, authService: AuthService, commonService: CommonService) {\r\n super(http, authService, commonService);\r\n }\r\n\r\n getUserEndpoint(userId?: string): Observable {\r\n const endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserEndpoint(userId));\r\n }));\r\n }\r\n\r\n getUserByUserNameEndpoint(userName: string): Observable {\r\n const endpointUrl = `${this.userByUserNameUrl}/${userName}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserByUserNameEndpoint(userName));\r\n }));\r\n }\r\n\r\n\r\n getUserHasPasswordEndpoint(userId: string): Observable {\r\n const endpointUrl = `${this.userHasPasswordUrl}/${userId}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserEndpoint(userId));\r\n }));\r\n }\r\n\r\n\r\n getUsersEndpoint(page?: number, pageSize?: number): Observable {\r\n const endpointUrl = page && pageSize ? `${this.usersUrl}/${page}/${pageSize}` : this.usersUrl;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUsersEndpoint(page, pageSize));\r\n }));\r\n }\r\n\r\n\r\n getNewUserEndpoint(userObject: any, isPublicRegistration?: boolean): Observable {\r\n const endpointUrl = isPublicRegistration ? this.usersPublicUrl : this.usersUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify(userObject), this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getNewUserEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getUpdateUserEndpoint(userObject: any, userId?: string): Observable {\r\n const endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\r\n\r\n return this.http.put(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUpdateUserEndpoint(userObject, userId));\r\n }));\r\n }\r\n\r\n getPatchUpdateUserEndpoint(patch: {}, userId?: string): Observable;\r\n getPatchUpdateUserEndpoint(value: any, op: string, path: string, from?: any, userId?: string): Observable;\r\n getPatchUpdateUserEndpoint(valueOrPatch: any, opOrUserId?: string, path?: string, from?: any, userId?: string): Observable {\r\n let endpointUrl: string;\r\n let patchDocument: {};\r\n\r\n if (path) {\r\n endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\r\n patchDocument = from ?\r\n [{ value: valueOrPatch, path, op: opOrUserId, from }] :\r\n [{ value: valueOrPatch, path, op: opOrUserId }];\r\n } else {\r\n endpointUrl = opOrUserId ? `${this.usersUrl}/${opOrUserId}` : this.currentUserUrl;\r\n patchDocument = valueOrPatch;\r\n }\r\n\r\n return this.http.patch(endpointUrl, JSON.stringify(patchDocument), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPatchUpdateUserEndpoint(valueOrPatch, opOrUserId, path, from, userId));\r\n }));\r\n }\r\n\r\n\r\n getUserPreferencesEndpoint(): Observable {\r\n\r\n return this.http.get(this.currentUserPreferencesUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUserPreferencesEndpoint());\r\n }));\r\n }\r\n\r\n getUpdateUserPreferencesEndpoint(configuration: string): Observable {\r\n return this.http.put(this.currentUserPreferencesUrl, JSON.stringify(configuration), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUpdateUserPreferencesEndpoint(configuration));\r\n }));\r\n }\r\n\r\n getSendConfirmEmailEndpoint(): Observable {\r\n const endpointUrl = this.sendConfirmEmailUrl;\r\n\r\n return this.http.post(endpointUrl, null, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getSendConfirmEmailEndpoint());\r\n }));\r\n }\r\n\r\n sendDeleteAccountEndpoint(): Observable {\r\n const endpointUrl = this.sendDeleteAccountToEmailUrl;\r\n\r\n return this.http.post(endpointUrl, null, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.sendDeleteAccountEndpoint());\r\n }));\r\n }\r\n\r\n getConfirmUserAccountEndpoint(confirmationCode: string): Observable {\r\n var encodedConfirmationCode = encodeURIComponent(confirmationCode);\r\n const endpointUrl = `${this.confirmEmailUrl}?code=${encodedConfirmationCode}`;\r\n\r\n return this.http.put(endpointUrl, null, this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getConfirmUserAccountEndpoint(confirmationCode));\r\n }));\r\n }\r\n\r\n сonfirmDeleteAccountEndpoint(confirmationCode: string): Observable {\r\n var encodedConfirmationCode = encodeURIComponent(confirmationCode);\r\n const endpointUrl = `${this.confirmDeleteAccountUrl}?code=${encodedConfirmationCode}`;\r\n\r\n return this.http.put(endpointUrl, null, this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.сonfirmDeleteAccountEndpoint(confirmationCode));\r\n }));\r\n }\r\n\r\n getRecoverPasswordEndpoint(usernameOrEmail: string): Observable {\r\n const endpointUrl = this.recoverPasswordUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify({ usernameOrEmail }), this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getRecoverPasswordEndpoint(usernameOrEmail));\r\n }));\r\n }\r\n\r\n getResetPasswordEndpoint(usernameOrEmail: string, newPassword: string, resetCode: string): Observable {\r\n const endpointUrl = this.resetPasswordUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify({ usernameOrEmail, password: newPassword, resetcode: resetCode }), this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getResetPasswordEndpoint(usernameOrEmail, newPassword, resetCode));\r\n }));\r\n }\r\n\r\n getUnblockUserEndpoint(userId: string): Observable {\r\n const endpointUrl = `${this.unblockUserUrl}/${userId}`;\r\n\r\n return this.http.put(endpointUrl, null, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUnblockUserEndpoint(userId));\r\n }));\r\n }\r\n\r\n getDeleteUserEndpoint(userId: string): Observable {\r\n const endpointUrl = `${this.usersUrl}/${userId}`;\r\n\r\n return this.http.delete(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getDeleteUserEndpoint(userId));\r\n }));\r\n }\r\n\r\n\r\n\r\n\r\n\r\n getRoleEndpoint(roleId: string): Observable {\r\n const endpointUrl = `${this.rolesUrl}/${roleId}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRoleEndpoint(roleId));\r\n }));\r\n }\r\n\r\n\r\n getRoleByRoleNameEndpoint(roleName: string): Observable {\r\n const endpointUrl = `${this.roleByRoleNameUrl}/${roleName}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRoleByRoleNameEndpoint(roleName));\r\n }));\r\n }\r\n\r\n\r\n\r\n getRolesEndpoint(page?: number, pageSize?: number): Observable {\r\n const endpointUrl = page && pageSize ? `${this.rolesUrl}/${page}/${pageSize}` : this.rolesUrl;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRolesEndpoint(page, pageSize));\r\n }));\r\n }\r\n\r\n getNewRoleEndpoint(roleObject: any): Observable {\r\n\r\n return this.http.post(this.rolesUrl, JSON.stringify(roleObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getNewRoleEndpoint(roleObject));\r\n }));\r\n }\r\n\r\n getUpdateRoleEndpoint(roleObject: any, roleId: string): Observable {\r\n const endpointUrl = `${this.rolesUrl}/${roleId}`;\r\n\r\n return this.http.put(endpointUrl, JSON.stringify(roleObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getUpdateRoleEndpoint(roleObject, roleId));\r\n }));\r\n }\r\n\r\n getDeleteRoleEndpoint(roleId: string): Observable {\r\n const endpointUrl = `${this.rolesUrl}/${roleId}`;\r\n\r\n return this.http.delete(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getDeleteRoleEndpoint(roleId));\r\n }));\r\n }\r\n\r\n\r\n getPermissionsEndpoint(): Observable {\r\n\r\n return this.http.get(this.permissionsUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPermissionsEndpoint());\r\n }));\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject, forkJoin } from 'rxjs';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\nimport { AccountEndpoint } from './account-endpoint.service';\r\nimport { AuthService } from './auth.service';\r\nimport { User } from '../models/user.model';\r\nimport { Role } from '../models/role.model';\r\nimport { Permission, PermissionValues } from '../models/permission.model';\r\nimport { UserEdit } from '../models/user-edit.model';\r\n\r\nexport type RolesChangedOperation = 'add' | 'delete' | 'modify';\r\nexport interface RolesChangedEventArg { roles: Role[] | string[]; operation: RolesChangedOperation; }\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n public static readonly roleAddedOperation: RolesChangedOperation = 'add';\r\n public static readonly roleDeletedOperation: RolesChangedOperation = 'delete';\r\n public static readonly roleModifiedOperation: RolesChangedOperation = 'modify';\r\n\r\n private rolesChanged = new Subject();\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private accountEndpoint: AccountEndpoint) {\r\n\r\n }\r\n\r\n getUser(userId?: string) {\r\n return this.accountEndpoint.getUserEndpoint(userId);\r\n }\r\n\r\n getUserHasPassword(userId?: string) {\r\n return this.accountEndpoint.getUserHasPasswordEndpoint(userId || this.currentUser.id);\r\n }\r\n\r\n getUserAndRoles(userId?: string) {\r\n\r\n return forkJoin([\r\n this.accountEndpoint.getUserEndpoint(userId),\r\n this.accountEndpoint.getRolesEndpoint()]);\r\n }\r\n\r\n getUsers(page?: number, pageSize?: number) {\r\n\r\n return this.accountEndpoint.getUsersEndpoint(page, pageSize);\r\n }\r\n\r\n getUsersAndRoles(page?: number, pageSize?: number) {\r\n\r\n return forkJoin([\r\n this.accountEndpoint.getUsersEndpoint(page, pageSize),\r\n this.accountEndpoint.getRolesEndpoint()]);\r\n }\r\n\r\n updateUser(user: UserEdit) {\r\n if (user.id) {\r\n return this.accountEndpoint.getUpdateUserEndpoint(user, user.id);\r\n } else {\r\n return this.accountEndpoint.getUserByUserNameEndpoint(user.userName).pipe(\r\n mergeMap(foundUser => {\r\n user.id = foundUser.id;\r\n return this.accountEndpoint.getUpdateUserEndpoint(user, user.id);\r\n }));\r\n }\r\n }\r\n\r\n newUser(user: UserEdit, isPublicRegistration?: boolean) {\r\n return this.accountEndpoint.getNewUserEndpoint(user, isPublicRegistration);\r\n }\r\n\r\n getUserPreferences() {\r\n return this.accountEndpoint.getUserPreferencesEndpoint();\r\n }\r\n\r\n updateUserPreferences(configuration: string) {\r\n return this.accountEndpoint.getUpdateUserPreferencesEndpoint(configuration);\r\n }\r\n\r\n deleteUser(userOrUserId: string | User): Observable {\r\n if (typeof userOrUserId === 'string' || userOrUserId instanceof String) {\r\n return this.accountEndpoint.getDeleteUserEndpoint(userOrUserId as string).pipe(\r\n tap(data => this.onRolesUserCountChanged(data.roles)));\r\n } else {\r\n if (userOrUserId.id) {\r\n return this.deleteUser(userOrUserId.id);\r\n } else {\r\n return this.accountEndpoint.getUserByUserNameEndpoint(userOrUserId.userName).pipe(\r\n mergeMap(user => this.deleteUser(user.id)));\r\n }\r\n }\r\n }\r\n\r\n sendConfirmEmail() {\r\n return this.accountEndpoint.getSendConfirmEmailEndpoint();\r\n }\r\n\r\n confirmUserAccount(confirmationCode: string) {\r\n return this.accountEndpoint.getConfirmUserAccountEndpoint(confirmationCode);\r\n }\r\n\r\n sendDeleteAccountToEmail() {\r\n return this.accountEndpoint.sendDeleteAccountEndpoint();\r\n }\r\n\r\n confirmDeleteAccount(confirmationCode: string) {\r\n return this.accountEndpoint.сonfirmDeleteAccountEndpoint(confirmationCode);\r\n }\r\n\r\n recoverPassword(usernameOrEmail: string) {\r\n return this.accountEndpoint.getRecoverPasswordEndpoint(usernameOrEmail);\r\n }\r\n\r\n resetPassword(usernameOrEmail: string, newPassword: string, resetCode: string) {\r\n return this.accountEndpoint.getResetPasswordEndpoint(usernameOrEmail, newPassword, resetCode);\r\n }\r\n\r\n unblockUser(userId: string) {\r\n return this.accountEndpoint.getUnblockUserEndpoint(userId);\r\n }\r\n\r\n userHasPermission(permissionValue: PermissionValues): boolean {\r\n return this.permissions.some(p => p === permissionValue);\r\n }\r\n\r\n refreshLoggedInUser() {\r\n return this.accountEndpoint.refreshLogin();\r\n }\r\n\r\n getRoles(page?: number, pageSize?: number) {\r\n\r\n return this.accountEndpoint.getRolesEndpoint(page, pageSize);\r\n }\r\n\r\n getRolesAndPermissions(page?: number, pageSize?: number) {\r\n\r\n return forkJoin([\r\n this.accountEndpoint.getRolesEndpoint(page, pageSize),\r\n this.accountEndpoint.getPermissionsEndpoint()]);\r\n }\r\n\r\n updateRole(role: Role) {\r\n if (role.id) {\r\n return this.accountEndpoint.getUpdateRoleEndpoint(role, role.id).pipe(\r\n tap(data => this.onRolesChanged([role], AccountService.roleModifiedOperation)));\r\n } else {\r\n return this.accountEndpoint.getRoleByRoleNameEndpoint(role.name).pipe(\r\n mergeMap(foundRole => {\r\n role.id = foundRole.id;\r\n return this.accountEndpoint.getUpdateRoleEndpoint(role, role.id);\r\n }),\r\n tap(data => this.onRolesChanged([role], AccountService.roleModifiedOperation)));\r\n }\r\n }\r\n\r\n newRole(role: Role) {\r\n return this.accountEndpoint.getNewRoleEndpoint(role).pipe(\r\n tap(data => this.onRolesChanged([role], AccountService.roleAddedOperation)));\r\n }\r\n\r\n deleteRole(roleOrRoleId: string | Role): Observable {\r\n\r\n if (typeof roleOrRoleId === 'string' || roleOrRoleId instanceof String) {\r\n return this.accountEndpoint.getDeleteRoleEndpoint(roleOrRoleId as string).pipe(\r\n tap(data => this.onRolesChanged([data], AccountService.roleDeletedOperation)));\r\n } else {\r\n\r\n if (roleOrRoleId.id) {\r\n return this.deleteRole(roleOrRoleId.id);\r\n } else {\r\n return this.accountEndpoint.getRoleByRoleNameEndpoint(roleOrRoleId.name).pipe(\r\n mergeMap(role => this.deleteRole(role.id)));\r\n }\r\n }\r\n }\r\n\r\n getPermissions() {\r\n\r\n return this.accountEndpoint.getPermissionsEndpoint();\r\n }\r\n\r\n private onRolesChanged(roles: Role[] | string[], op: RolesChangedOperation) {\r\n this.rolesChanged.next({ roles, operation: op });\r\n }\r\n\r\n onRolesUserCountChanged(roles: Role[] | string[]) {\r\n return this.onRolesChanged(roles, AccountService.roleModifiedOperation);\r\n }\r\n\r\n getRolesChangedEvent(): Observable {\r\n return this.rolesChanged.asObservable();\r\n }\r\n\r\n get permissions(): PermissionValues[] {\r\n return this.authService.userPermissions;\r\n }\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n}\r\n","\r\n// tslint:disable:no-console\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponseBase } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\nimport { Utilities } from '../services/utilities';\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n private messages = new Subject();\r\n private dialogs = new Subject();\r\n\r\n private loadingMessageTimeoutId: any;\r\n\r\n constructor(\r\n private translationService: AppTranslationService) {\r\n\r\n }\r\n\r\n showDialog(title: string, message: string);\r\n showDialog(title: string, message: string, type: DialogType, okCallback: (val?: any) => any);\r\n showDialog(title: string, message: string, type: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string);\r\n showDialog(title: string, message: string, type?: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string) {\r\n\r\n if (!type) {\r\n type = DialogType.alert;\r\n }\r\n\r\n this.dialogs.next({ title, message, type, okCallback, cancelCallback, okLabel, cancelLabel, defaultValue });\r\n }\r\n\r\n showMessage(summary: string);\r\n showMessage(summary: string, detail: string, severity: MessageSeverity);\r\n showMessage(summaryAndDetails: string[], summaryAndDetailsSeparator: string, severity: MessageSeverity);\r\n showMessage(response: HttpResponseBase, ignoreValueUseNull: string, severity: MessageSeverity);\r\n showMessage(data: any, separatorOrDetail?: string, severity?: MessageSeverity) {\r\n if (!severity) {\r\n severity = MessageSeverity.default;\r\n }\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = Utilities.getHttpResponseMessages(data);\r\n separatorOrDetail = Utilities.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = Utilities.splitInTwo(message, separatorOrDetail);\r\n\r\n this.showMessageHelper(msgObject.firstPart, msgObject.secondPart, severity, false);\r\n }\r\n } else {\r\n this.showMessageHelper(data, separatorOrDetail, severity, false);\r\n }\r\n }\r\n\r\n showStickyMessage(summary: string);\r\n showStickyMessage(summary: string, detail: string, severity: MessageSeverity, error?: any);\r\n showStickyMessage(summary: string, detail: string, severity: MessageSeverity, error?: any, onRemove?: () => any);\r\n showStickyMessage(summaryAndDetails: string[], summaryAndDetailsSeparator: string, severity: MessageSeverity);\r\n showStickyMessage(response: HttpResponseBase, ignoreValueUseNull: string, severity: MessageSeverity);\r\n showStickyMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: MessageSeverity, error?: any, onRemove?: () => any) {\r\n\r\n if (!severity) {\r\n severity = MessageSeverity.default;\r\n }\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = Utilities.getHttpResponseMessages(data);\r\n separatorOrDetail = Utilities.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = Utilities.splitInTwo(message, separatorOrDetail);\r\n\r\n this.showMessageHelper(msgObject.firstPart, msgObject.secondPart, severity, true);\r\n }\r\n } else {\r\n if (error) {\r\n const msg = `Severity: \"${MessageSeverity[severity]}\", Summary: \"${data}\", Detail: \"${separatorOrDetail}\", Error: \"${Utilities.safeStringify(error)}\"`;\r\n\r\n switch (severity) {\r\n case MessageSeverity.default:\r\n this.logInfo(msg);\r\n break;\r\n case MessageSeverity.info:\r\n this.logInfo(msg);\r\n break;\r\n case MessageSeverity.success:\r\n this.logMessage(msg);\r\n break;\r\n case MessageSeverity.error:\r\n this.logError(msg);\r\n break;\r\n case MessageSeverity.warn:\r\n this.logWarning(msg);\r\n break;\r\n case MessageSeverity.wait:\r\n this.logTrace(msg);\r\n break;\r\n }\r\n }\r\n\r\n this.showMessageHelper(data, separatorOrDetail, severity, true, onRemove);\r\n }\r\n }\r\n\r\n private showMessageHelper(summary: string, detail: string, severity: MessageSeverity, isSticky: boolean, onRemove?: () => any) {\r\n\r\n const alertCommand: AlertCommand = {\r\n operation: isSticky ? 'add_sticky' : 'add',\r\n message: { severity, summary, detail },\r\n onRemove\r\n };\r\n\r\n this.messages.next(alertCommand);\r\n }\r\n\r\n resetStickyMessage() {\r\n this.messages.next({ operation: 'clear' });\r\n }\r\n\r\n startLoadingMessage(message = 'Loading...', caption = '') {\r\n clearTimeout(this.loadingMessageTimeoutId);\r\n\r\n this.loadingMessageTimeoutId = setTimeout(() => {\r\n this.showStickyMessage(caption, message, MessageSeverity.wait);\r\n }, 1000);\r\n }\r\n\r\n stopLoadingMessage() {\r\n clearTimeout(this.loadingMessageTimeoutId);\r\n this.resetStickyMessage();\r\n }\r\n\r\n showValidationError() {\r\n this.resetStickyMessage();\r\n this.showStickyMessage(this.translationService.getTranslation('form.ErrorCaption'), this.translationService.getTranslation('form.ErrorMessage'), MessageSeverity.error);\r\n }\r\n\r\n logDebug(msg) {\r\n console.debug(msg);\r\n }\r\n\r\n logError(msg) {\r\n console.error(msg);\r\n }\r\n\r\n logInfo(msg) {\r\n console.info(msg);\r\n }\r\n\r\n logMessage(msg) {\r\n console.log(msg);\r\n }\r\n\r\n logTrace(msg) {\r\n console.trace(msg);\r\n }\r\n\r\n logWarning(msg) {\r\n console.warn(msg);\r\n }\r\n\r\n getDialogEvent(): Observable {\r\n return this.dialogs.asObservable();\r\n }\r\n\r\n getMessageEvent(): Observable {\r\n return this.messages.asObservable();\r\n }\r\n}\r\n\r\n\r\n// ******************** Dialog ********************//\r\nexport class AlertDialog {\r\n constructor(\r\n public title: string,\r\n public message: string,\r\n public type: DialogType,\r\n public okCallback: (val?: any) => any,\r\n public cancelCallback: () => any,\r\n public defaultValue: string,\r\n public okLabel: string,\r\n public cancelLabel: string) {\r\n\r\n }\r\n}\r\n\r\nexport enum DialogType {\r\n alert,\r\n confirm,\r\n prompt\r\n}\r\n// ******************** End ********************//\r\n\r\n\r\n// ******************** Growls ********************//\r\nexport class AlertCommand {\r\n constructor(\r\n public operation: 'clear' | 'add' | 'add_sticky',\r\n public message?: AlertMessage,\r\n public onRemove?: () => any) { }\r\n}\r\n\r\nexport class AlertMessage {\r\n constructor(\r\n public severity: MessageSeverity,\r\n public summary: string,\r\n public detail: string) { }\r\n}\r\n\r\nexport enum MessageSeverity {\r\n default,\r\n info,\r\n success,\r\n error,\r\n warn,\r\n wait\r\n}\r\n// ******************** End ********************//\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [style({ opacity: 0 }), animate('0.4s ease-in', style({ opacity: 1 }))]),\r\n transition(':leave', [animate('0.4s 10ms ease-out', style({ opacity: 0 }))])\r\n]);\r\n\r\n\r\n\r\nexport function flyInOut(duration: number = 0.2) {\r\n return trigger('flyInOut', [\r\n state('in', style({ opacity: 1, transform: 'translateX(0)' })),\r\n transition('void => *', [style({ opacity: 0, transform: 'translateX(-100%)' }), animate(`${duration}s ease-in`)]),\r\n transition('* => void', [animate(`${duration}s 10ms ease-out`, style({ opacity: 0, transform: 'translateX(100%)' }))])\r\n ]);\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, NavigationEnd, PRIMARY_OUTLET } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter, map, mergeMap } from 'rxjs/operators';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport { Utilities } from './utilities';\r\n\r\n@Injectable()\r\nexport class AppTitleService {\r\n sub: Subscription;\r\n appName: string;\r\n\r\n constructor(private titleService: Title, private router: Router) {\r\n this.sub = this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(_ => this.router.routerState.root),\r\n map(route => {\r\n while (route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n\r\n return route;\r\n }),\r\n mergeMap(route => route.data))\r\n .subscribe(data => {\r\n let title = data.title;\r\n\r\n if (title) {\r\n const fragment = this.router.url.split('#')[1];\r\n\r\n if (fragment) {\r\n title += ' | ' + Utilities.toTitleCase(fragment);\r\n }\r\n }\r\n\r\n if (title && this.appName) {\r\n title += ' - ' + this.appName;\r\n } else if (this.appName) {\r\n title = this.appName;\r\n }\r\n\r\n if (title) {\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService, TranslateLoader } from '@ngx-translate/core';\r\nimport { Observable, Subject, of } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AppTranslationService {\r\n\r\n private onLanguageChanged = new Subject();\r\n languageChanged$ = this.onLanguageChanged.asObservable();\r\n\r\n constructor(private translate: TranslateService) {\r\n this.addLanguages(['uk', 'en']);\r\n this.setDefaultLanguage('uk');\r\n }\r\n\r\n addLanguages(lang: string[]) {\r\n this.translate.addLangs(lang);\r\n }\r\n\r\n setDefaultLanguage(lang: string) {\r\n this.translate.setDefaultLang(lang);\r\n }\r\n\r\n getDefaultLanguage() {\r\n return this.translate.defaultLang;\r\n }\r\n\r\n getBrowserLanguage() {\r\n return this.translate.getBrowserLang();\r\n }\r\n\r\n getCurrentLanguage() {\r\n return this.translate.currentLang;\r\n }\r\n\r\n getLoadedLanguages() {\r\n return this.translate.langs;\r\n }\r\n\r\n useBrowserLanguage(): string | void {\r\n const browserLang = this.getBrowserLanguage();\r\n\r\n if (browserLang.match(/uk|en/)) {\r\n this.changeLanguage(browserLang);\r\n return browserLang;\r\n }\r\n }\r\n\r\n useDefaultLangage() {\r\n return this.changeLanguage(null);\r\n }\r\n\r\n changeLanguage(language: string) {\r\n if (!language) {\r\n language = this.getDefaultLanguage();\r\n }\r\n\r\n if (language !== this.translate.currentLang) {\r\n setTimeout(() => {\r\n this.translate.use(language);\r\n this.onLanguageChanged.next(language);\r\n });\r\n }\r\n\r\n return language;\r\n }\r\n\r\n getTranslation(key: string | Array, interpolateParams?: object): string | any {\r\n return this.translate.instant(key, interpolateParams);\r\n }\r\n\r\n getTranslationAsync(key: string | Array, interpolateParams?: object): Observable {\r\n return this.translate.get(key, interpolateParams);\r\n }\r\n\r\n}\r\n\r\n\r\nexport class TranslateLanguageLoader implements TranslateLoader {\r\n\r\n public getTranslation(lang: string): any {\r\n // Note Dynamic require(variable) will not work. Require is always at compile time\r\n switch (lang) {\r\n case 'en':\r\n return of(require('../assets/locale/en.json'));\r\n case 'uk':\r\n return of(require('../assets/locale/uk.json'));\r\n default:\r\n }\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild, CanLoad, Route } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate, CanActivateChild, CanLoad {\r\n constructor(private authService: AuthService, private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\r\n const url = state.url;\r\n\r\n //console.log(\"canActivate, --> url:\" + url);\r\n\r\n return this.checkLogin(url);\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return this.canActivate(route, state);\r\n }\r\n\r\n canLoad(route: Route): boolean {\r\n\r\n const url = `/${route.path}`;\r\n //console.log(\"canLoad, --> url:\" + url);\r\n return this.checkLogin(url);\r\n }\r\n\r\n checkLogin(url: string): boolean {\r\n\r\n if (this.authService.isLoggedIn) {\r\n return true;\r\n }\r\n\r\n console.log(\"checkLogin, --> url:\" + url);\r\n\r\n this.authService.loginRedirectUrl = url;\r\n let returnUrl = url;\r\n this.router.navigate(['/login'], {\r\n queryParams: {\r\n returnUrl: returnUrl,\r\n },\r\n });\r\n\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { fromEvent, Observable, Subject } from 'rxjs';\r\nimport { delay, map } from 'rxjs/operators';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\n\r\nimport { LocalStoreManager } from './local-store-manager.service';\r\nimport { OidcHelperService } from './oidc-helper.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { DBkeys } from './db-keys';\r\nimport { JwtHelper } from './jwt-helper';\r\nimport { Utilities } from './utilities';\r\nimport { AccessToken, LoginResponse } from '../models/login-response.model';\r\nimport { User } from '../models/user.model';\r\nimport { UserLogin } from '../models/user-login.model';\r\nimport { PermissionValues } from '../models/permission.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class AuthService {\r\n\r\n private pingUrl = '/api/check/auth-availability';\r\n\r\n public get loginUrl() { return this.configurations.loginUrl; }\r\n\r\n public get getPingUrl() { return this.configurations.baseUrl + this.pingUrl; }\r\n\r\n get logoutRedirectUrl(): string {\r\n const url = this.localStorage.getDataObject(DBkeys.LOGOUT_REDIRECT_URL);\r\n return url;\r\n }\r\n\r\n set logoutRedirectUrl(url: string) {\r\n this.localStorage.savePermanentData(url, DBkeys.LOGOUT_REDIRECT_URL);\r\n //console.log(\"set loginRedirectUrl, url:\" + url);\r\n }\r\n\r\n get loginRedirectUrl(): string {\r\n\r\n const url = this.localStorage.getDataObject(DBkeys.LOGIN_REDIRECT_URL);\r\n //console.log(\"get loginRedirectUrl, url:\" + url);\r\n return url;\r\n }\r\n\r\n set loginRedirectUrl(url: string) {\r\n\r\n this.localStorage.savePermanentData(url, DBkeys.LOGIN_REDIRECT_URL);\r\n\r\n }\r\n\r\n\r\n public reLoginDelegate: () => void;\r\n\r\n private previousIsLoggedInCheck = false;\r\n private loginStatus = new Subject();\r\n\r\n constructor(\r\n private router: Router,\r\n private oidcHelperService: OidcHelperService,\r\n private configurations: ConfigurationService,\r\n private localStorage: LocalStoreManager,\r\n private http: HttpClient\r\n ) {\r\n\r\n this.initializeLoginStatus();\r\n }\r\n\r\n private initializeLoginStatus() {\r\n this.localStorage.getInitEvent().subscribe(() => {\r\n this.reevaluateLoginStatus();\r\n });\r\n }\r\n\r\n gotoPage(page: string, preserveParams = true) {\r\n\r\n const navigationExtras: NavigationExtras = {\r\n queryParamsHandling: preserveParams ? 'merge' : '', preserveFragment: preserveParams\r\n };\r\n\r\n this.router.navigate([page], navigationExtras);\r\n }\r\n\r\n gotoHomePage() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n redirectLoginUser() {\r\n const redirect = this.loginRedirectUrl && this.loginRedirectUrl !== '/' && this.loginRedirectUrl !== ConfigurationService.defaultHomeUrl ? this.loginRedirectUrl : '/';\r\n this.loginRedirectUrl = null;\r\n\r\n const urlParamsAndFragment = Utilities.splitInTwo(redirect, '#');\r\n const urlAndParams = Utilities.splitInTwo(urlParamsAndFragment.firstPart, '?');\r\n\r\n const navigationExtras: NavigationExtras = {\r\n fragment: urlParamsAndFragment.secondPart,\r\n queryParams: Utilities.getQueryParamsFromString(urlAndParams.secondPart),\r\n queryParamsHandling: 'merge'\r\n };\r\n\r\n this.router.navigate([urlAndParams.firstPart], navigationExtras);\r\n }\r\n\r\n redirectLogoutUser() {\r\n const redirect = this.logoutRedirectUrl ? this.logoutRedirectUrl : ConfigurationService.defaultHomeUrl;\r\n this.logoutRedirectUrl = null;\r\n\r\n this.router.navigate([redirect]);\r\n }\r\n\r\n redirectForLogin() {\r\n this.loginRedirectUrl = this.router.url;\r\n this.router.navigate([this.loginUrl]);\r\n }\r\n\r\n reLogin() {\r\n if (this.reLoginDelegate) {\r\n console.log(\"reLogin -> reLoginDelegate()\");\r\n this.reLoginDelegate();\r\n } else {\r\n console.log(\"reLogin -> redirectForLogin()\");\r\n this.redirectForLogin();\r\n }\r\n }\r\n\r\n refreshLogin() {\r\n return this.oidcHelperService.refreshLogin()\r\n .pipe(map(resp => this.processLoginResponse(resp, this.rememberMe)));\r\n }\r\n\r\n loginWithPassword(user: UserLogin) {\r\n if (this.isLoggedIn) {\r\n this.logout();\r\n }\r\n\r\n return this.oidcHelperService.loginWithPassword(user.userName, user.password)\r\n .pipe(map(resp => this.processLoginResponse(resp, user.rememberMe)));\r\n }\r\n\r\n loginWithExternalToken(token: string, provider: string, email?: string) {\r\n if (this.isLoggedIn) {\r\n this.logout();\r\n }\r\n\r\n return this.oidcHelperService.loginWithExternalToken(token, provider, email)\r\n .pipe(map(resp => this.processLoginResponse(resp)));\r\n }\r\n\r\n initClientCredentials(update?: boolean) {\r\n\r\n return this.oidcHelperService.loginWithClientCredentials()\r\n .pipe(map(resp => this.processClientCredentialsToken(resp, update)));\r\n\r\n }\r\n\r\n pingByClientSecret () {\r\n\r\n var accessToken = this.getClientToken();\r\n\r\n const headers = new HttpHeaders({\r\n Authorization: 'Bearer ' + accessToken,\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json, text/plain, */*'\r\n });\r\n\r\n var res = this.http.post(this.getPingUrl, null, { headers: headers });\r\n return res;\r\n }\r\n\r\n initLoginWithGoogle(rememberMe?: boolean) {\r\n //if (this.isLoggedIn) {\r\n this.logout();\r\n //}\r\n\r\n this.localStorage.savePermanentData(rememberMe, DBkeys.REMEMBER_ME);\r\n this.oidcHelperService.initLoginWithGoogle();\r\n }\r\n\r\n initLoginWithFacebook(rememberMe?: boolean) {\r\n\r\n //if (this.isLoggedIn) {\r\n this.logout();\r\n //}\r\n\r\n this.localStorage.savePermanentData(rememberMe, DBkeys.REMEMBER_ME);\r\n this.oidcHelperService.initLoginWithFacebook();\r\n }\r\n\r\n getFacebookEmail (accessToken) {\r\n return this.oidcHelperService.getFacebookEmail(accessToken);\r\n }\r\n\r\n initLoginWithTwitter(rememberMe?: boolean) {\r\n if (this.isLoggedIn) {\r\n this.logout();\r\n }\r\n\r\n this.localStorage.savePermanentData(rememberMe, DBkeys.REMEMBER_ME);\r\n this.oidcHelperService.initLoginWithTwitter();\r\n }\r\n\r\n initLoginWithApple(rememberMe?: boolean) {\r\n //if (this.isLoggedIn) {\r\n this.logout();\r\n //}\r\n\r\n this.localStorage.savePermanentData(rememberMe, DBkeys.REMEMBER_ME);\r\n this.oidcHelperService.initLoginWithApple();\r\n }\r\n\r\n getTwitterAccessToken(oauthToken: string, oauthVerifier: string) {\r\n return this.oidcHelperService.getTwitterAccessToken(oauthToken, oauthVerifier);\r\n }\r\n\r\n private processLoginResponse(response: LoginResponse, rememberMe?: boolean) {\r\n const accessToken = response.access_token;\r\n\r\n if (accessToken == null) {\r\n throw new Error('accessToken cannot be null');\r\n }\r\n\r\n rememberMe = rememberMe || this.rememberMe;\r\n\r\n const refreshToken = response.refresh_token || this.refreshToken;\r\n const expiresIn = response.expires_in;\r\n const tokenExpiryDate = new Date();\r\n tokenExpiryDate.setSeconds(tokenExpiryDate.getSeconds() + expiresIn);\r\n const accessTokenExpiry = tokenExpiryDate;\r\n const jwtHelper = new JwtHelper();\r\n const decodedAccessToken = jwtHelper.decodeToken(accessToken) as AccessToken;\r\n\r\n const permissions: PermissionValues[] = Array.isArray(decodedAccessToken.permission) ? decodedAccessToken.permission : [decodedAccessToken.permission];\r\n\r\n if (!this.isLoggedIn) {\r\n this.configurations.import(decodedAccessToken.configuration);\r\n }\r\n\r\n const user = new User(\r\n decodedAccessToken.sub,\r\n decodedAccessToken.name,\r\n decodedAccessToken.fullname,\r\n decodedAccessToken.email,\r\n decodedAccessToken.jobtitle,\r\n decodedAccessToken.phone_number,\r\n Array.isArray(decodedAccessToken.role) ? decodedAccessToken.role : [decodedAccessToken.role]);\r\n user.isEnabled = true;\r\n\r\n this.saveUserDetails(user, permissions, accessToken, refreshToken, accessTokenExpiry, rememberMe);\r\n\r\n this.reevaluateLoginStatus(user);\r\n\r\n return user;\r\n }\r\n\r\n private saveUserDetails(user: User, permissions: PermissionValues[], accessToken: string, refreshToken: string, expiresIn: Date, rememberMe: boolean) {\r\n if (rememberMe) {\r\n this.localStorage.savePermanentData(accessToken, DBkeys.ACCESS_TOKEN);\r\n this.localStorage.savePermanentData(refreshToken, DBkeys.REFRESH_TOKEN);\r\n this.localStorage.savePermanentData(expiresIn, DBkeys.TOKEN_EXPIRES_IN);\r\n this.localStorage.savePermanentData(permissions, DBkeys.USER_PERMISSIONS);\r\n this.localStorage.savePermanentData(user, DBkeys.CURRENT_USER);\r\n } else {\r\n this.localStorage.saveSyncedSessionData(accessToken, DBkeys.ACCESS_TOKEN);\r\n this.localStorage.saveSyncedSessionData(refreshToken, DBkeys.REFRESH_TOKEN);\r\n this.localStorage.saveSyncedSessionData(expiresIn, DBkeys.TOKEN_EXPIRES_IN);\r\n this.localStorage.saveSyncedSessionData(permissions, DBkeys.USER_PERMISSIONS);\r\n this.localStorage.saveSyncedSessionData(user, DBkeys.CURRENT_USER);\r\n }\r\n\r\n this.localStorage.savePermanentData(rememberMe, DBkeys.REMEMBER_ME);\r\n }\r\n\r\n private processClientCredentialsToken(response: LoginResponse, update?: boolean) {\r\n\r\n //console.log(\"processClientCredentialsToken, update:\" + update);\r\n\r\n const accessToken = response.access_token;\r\n\r\n if (accessToken == null) {\r\n throw new Error('accessToken cannot be null');\r\n }\r\n\r\n this.revaluateClientToken(accessToken, update)\r\n }\r\n\r\n public revaluateClientToken(accessToken: string, update?: boolean)\r\n {\r\n //console.log(\"revaluateClientToken, update:\" + update);\r\n\r\n let token = window.sessionStorage.getItem('CLIENTTOKEN') as string;\r\n if(token == null || update === true) {\r\n //console.log(\"CLIENTTOKEN was set\");\r\n window.sessionStorage.setItem('CLIENTTOKEN', accessToken);\r\n }\r\n }\r\n\r\n public getClientToken()\r\n {\r\n let token = window.sessionStorage.getItem('CLIENTTOKEN') as string;\r\n return token;\r\n }\r\n\r\n logout(): void {\r\n this.localStorage.deleteData(DBkeys.ACCESS_TOKEN);\r\n this.localStorage.deleteData(DBkeys.REFRESH_TOKEN);\r\n this.localStorage.deleteData(DBkeys.TOKEN_EXPIRES_IN);\r\n this.localStorage.deleteData(DBkeys.USER_PERMISSIONS);\r\n this.localStorage.deleteData(DBkeys.CURRENT_USER);\r\n\r\n this.configurations.clearLocalChanges();\r\n\r\n this.reevaluateLoginStatus();\r\n }\r\n\r\n public reevaluateLoginStatus(currentUser?: User) {\r\n const user = currentUser || this.localStorage.getDataObject(DBkeys.CURRENT_USER);\r\n\r\n const isLoggedIn = user != null;\r\n\r\n if (this.previousIsLoggedInCheck !== isLoggedIn) {\r\n const interval = setTimeout(() => {\r\n this.loginStatus.next(isLoggedIn);\r\n });\r\n }\r\n\r\n this.previousIsLoggedInCheck = isLoggedIn;\r\n\r\n //return () => {\r\n // clearInterval(interval);\r\n //};\r\n }\r\n\r\n getLoginStatusEvent(): Observable {\r\n return this.loginStatus.asObservable();\r\n }\r\n\r\n get currentUser(): User {\r\n\r\n const user = this.localStorage.getDataObject(DBkeys.CURRENT_USER);\r\n this.reevaluateLoginStatus(user);\r\n return user;\r\n }\r\n\r\n get userPermissions(): PermissionValues[] {\r\n return this.localStorage.getDataObject(DBkeys.USER_PERMISSIONS) || [];\r\n }\r\n\r\n get accessToken(): string {\r\n return this.oidcHelperService.accessToken;\r\n }\r\n\r\n get accessTokenExpiryDate(): Date {\r\n return this.oidcHelperService.accessTokenExpiryDate;\r\n }\r\n\r\n get refreshToken(): string {\r\n return this.oidcHelperService.refreshToken;\r\n }\r\n\r\n get isSessionExpired(): boolean {\r\n return this.oidcHelperService.isSessionExpired;\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return this.currentUser != null;\r\n }\r\n\r\n get rememberMe(): boolean {\r\n return this.localStorage.getDataObject(DBkeys.REMEMBER_ME) === true;\r\n }\r\n\r\n get clientCredentialsToken(): string {\r\n return this.oidcHelperService.clientCredentialsToken;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { EndpointBase } from './endpoint-base.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { CommonService } from './common.service';\r\n\r\n@Injectable()\r\nexport class CarInsuranceEndpoint extends EndpointBase{\r\n\r\n get carInsuranceGetProductsUrl() { return this.configurations.baseUrl + '/api/v1/CarInsurance/Products'; }\r\n\r\n get carInsuranceGetProductUrl() { return this.configurations.baseUrl + '/api/v1/CarInsurance/Product'; }\r\n\r\n get productCreateUrl() { return this.configurations.baseUrl + '/api/v1/InsuranceCarRecord/create'; }\r\n\r\n get getCarInsuranceUrl() { return this.configurations.baseUrl + '/api/v1/InsuranceCarRecord/getById'; }\r\n\r\n get getCarInsurancesUrl() { return this.configurations.baseUrl + '/api/v1/InsuranceCarRecord/list'; }\r\n\r\n get releaseCarInsuranceUrl() { return this.configurations.baseUrl + '/api/v1/InsuranceCarRecord/release'; }\r\n\r\n get downloadCarInsurancePdfUrl() { return this.configurations.baseUrl + '/api/v1/InsuranceCarRecord/downloadPdf'; }\r\n\r\n constructor(private configurations: ConfigurationService, http: HttpClient, authService: AuthService, commonService: CommonService) {\r\n super(http, authService, commonService);\r\n }\r\n\r\n getProducts(filterObject: any): Observable {\r\n\r\n const endpointUrl = this.carInsuranceGetProductsUrl;\r\n\r\n let filter = JSON.stringify(filterObject);\r\n\r\n return this.http.post(endpointUrl, filter, this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getProducts(filterObject));\r\n }));\r\n }\r\n\r\n getProduct(filterObject: any): Observable {\r\n\r\n const endpointUrl = this.carInsuranceGetProductUrl;\r\n\r\n let filter = JSON.stringify(filterObject);\r\n\r\n return this.http.post(endpointUrl, filter, this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getProducts(filterObject));\r\n }));\r\n }\r\n\r\n createProductEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.productCreateUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.createProductEndpoint(userObject));\r\n }));\r\n }\r\n\r\n getInsuranceEndpoint(id: string): Observable {\r\n\r\n const endpointUrl = `${this.getCarInsuranceUrl}/${id}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getInsuranceEndpoint(id));\r\n }));\r\n }\r\n\r\n getInsurancesEndpoint(): Observable {\r\n\r\n const endpointUrl = `${this.getCarInsurancesUrl}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getInsurancesEndpoint());\r\n }));\r\n }\r\n\r\n releaseCarInsuranceEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.releaseCarInsuranceUrl;\r\n return this.http.put(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.releaseCarInsuranceEndpoint(userObject));\r\n }));\r\n }\r\n\r\n downloadPdfEndpoint(id?: string): Observable {\r\n const endpointUrl = `${this.downloadCarInsurancePdfUrl}/${id}`;\r\n\r\n return this.http.get(endpointUrl, { headers: this.requestOnlyHeaders, responseType: 'arraybuffer' }).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.downloadPdfEndpoint(id));\r\n }));\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject, forkJoin } from 'rxjs';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\nimport { CarInsuranceEndpoint } from './car-insurance-endpoint.service';\r\nimport { AuthService } from './auth.service';\r\nimport { City } from '../models/city.model';\r\nimport { CarInsuranceProductsRequest } from '../models/car-insurance-products-request.model';\r\nimport { CarInsuranceProduct } from '../models/car-insurance-product.model';\r\nimport { CarInsuranceProductsResponse } from '../models/car-insurance-products-response.model';\r\nimport { CarInsuranceProductResponse } from '../models/car-insurance/car-insurance-product-response.model';\r\nimport { CarInsuranceProductRequest } from '../models/car-insurance/car-insurance-product-request.model';\r\nimport { CarInsuranceBookingRecord } from '../models/car-insurance/car-insurance-booking-record.model';\r\nimport { ReleaseRequestModel } from '../models/car-insurance/release-request.model';\r\n\r\n\r\n@Injectable()\r\nexport class CarInsuranceService {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private carInsuranceEndpoint: CarInsuranceEndpoint) {\r\n\r\n }\r\n\r\n getProducts(filter?: CarInsuranceProductsRequest) {\r\n return this.carInsuranceEndpoint.getProducts(filter);\r\n }\r\n\r\n getProduct(filter?: CarInsuranceProductRequest) {\r\n return this.carInsuranceEndpoint.getProduct(filter);\r\n }\r\n\r\n getInsurance(id?: string) {\r\n return this.carInsuranceEndpoint.getInsuranceEndpoint(id);\r\n }\r\n\r\n getInsurances() {\r\n return this.carInsuranceEndpoint.getInsurancesEndpoint();\r\n }\r\n\r\n saveProduct(product?: CarInsuranceBookingRecord) {\r\n return this.carInsuranceEndpoint.createProductEndpoint(product);\r\n }\r\n\r\n releaseCarInsurance(request?: ReleaseRequestModel) {\r\n return this.carInsuranceEndpoint.releaseCarInsuranceEndpoint(request);\r\n }\r\n\r\n downloadPdf(url?: string) {\r\n return this.carInsuranceEndpoint.downloadPdfEndpoint(url);\r\n }\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpResponseBase } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\nimport { Utilities } from '../services/utilities';\r\nimport { CarTypeModel } from '../models/cartype.model';\r\nimport { CarTypePropertyModel } from '../models/cartypeproperty.model';\r\n\r\n\r\n@Injectable()\r\nexport class CarTypeService {\r\n\r\n /** \r\n Car = 1,\r\n Truck = 2,\r\n Bus = 3,\r\n Trailer = 4,\r\n Motorbike = 5\r\n */\r\n getCarTypes() {\r\n return [\r\n new CarTypeModel(1, 'Легкове авто', 'Тип двигуна' ),\r\n new CarTypeModel(2, 'Вантажне авто', 'Вантажопідйомність' ),\r\n new CarTypeModel(3, 'Автобус', 'Місць' ),\r\n new CarTypeModel(4, 'Причіп', 'Тип' ),\r\n new CarTypeModel(5, 'Мотоцикл', 'Тип двигуна' )\r\n ];\r\n }\r\n\r\n /*\r\n CarBelow1600 = 1,\r\n CarFrom1601To2000 = 2,\r\n CarFrom2001To3000 = 3,\r\n CarMoreThenOrEqual3001 = 4,\r\n ElectroEngine = 14,\r\n\r\n TruckBelow2 = 5,\r\n TruckMoreThenOrEqual2 = 6,\r\n\r\n BusBelow20 = 7,\r\n BusMoreThenOrEqual21 = 8,\r\n\r\n TrailerForCar = 9,\r\n TrailerForTruck = 10,\r\n\r\n MotorbikeBelow300 = 11,\r\n MotorbikeMoreThenOrEqual300 = 12,\r\n \r\n */\r\n getCarTypeProperties() {\r\n return [\r\n new CarTypePropertyModel(1, 1, 'до 1600 см3' ),\r\n new CarTypePropertyModel(2, 1, 'з 1601 до 2000 см3' ),\r\n new CarTypePropertyModel(3, 1, 'з 2001 до 3000 см3' ),\r\n new CarTypePropertyModel(4, 1, 'з 3001 см3' ),\r\n new CarTypePropertyModel(14, 1, 'Електро' ),\r\n\r\n new CarTypePropertyModel(5, 2, 'до 2 т.' ),\r\n new CarTypePropertyModel(6, 2, '2т. і більше' ),\r\n\r\n new CarTypePropertyModel(7, 3, 'до 20 місць' ),\r\n new CarTypePropertyModel(8, 3, '20 місць та більше' ),\r\n\r\n new CarTypePropertyModel(9, 4, 'Причіп для легкового' ),\r\n new CarTypePropertyModel(10, 4, 'Причіп для вантажного' ),\r\n\r\n new CarTypePropertyModel(11, 5, 'до 300 см3' ),\r\n new CarTypePropertyModel(12, 5, '300 см3 та більше' ),\r\n ];\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { EndpointBase } from './endpoint-base.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { CarType } from '../models/CarType';\r\nimport { CarTypeProperty } from '../models/CarTypeProperty';\r\nimport { CommonService } from './common.service';\r\n\r\n@Injectable()\r\nexport class CatalogEndpoint extends EndpointBase {\r\n\r\n get catalogGetTownsUrl() { return this.configurations.baseUrl + '/api/v1/Catalog/GetTowns'; }\r\n\r\n get catalogGetTownUrl() { return this.configurations.baseUrl + '/api/v1/Catalog/GetTown'; }\r\n\r\n get catalogGetCarBrandsUrl() { return this.configurations.baseUrl + '/api/v1/Catalog/GetCarMarks'; }\r\n\r\n constructor(private configurations: ConfigurationService, http: HttpClient, authService: AuthService, commonService: CommonService) {\r\n super(http, authService, commonService);\r\n }\r\n\r\n getCitiesEndpoint(city?: string): Observable {\r\n\r\n var encodedCity = encodeURIComponent(city);\r\n const endpointUrl = `${this.catalogGetTownsUrl}?city=${encodedCity}`;\r\n\r\n let headers = this.requestHeadersClientToken;\r\n return this.http.get(endpointUrl, headers).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getCitiesEndpoint(city));\r\n }));\r\n }\r\n\r\n getCityEndpoint(cityCode?: string): Observable {\r\n\r\n var encodedCityCode = encodeURIComponent(cityCode);\r\n const endpointUrl = `${this.catalogGetTownUrl}?cityCode=${encodedCityCode}`;\r\n\r\n let headers = this.requestHeadersClientToken;\r\n return this.http.get(endpointUrl, headers).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getCityEndpoint(cityCode));\r\n }));\r\n }\r\n\r\n getCarBrandsEndpoint(carType?: CarType, carTypeProperty?:CarTypeProperty): Observable {\r\n\r\n var encodedCarType = encodeURIComponent(carType);\r\n var encodedCarTypeProperty = encodeURIComponent(carTypeProperty);\r\n const endpointUrl = `${this.catalogGetCarBrandsUrl}?carType=${encodedCarType}&carTypeProperty=${encodedCarTypeProperty}`;\r\n\r\n let headers = this.requestHeadersClientToken;\r\n return this.http.get(endpointUrl, headers).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getCarBrandsEndpoint(carType, carTypeProperty));\r\n }));\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject, forkJoin } from 'rxjs';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\nimport { CatalogEndpoint } from './catalog-endpoint.service';\r\nimport { AuthService } from './auth.service';\r\nimport { City } from '../models/city.model';\r\nimport { CarType } from '../models/CarType';\r\nimport { CarTypeProperty } from '../models/CarTypeProperty';\r\nimport { CarBrandView } from '../models/carbrandview.model';\r\n\r\n\r\n@Injectable()\r\nexport class CatalogService {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private catalogEndpoint: CatalogEndpoint) {\r\n\r\n }\r\n\r\n getCities(city?: string) {\r\n return this.catalogEndpoint.getCitiesEndpoint(city);\r\n }\r\n\r\n getCity(cityCode?: string) {\r\n return this.catalogEndpoint.getCityEndpoint(cityCode);\r\n }\r\n\r\n getCarBrands(carType?: CarType, carTypeProperty?: CarTypeProperty) {\r\n return this.catalogEndpoint.getCarBrandsEndpoint(carType, carTypeProperty);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class CommonService {\r\n\r\n public isRefreshingLogin: boolean;\r\n public isRefreshingClientToken: boolean;\r\n\r\n constructor() {\r\n\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { AppTranslationService } from './app-translation.service';\r\nimport { LocalStoreManager } from './local-store-manager.service';\r\nimport { DBkeys } from './db-keys';\r\nimport { Utilities } from './utilities';\r\nimport { environment } from '../../environments/environment';\r\n\r\ninterface UserConfiguration {\r\n language: string;\r\n themeId: number;\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigurationService {\r\n\r\n constructor(\r\n private localStorage: LocalStoreManager,\r\n private translationService: AppTranslationService) {\r\n\r\n this.loadLocalChanges();\r\n }\r\n\r\n set language(value: string) {\r\n this._language = value;\r\n this.saveToLocalStore(value, DBkeys.LANGUAGE);\r\n this.translationService.changeLanguage(value);\r\n }\r\n get language() {\r\n return this._language || ConfigurationService.defaultLanguage;\r\n }\r\n\r\n set themeId(value: number) {\r\n this._themeId = value;\r\n this.saveToLocalStore(value, DBkeys.THEME_ID);\r\n }\r\n get themeId() {\r\n return this._themeId || ConfigurationService.defaultThemeId;\r\n }\r\n\r\n public static readonly appVersion: string = '5.0.0';\r\n\r\n // ***Specify default configurations here***\r\n public static readonly defaultLanguage: string = 'uk';//'en';\r\n public static readonly defaultHomeUrl: string = '/';\r\n public static readonly defaultThemeId: number = 1;\r\n\r\n public baseUrl = environment.baseUrl || Utilities.baseUrl();\r\n public tokenUrl = environment.tokenUrl || environment.baseUrl || Utilities.baseUrl();\r\n public loginUrl = environment.loginUrl;\r\n public googleClientId = environment.googleClientId;\r\n public facebookClientId = environment.facebookClientId;\r\n public appleClientId = environment.appleClientId;\r\n public appleRedirectUrl = environment.appleRedirectUrl;\r\n public currentBaseUrl = environment.currentUrl;\r\n public fallbackBaseUrl = environment.currentUrl;\r\n\r\n public platonApiKey = environment.platonApiKey;\r\n public platonApiPassword = environment.platonApiPassword;\r\n public platonApiUrl = environment.platonApiUrl;\r\n\r\n // ***End of defaults***\r\n\r\n private _language: string = null;\r\n private _themeId: number = null;\r\n private onConfigurationImported: Subject = new Subject();\r\n\r\n configurationImported$ = this.onConfigurationImported.asObservable();\r\n\r\n private loadLocalChanges() {\r\n if (this.localStorage.exists(DBkeys.LANGUAGE)) {\r\n this._language = this.localStorage.getDataObject(DBkeys.LANGUAGE);\r\n this.translationService.changeLanguage(this._language);\r\n } else {\r\n this.resetLanguage();\r\n }\r\n\r\n if (this.localStorage.exists(DBkeys.THEME_ID)) {\r\n this._themeId = this.localStorage.getDataObject(DBkeys.THEME_ID);\r\n }\r\n }\r\n\r\n private saveToLocalStore(data: any, key: string) {\r\n setTimeout(() => this.localStorage.savePermanentData(data, key));\r\n }\r\n\r\n public import(jsonValue: string) {\r\n this.clearLocalChanges();\r\n\r\n if (jsonValue) {\r\n const importValue: UserConfiguration = Utilities.JsonTryParse(jsonValue);\r\n\r\n if (importValue.language != null) {\r\n this.language = importValue.language;\r\n }\r\n\r\n if (importValue.themeId != null) {\r\n this.themeId = importValue.themeId;\r\n }\r\n }\r\n\r\n this.onConfigurationImported.next(true);\r\n }\r\n\r\n public export(changesOnly = true): string {\r\n const exportValue: UserConfiguration = {\r\n language: changesOnly ? this._language : this.language,\r\n themeId: changesOnly ? this._themeId : this.themeId\r\n };\r\n\r\n return JSON.stringify(exportValue);\r\n }\r\n\r\n public clearLocalChanges() {\r\n this._language = null;\r\n this._themeId = null;\r\n\r\n this.localStorage.deleteData(DBkeys.LANGUAGE);\r\n this.localStorage.deleteData(DBkeys.THEME_ID);\r\n\r\n this.resetLanguage();\r\n }\r\n\r\n private resetLanguage() {\r\n //const language = this.translationService.useBrowserLanguage();\r\n\r\n const language = this.translationService.useDefaultLangage();\r\n if (language) {\r\n this._language = language;\r\n } else {\r\n this._language = this.translationService.useDefaultLangage();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class DBkeys {\r\n\r\n public static readonly CURRENT_USER = 'current_user';\r\n public static readonly USER_PERMISSIONS = 'user_permissions';\r\n public static readonly ACCESS_TOKEN = 'access_token';\r\n public static readonly REFRESH_TOKEN = 'refresh_token';\r\n public static readonly TOKEN_EXPIRES_IN = 'expires_in';\r\n\r\n public static readonly CLIENTS_CREDENTIALS_TOKEN = 'client_credentials_token';\r\n\r\n public static readonly TWITTER_OAUTH_TOKEN = 'twitter_oauth_token';\r\n public static readonly TWITTER_OAUTH_TOKEN_SECRET = 'twitter_oauth_token_secret';\r\n\r\n public static readonly REMEMBER_ME = 'remember_me';\r\n\r\n public static readonly LANGUAGE = 'language';\r\n public static readonly HOME_URL = 'home_url';\r\n public static readonly THEME_ID = 'themeId';\r\n public static readonly SHOW_DASHBOARD_STATISTICS = 'show_dashboard_statistics';\r\n public static readonly SHOW_DASHBOARD_NOTIFICATIONS = 'show_dashboard_notifications';\r\n public static readonly SHOW_DASHBOARD_TODO = 'show_dashboard_todo';\r\n public static readonly SHOW_DASHBOARD_BANNER = 'show_dashboard_banner';\r\n\r\n public static readonly LOGIN_REDIRECT_URL = 'login_redirect_url';\r\n public static readonly LOGOUT_REDIRECT_URL = 'logout_redirect_url';\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { EndpointBase } from './endpoint-base.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { CommonService } from './common.service';\r\n\r\n@Injectable()\r\nexport class DriverLicenceEndpoint extends EndpointBase {\r\n\r\n get driverLicenceListUrl() { return this.configurations.baseUrl + '/api/v1/driverlicence/list'; }\r\n\r\n get driverLicenceDeleteUrl() { return this.configurations.baseUrl + '/api/v1/driverlicence/delete'; }\r\n\r\n get driverLicenceCreateUrl() { return this.configurations.baseUrl + '/api/v1/driverlicence/create'; }\r\n\r\n get driverLicenceUpdateUrl() { return this.configurations.baseUrl + '/api/v1/driverlicence/update'; }\r\n\r\n constructor(private configurations: ConfigurationService, http: HttpClient, authService: AuthService, commonService: CommonService) {\r\n super(http, authService, commonService);\r\n }\r\n\r\n getDriverLicencesEndpoint(userId: string, page?: number, pageSize?: number): Observable {\r\n const endpointUrl = page && pageSize ? `${this.driverLicenceListUrl}/${page}/${pageSize}/${userId}`\r\n : `${this.driverLicenceListUrl}/${userId}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getDriverLicencesEndpoint(userId, page, pageSize));\r\n }));\r\n }\r\n\r\n deleteDriverLicenceEndpoint(driverLicenceId: string, userId: string): Observable {\r\n const endpointUrl = `${this.driverLicenceDeleteUrl}/${driverLicenceId}/${userId}`;\r\n\r\n return this.http.delete(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.deleteDriverLicenceEndpoint(driverLicenceId, userId));\r\n }));\r\n }\r\n\r\n createDriverLicenceEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.driverLicenceCreateUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify(userObject), this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.createDriverLicenceEndpoint(userObject));\r\n }));\r\n }\r\n\r\n updateDriverLicenceEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.driverLicenceUpdateUrl;\r\n return this.http.put(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.updateDriverLicenceEndpoint(userObject));\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject, forkJoin } from 'rxjs';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\nimport { DriverLicenceEndpoint } from './driver-licence-endpoint.service';\r\nimport { AuthService } from './auth.service';\r\nimport { DriverLicence } from '../models/driver-licence.model';\r\n\r\n@Injectable()\r\nexport class DriverLicenceService {\r\n \r\n constructor(\r\n private authService: AuthService,\r\n private driverLicenceEndpoint: DriverLicenceEndpoint) {\r\n\r\n }\r\n\r\n getDriverLicences(page?: number, pageSize?: number) {\r\n\r\n const userId = this.currentUser.id;\r\n\r\n return this.driverLicenceEndpoint.getDriverLicencesEndpoint(userId, page, pageSize);\r\n }\r\n\r\n deleteDriverLicence(driverLicenceId: string) {\r\n \r\n const userId = this.currentUser.id;\r\n return this.driverLicenceEndpoint.deleteDriverLicenceEndpoint(driverLicenceId, userId);\r\n }\r\n\r\n newDriverLicence(driverLicence: DriverLicence) {\r\n\r\n driverLicence.createdBy = this.currentUser.id;\r\n driverLicence.updatedBy = this.currentUser.id;\r\n return this.driverLicenceEndpoint.createDriverLicenceEndpoint(driverLicence);\r\n }\r\n\r\n updateDriverLicence(driverLicence: DriverLicence) {\r\n \r\n driverLicence.updatedBy = this.currentUser.id;\r\n return this.driverLicenceEndpoint.updateDriverLicenceEndpoint(driverLicence);\r\n }\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n}","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, Subject, from, throwError } from 'rxjs';\r\nimport { mergeMap, switchMap, catchError, concatMap } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { error } from 'console';\r\nimport { CommonService } from './common.service';\r\n\r\n@Injectable()\r\nexport class EndpointBase {\r\n\r\n private taskPauser: Subject;\r\n\r\n constructor(\r\n protected http: HttpClient,\r\n protected authService: AuthService,\r\n protected commonService: CommonService) {\r\n\r\n }\r\n\r\n protected get requestHeaders(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {\r\n\r\n var accessToken = this.authService.accessToken;\r\n\r\n const headers = new HttpHeaders({\r\n Authorization: 'Bearer ' + accessToken,\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json, text/plain, */*'\r\n });\r\n\r\n return { headers };\r\n }\r\n\r\n protected get requestOnlyHeaders() : HttpHeaders{\r\n\r\n var accessToken = this.authService.accessToken;\r\n\r\n const headers = new HttpHeaders({\r\n Authorization: 'Bearer ' + accessToken,\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json, text/plain, */*'\r\n });\r\n\r\n return headers;\r\n }\r\n\r\n protected get requestHeadersClientToken(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {\r\n\r\n var accessToken = this.authService.getClientToken();\r\n\r\n const headers = new HttpHeaders({\r\n Authorization: 'Bearer ' + accessToken,\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json, text/plain, */*'\r\n });\r\n\r\n return { headers };\r\n }\r\n\r\n public initClientCridentialToken() {\r\n return from(this.authService.initClientCredentials(true)).pipe();\r\n }\r\n\r\n public refreshLogin() {\r\n return this.authService.refreshLogin().pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.refreshLogin());\r\n }));\r\n }\r\n\r\n protected handleError(error, continuation: () => Observable) {\r\n if (error.status === 401) {\r\n if (this.commonService.isRefreshingLogin) {\r\n return this.pauseTask(continuation);\r\n }\r\n\r\n this.commonService.isRefreshingLogin = true;\r\n\r\n return from(this.authService.refreshLogin()).pipe(\r\n mergeMap(() => {\r\n\r\n console.log(\"this.authService.refreshLogin() passed\");\r\n\r\n this.commonService.isRefreshingLogin = false;\r\n this.resumeTasks(true);\r\n\r\n return continuation();\r\n }),\r\n catchError(refreshLoginError => {\r\n\r\n console.log(\"this.authService.refreshLogin() NOT passed\");\r\n\r\n this.commonService.isRefreshingLogin = false;\r\n this.resumeTasks(false);\r\n this.authService.reLogin();\r\n\r\n if (refreshLoginError.status === 401 || (refreshLoginError.error && refreshLoginError.error.error === 'invalid_grant')) {\r\n return throwError('session expired');\r\n } else {\r\n return throwError(refreshLoginError || 'server error');\r\n }\r\n }));\r\n }\r\n\r\n if (error.error && error.error.error === 'invalid_grant') {\r\n this.authService.reLogin();\r\n\r\n return throwError((error.error && error.error.error_description) ? `session expired (${error.error.error_description})` : 'session expired');\r\n } else {\r\n return throwError(error);\r\n }\r\n }\r\n\r\n protected handleErrorFromApi(error, continuation: () => Observable) {\r\n if (error.status === 401) {\r\n if (this.commonService.isRefreshingClientToken) {\r\n //console.log(\"handleErrorFromApi 1\");\r\n return this.pauseTask(continuation);\r\n }\r\n\r\n this.commonService.isRefreshingClientToken = true;\r\n\r\n //console.log(\"handleErrorFromApi 2\");\r\n return from(this.authService.initClientCredentials(true)).pipe(\r\n mergeMap(() => {\r\n this.commonService.isRefreshingClientToken = false;\r\n this.resumeTasks(true);\r\n //console.log(\"handleErrorFromApi 3\");\r\n return continuation();\r\n }),\r\n catchError(refreshLoginError => {\r\n this.commonService.isRefreshingClientToken = false;\r\n\r\n this.authService.initClientCredentials(true);\r\n\r\n //console.log(\"handleErrorFromApi 4\");\r\n\r\n this.initClientCredentialsPromise();\r\n\r\n //console.log(\"handleErrorFromApi 5\");\r\n\r\n this.resumeTasks(true);\r\n\r\n return continuation();\r\n console.log(refreshLoginError);\r\n }));\r\n }\r\n }\r\n\r\n initClientCredentialsPromise () {\r\n let promise = new Promise((resolve, reject) => {\r\n //TODO\r\n //console.log(\"initClientCredentialsPromise 1\");\r\n this.authService.initClientCredentials(true).toPromise()\r\n .then(\r\n res => { // Success\r\n //console.log(\"initClientCredentialsPromise Success\");\r\n }\r\n );\r\n\r\n //console.log(\"initClientCredentialsPromise 2\");\r\n });\r\n return promise;\r\n }\r\n\r\n private pauseTask(continuation: () => Observable) {\r\n if (!this.taskPauser) {\r\n this.taskPauser = new Subject();\r\n }\r\n\r\n return this.taskPauser.pipe(switchMap(continueOp => {\r\n return continueOp ? continuation() : throwError('session expired');\r\n }));\r\n }\r\n\r\n\r\n private resumeTasks(continueOp: boolean) {\r\n setTimeout(() => {\r\n if (this.taskPauser) {\r\n this.taskPauser.next(continueOp);\r\n this.taskPauser.complete();\r\n this.taskPauser = null;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n/**\r\n * Helper class to decode and find JWT expiration.\r\n */\r\nimport { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable()\r\nexport class JwtHelper {\r\n\r\n public urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0: { break; }\r\n case 2: { output += '=='; break; }\r\n case 3: { output += '='; break; }\r\n default: {\r\n throw new Error('Illegal base64url string!');\r\n }\r\n }\r\n return this.b64DecodeUnicode(output);\r\n }\r\n\r\n // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem\r\n private b64DecodeUnicode(str: any) {\r\n return decodeURIComponent(Array.prototype.map.call(atob(str), (c: any) => {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n }\r\n\r\n public decodeToken(token: string): any {\r\n const parts = token.split('.');\r\n\r\n if (parts.length !== 3) {\r\n throw new Error('JWT must have 3 parts');\r\n }\r\n\r\n const decoded = this.urlBase64Decode(parts[1]);\r\n if (!decoded) {\r\n throw new Error('Cannot decode the token');\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n public getTokenExpirationDate(token: string): Date {\r\n let decoded: any;\r\n decoded = this.decodeToken(token);\r\n\r\n if (!decoded.hasOwnProperty('exp')) {\r\n return null;\r\n }\r\n\r\n const date = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n\r\n public isTokenExpired(token: string, offsetSeconds?: number): boolean {\r\n const date = this.getTokenExpirationDate(token);\r\n offsetSeconds = offsetSeconds || 0;\r\n\r\n if (date == null) {\r\n return false;\r\n }\r\n\r\n // Token expired?\r\n return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { Utilities } from './utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n/**\r\n * Provides a wrapper for accessing the web storage API and synchronizing session storage across tabs/windows.\r\n */\r\nexport class LocalStoreManager {\r\n private static syncListenerInitialised = false;\r\n\r\n public static readonly DBKEY_USER_DATA = 'user_data';\r\n private static readonly DBKEY_SYNC_KEYS = 'sync_keys';\r\n private syncKeys: string[] = [];\r\n private initEvent = new Subject();\r\n\r\n private reservedKeys: string[] =\r\n [\r\n 'sync_keys',\r\n 'addToSyncKeys',\r\n 'removeFromSyncKeys',\r\n 'getSessionStorage',\r\n 'setSessionStorage',\r\n 'addToSessionStorage',\r\n 'removeFromSessionStorage',\r\n 'clearAllSessionsStorage'\r\n ];\r\n\r\n public initialiseStorageSyncListener() {\r\n //console.log(\"initialiseStorageSyncListener\");\r\n if (LocalStoreManager.syncListenerInitialised === true) {\r\n //console.log(\"initialiseStorageSyncListener syncListenerInitialised = true\");\r\n return;\r\n }\r\n\r\n //console.log(\"initialiseStorageSyncListener syncListenerInitialised was set --> true\");\r\n\r\n LocalStoreManager.syncListenerInitialised = true;\r\n window.addEventListener('storage', this.sessionStorageTransferHandler, false);\r\n this.syncSessionStorage();\r\n }\r\n\r\n public deinitialiseStorageSyncListener() {\r\n window.removeEventListener('storage', this.sessionStorageTransferHandler, false);\r\n LocalStoreManager.syncListenerInitialised = false;\r\n }\r\n\r\n public clearAllStorage() {\r\n this.clearAllSessionsStorage();\r\n this.clearLocalStorage();\r\n }\r\n\r\n public clearAllSessionsStorage() {\r\n this.clearInstanceSessionStorage();\r\n localStorage.removeItem(LocalStoreManager.DBKEY_SYNC_KEYS);\r\n\r\n localStorage.setItem('clearAllSessionsStorage', '_dummy');\r\n localStorage.removeItem('clearAllSessionsStorage');\r\n }\r\n\r\n public clearInstanceSessionStorage() {\r\n sessionStorage.clear();\r\n this.syncKeys = [];\r\n }\r\n\r\n public clearLocalStorage() {\r\n localStorage.clear();\r\n }\r\n\r\n public saveSessionData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n this.removeFromSyncKeys(key);\r\n localStorage.removeItem(key);\r\n this.sessionStorageSetItem(key, data);\r\n }\r\n\r\n public saveSyncedSessionData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n localStorage.removeItem(key);\r\n this.addToSessionStorage(data, key);\r\n }\r\n\r\n public savePermanentData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n this.removeFromSessionStorage(key);\r\n this.localStorageSetItem(key, data);\r\n }\r\n\r\n public moveDataToSessionStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n const data = this.getData(key);\r\n\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.saveSessionData(data, key);\r\n }\r\n\r\n public moveDataToSyncedSessionStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n const data = this.getData(key);\r\n\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.saveSyncedSessionData(data, key);\r\n }\r\n\r\n public moveDataToPermanentStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n const data = this.getData(key);\r\n\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.savePermanentData(data, key);\r\n }\r\n\r\n public exists(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n let data = sessionStorage.getItem(key);\r\n\r\n if (data == null) {\r\n data = localStorage.getItem(key);\r\n }\r\n\r\n return data != null;\r\n }\r\n\r\n public getData(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n let data = this.sessionStorageGetItem(key);\r\n\r\n if (data == null) {\r\n data = this.localStorageGetItem(key);\r\n }\r\n\r\n return data;\r\n }\r\n\r\n public getDataObject(key = LocalStoreManager.DBKEY_USER_DATA, isDateType = false): T {\r\n let data = this.getData(key);\r\n\r\n if (data != null) {\r\n if (isDateType) {\r\n data = new Date(data);\r\n }\r\n return data as T;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public deleteData(key = LocalStoreManager.DBKEY_USER_DATA) {\r\n this.testForInvalidKeys(key);\r\n\r\n this.removeFromSessionStorage(key);\r\n localStorage.removeItem(key);\r\n }\r\n\r\n public getInitEvent(): Observable<{}> {\r\n return this.initEvent.asObservable();\r\n }\r\n\r\n private sessionStorageTransferHandler = (event: StorageEvent) => {\r\n if (!event.newValue) {\r\n return;\r\n }\r\n\r\n if (event.key === 'getSessionStorage') {\r\n if (sessionStorage.length) {\r\n this.localStorageSetItem('setSessionStorage', sessionStorage);\r\n localStorage.removeItem('setSessionStorage');\r\n }\r\n } else if (event.key === 'setSessionStorage') {\r\n\r\n if (!this.syncKeys.length) {\r\n this.loadSyncKeys();\r\n }\r\n const data = JSON.parse(event.newValue);\r\n // console.info(\"Set => Key: Transfer setSessionStorage\" + \", data: \" + JSON.stringify(data));\r\n\r\n for (const key in data) {\r\n\r\n if (this.syncKeysContains(key)) {\r\n this.sessionStorageSetItem(key, JSON.parse(data[key]));\r\n }\r\n }\r\n\r\n this.onInit();\r\n } else if (event.key === 'addToSessionStorage') {\r\n\r\n const data = JSON.parse(event.newValue);\r\n\r\n // console.warn(\"Set => Key: Transfer addToSessionStorage\" + \", data: \" + JSON.stringify(data));\r\n\r\n this.addToSessionStorageHelper(data.data, data.key);\r\n } else if (event.key === 'removeFromSessionStorage') {\r\n\r\n this.removeFromSessionStorageHelper(event.newValue);\r\n } else if (event.key === 'clearAllSessionsStorage' && sessionStorage.length) {\r\n this.clearInstanceSessionStorage();\r\n } else if (event.key === 'addToSyncKeys') {\r\n this.addToSyncKeysHelper(event.newValue);\r\n } else if (event.key === 'removeFromSyncKeys') {\r\n this.removeFromSyncKeysHelper(event.newValue);\r\n }\r\n }\r\n\r\n private syncSessionStorage() {\r\n localStorage.setItem('getSessionStorage', '_dummy');\r\n localStorage.removeItem('getSessionStorage');\r\n }\r\n\r\n private addToSessionStorage(data: any, key: string) {\r\n this.addToSessionStorageHelper(data, key);\r\n this.addToSyncKeysBackup(key);\r\n\r\n this.localStorageSetItem('addToSessionStorage', { key, data });\r\n localStorage.removeItem('addToSessionStorage');\r\n }\r\n\r\n private addToSessionStorageHelper(data: any, key: string) {\r\n this.addToSyncKeysHelper(key);\r\n this.sessionStorageSetItem(key, data);\r\n }\r\n\r\n private removeFromSessionStorage(keyToRemove: string) {\r\n this.removeFromSessionStorageHelper(keyToRemove);\r\n this.removeFromSyncKeysBackup(keyToRemove);\r\n\r\n localStorage.setItem('removeFromSessionStorage', keyToRemove);\r\n localStorage.removeItem('removeFromSessionStorage');\r\n }\r\n\r\n private removeFromSessionStorageHelper(keyToRemove: string) {\r\n\r\n sessionStorage.removeItem(keyToRemove);\r\n this.removeFromSyncKeysHelper(keyToRemove);\r\n }\r\n\r\n private testForInvalidKeys(key: string) {\r\n if (!key) {\r\n throw new Error('key cannot be empty');\r\n }\r\n\r\n if (this.reservedKeys.some(x => x === key)) {\r\n throw new Error(`The storage key \"${key}\" is reserved and cannot be used. Please use a different key`);\r\n }\r\n }\r\n\r\n private syncKeysContains(key: string) {\r\n\r\n return this.syncKeys.some(x => x === key);\r\n }\r\n\r\n private loadSyncKeys() {\r\n if (this.syncKeys.length) {\r\n return;\r\n }\r\n\r\n this.syncKeys = this.getSyncKeysFromStorage();\r\n }\r\n\r\n private getSyncKeysFromStorage(defaultValue: string[] = []): string[] {\r\n const data = this.localStorageGetItem(LocalStoreManager.DBKEY_SYNC_KEYS);\r\n\r\n if (data == null) {\r\n return defaultValue;\r\n } else {\r\n return data as string[];\r\n }\r\n }\r\n\r\n private addToSyncKeys(key: string) {\r\n this.addToSyncKeysHelper(key);\r\n this.addToSyncKeysBackup(key);\r\n\r\n localStorage.setItem('addToSyncKeys', key);\r\n localStorage.removeItem('addToSyncKeys');\r\n }\r\n\r\n private addToSyncKeysBackup(key: string) {\r\n const storedSyncKeys = this.getSyncKeysFromStorage();\r\n\r\n if (!storedSyncKeys.some(x => x === key)) {\r\n storedSyncKeys.push(key);\r\n this.localStorageSetItem(LocalStoreManager.DBKEY_SYNC_KEYS, storedSyncKeys);\r\n }\r\n }\r\n\r\n private removeFromSyncKeysBackup(key: string) {\r\n const storedSyncKeys = this.getSyncKeysFromStorage();\r\n\r\n const index = storedSyncKeys.indexOf(key);\r\n\r\n if (index > -1) {\r\n storedSyncKeys.splice(index, 1);\r\n this.localStorageSetItem(LocalStoreManager.DBKEY_SYNC_KEYS, storedSyncKeys);\r\n }\r\n }\r\n\r\n private addToSyncKeysHelper(key: string) {\r\n if (!this.syncKeysContains(key)) {\r\n this.syncKeys.push(key);\r\n }\r\n }\r\n\r\n private removeFromSyncKeys(key: string) {\r\n this.removeFromSyncKeysHelper(key);\r\n this.removeFromSyncKeysBackup(key);\r\n\r\n localStorage.setItem('removeFromSyncKeys', key);\r\n localStorage.removeItem('removeFromSyncKeys');\r\n }\r\n\r\n private removeFromSyncKeysHelper(key: string) {\r\n const index = this.syncKeys.indexOf(key);\r\n\r\n if (index > -1) {\r\n this.syncKeys.splice(index, 1);\r\n }\r\n }\r\n\r\n private localStorageSetItem(key: string, data: any) {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n private sessionStorageSetItem(key: string, data: any) {\r\n sessionStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n private localStorageGetItem(key: string) {\r\n return Utilities.JsonTryParse(localStorage.getItem(key));\r\n }\r\n\r\n private sessionStorageGetItem(key: string) {\r\n return Utilities.JsonTryParse(sessionStorage.getItem(key));\r\n }\r\n\r\n private onInit() {\r\n setTimeout(() => {\r\n this.initEvent.next(true);\r\n this.initEvent.complete();\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Location } from '@angular/common'\r\nimport { Router, NavigationEnd } from '@angular/router'\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NavigationService {\r\n private history: string[] = []\r\n\r\n constructor(private router: Router, private location: Location) {\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.history.push(event.urlAfterRedirects)\r\n }\r\n })\r\n }\r\n\r\n back(): void {\r\n this.history.pop()\r\n if (this.history.length > 0) {\r\n this.location.back()\r\n } else {\r\n this.router.navigateByUrl('/')\r\n }\r\n }\r\n}","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class NotificationEndpoint {\r\n private demoNotifications = [\r\n {\r\n id: 1,\r\n header: '20 New Products were added to your inventory by \"administrator\"',\r\n body: '20 new \"BMW M6\" were added to your stock by \"administrator\" on 5/28/2017 4:54:13 PM',\r\n isRead: true,\r\n isPinned: true,\r\n date: '2017-05-28T16:29:13.5877958'\r\n },\r\n {\r\n id: 2,\r\n header: '1 Product running low',\r\n body: 'You are running low on \"Nissan Patrol\". 2 Items remaining',\r\n isRead: false,\r\n isPinned: false,\r\n date: '2017-05-28T19:54:42.4144502'\r\n },\r\n {\r\n id: 3,\r\n header: 'Tomorrow is half day',\r\n body: 'Guys, tomorrow we close by midday. Please check in your sales before noon. Thanx. Alex.',\r\n isRead: false,\r\n isPinned: false,\r\n date: '2017-05-30T11:13:42.4144502'\r\n }\r\n ];\r\n\r\n getNotificationEndpoint(notificationId: number): Observable {\r\n\r\n const notification = this.demoNotifications.find(val => val.id === notificationId);\r\n let response: HttpResponse;\r\n\r\n if (notification) {\r\n response = this.createResponse(notification, 200);\r\n } else {\r\n response = this.createResponse(null, 404);\r\n }\r\n\r\n return of(response.body);\r\n }\r\n\r\n getNotificationsEndpoint(page: number, pageSize: number): Observable {\r\n\r\n const notifications = this.demoNotifications;\r\n const response = this.createResponse(this.demoNotifications, 200);\r\n\r\n return of(response.body);\r\n }\r\n\r\n getUnreadNotificationsEndpoint(userId?: string): Observable {\r\n\r\n const unreadNotifications = this.demoNotifications.filter(val => !val.isRead);\r\n const response = this.createResponse(unreadNotifications, 200);\r\n\r\n return of(response.body);\r\n }\r\n\r\n getNewNotificationsEndpoint(lastNotificationDate?: Date): Observable {\r\n\r\n const unreadNotifications = this.demoNotifications;\r\n const response = this.createResponse(unreadNotifications, 200);\r\n\r\n return of(response.body);\r\n }\r\n\r\n getPinUnpinNotificationEndpoint(notificationId: number, isPinned?: boolean, ): Observable {\r\n\r\n const notification = this.demoNotifications.find(val => val.id === notificationId);\r\n let response: HttpResponse;\r\n\r\n if (notification) {\r\n response = this.createResponse(null, 204);\r\n\r\n if (isPinned == null) {\r\n isPinned = !notification.isPinned;\r\n }\r\n\r\n notification.isPinned = isPinned;\r\n notification.isRead = true;\r\n } else {\r\n response = this.createResponse(null, 404);\r\n }\r\n\r\n\r\n return of(response.body);\r\n }\r\n\r\n getReadUnreadNotificationEndpoint(notificationIds: number[], isRead: boolean, ): Observable {\r\n for (const notificationId of notificationIds) {\r\n\r\n const notification = this.demoNotifications.find(val => val.id === notificationId);\r\n\r\n if (notification) {\r\n notification.isRead = isRead;\r\n }\r\n }\r\n\r\n const response = this.createResponse(null, 204);\r\n return of(response.body);\r\n }\r\n\r\n getDeleteNotificationEndpoint(notificationId: number): Observable {\r\n\r\n const notification = this.demoNotifications.find(val => val.id === notificationId);\r\n let response: HttpResponse;\r\n\r\n if (notification) {\r\n this.demoNotifications = this.demoNotifications.filter(val => val.id !== notificationId);\r\n response = this.createResponse(notification, 200);\r\n } else {\r\n response = this.createResponse(null, 404);\r\n }\r\n\r\n return of(response.body);\r\n }\r\n\r\n private createResponse(body, status: number) {\r\n return new HttpResponse({ body, status });\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, interval } from 'rxjs';\r\nimport { map, mergeMap, startWith } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { NotificationEndpoint } from './notification-endpoint.service';\r\nimport { Notification } from '../models/notification.model';\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n private lastNotificationDate: Date;\r\n private _recentNotifications: Notification[];\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n\r\n get recentNotifications() {\r\n return this._recentNotifications;\r\n }\r\n\r\n set recentNotifications(notifications: Notification[]) {\r\n this._recentNotifications = notifications;\r\n }\r\n\r\n constructor(private notificationEndpoint: NotificationEndpoint, private authService: AuthService) {\r\n\r\n }\r\n\r\n getNotification(notificationId?: number) {\r\n\r\n return this.notificationEndpoint.getNotificationEndpoint(notificationId).pipe(\r\n map(response => Notification.Create(response)));\r\n }\r\n\r\n getNotifications(page: number, pageSize: number) {\r\n\r\n return this.notificationEndpoint.getNotificationsEndpoint(page, pageSize).pipe(\r\n map(response => {\r\n return this.getNotificationsFromResponse(response);\r\n }));\r\n }\r\n\r\n getUnreadNotifications(userId?: string) {\r\n\r\n return this.notificationEndpoint.getUnreadNotificationsEndpoint(userId).pipe(\r\n map(response => this.getNotificationsFromResponse(response)));\r\n }\r\n\r\n getNewNotifications() {\r\n return this.notificationEndpoint.getNewNotificationsEndpoint(this.lastNotificationDate).pipe(\r\n map(response => this.processNewNotificationsFromResponse(response)));\r\n }\r\n\r\n getNewNotificationsPeriodically() {\r\n return interval(10000).pipe(\r\n startWith(0),\r\n mergeMap(() => {\r\n return this.notificationEndpoint.getNewNotificationsEndpoint(this.lastNotificationDate).pipe(\r\n map(response => this.processNewNotificationsFromResponse(response)));\r\n }));\r\n }\r\n\r\n pinUnpinNotification(notificationOrNotificationId: number | Notification, isPinned?: boolean): Observable {\r\n\r\n if (typeof notificationOrNotificationId === 'number' || notificationOrNotificationId instanceof Number) {\r\n return this.notificationEndpoint.getPinUnpinNotificationEndpoint(notificationOrNotificationId as number, isPinned);\r\n } else {\r\n return this.pinUnpinNotification(notificationOrNotificationId.id);\r\n }\r\n }\r\n\r\n readUnreadNotification(notificationIds: number[], isRead: boolean): Observable {\r\n\r\n return this.notificationEndpoint.getReadUnreadNotificationEndpoint(notificationIds, isRead);\r\n }\r\n\r\n deleteNotification(notificationOrNotificationId: number | Notification): Observable {\r\n\r\n if (typeof notificationOrNotificationId === 'number' || notificationOrNotificationId instanceof Number) { // Todo: Test me if its check is valid\r\n return this.notificationEndpoint.getDeleteNotificationEndpoint(notificationOrNotificationId as number).pipe(\r\n map(response => {\r\n this.recentNotifications = this.recentNotifications.filter(n => n.id !== notificationOrNotificationId);\r\n return Notification.Create(response);\r\n }));\r\n } else {\r\n return this.deleteNotification(notificationOrNotificationId.id);\r\n }\r\n }\r\n\r\n private processNewNotificationsFromResponse(response) {\r\n const notifications = this.getNotificationsFromResponse(response);\r\n\r\n for (const n of notifications) {\r\n if (n.date > this.lastNotificationDate) {\r\n this.lastNotificationDate = n.date;\r\n }\r\n }\r\n\r\n return notifications;\r\n }\r\n\r\n private getNotificationsFromResponse(response) {\r\n const notifications: Notification[] = [];\r\n\r\n for (const i in response) {\r\n if (response.hasOwnProperty(i)) {\r\n notifications[i] = Notification.Create(response[i]);\r\n }\r\n }\r\n\r\n notifications.sort((a, b) => b.date.valueOf() - a.date.valueOf());\r\n notifications.sort((a, b) => (a.isPinned === b.isPinned) ? 0 : a.isPinned ? -1 : 1);\r\n\r\n this.recentNotifications = notifications;\r\n\r\n return notifications;\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { from, throwError } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\n\r\nimport { LocalStoreManager } from './local-store-manager.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { Utilities } from './utilities';\r\nimport { DBkeys } from './db-keys';\r\nimport { LoginResponse } from '../models/login-response.model';\r\nimport { FacebookUser } from '../models/facebook-user';\r\n\r\n@Injectable()\r\nexport class OidcHelperService {\r\n\r\n private get baseUrl() { return this.configurations.baseUrl; }\r\n\r\n private clientId = 'sydiapp_spa';\r\n private clientSecret = 'c6hqz^arpfEn=vW7qf?mH6';\r\n private scope = 'sydiapp_api';\r\n private scopeForUser = 'openid email phone profile offline_access roles sydiapp_api';\r\n\r\n private clientIdExt = 'sydiapp_ext';\r\n private clientSecretExt = '56H8z^arPEn=vW7qf?mH1';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private oauthService: OAuthService,\r\n private configurations: ConfigurationService,\r\n private localStorage: LocalStoreManager) {\r\n\r\n }\r\n\r\n loginWithPassword(userName: string, password: string) {\r\n const header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'Access-Control-Allow-Origin': '*'});\r\n const params = new HttpParams()\r\n .append('username', userName)\r\n .append('password', password)\r\n .append('client_id', this.clientId)\r\n .append('client_secret', this.clientSecret)\r\n .append('grant_type', 'password')\r\n .append('scope', this.scopeForUser);\r\n\r\n this.oauthService.issuer = this.baseUrl;\r\n\r\n return from(this.oauthService.loadDiscoveryDocument())\r\n .pipe(mergeMap(() => {\r\n return this.http.post(this.oauthService.tokenEndpoint, params, { headers: header });\r\n }));\r\n }\r\n\r\n loginWithClientCredentials() {\r\n const header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'Access-Control-Allow-Origin': '*' });\r\n const params = new HttpParams()\r\n .append('client_secret', this.clientSecret)\r\n .append('client_id', this.clientId)\r\n .append('grant_type', 'client_credentials')\r\n .append('scope', this.scope);\r\n\r\n this.oauthService.issuer = this.baseUrl;\r\n\r\n return from(this.oauthService.loadDiscoveryDocument())\r\n .pipe(mergeMap(() => {\r\n var res = this.http.post(this.oauthService.tokenEndpoint, params, { headers: header });\r\n return res;\r\n }));\r\n }\r\n\r\n refreshLogin() {\r\n const header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'Access-Control-Allow-Origin': '*' });\r\n const params = new HttpParams()\r\n .append('refresh_token', this.refreshToken)\r\n .append('client_id', this.clientId)\r\n .append('grant_type', 'refresh_token');\r\n\r\n this.oauthService.issuer = this.baseUrl;\r\n\r\n return from(this.oauthService.loadDiscoveryDocument())\r\n .pipe(mergeMap(() => {\r\n return this.http.post(this.oauthService.tokenEndpoint, params, { headers: header });\r\n }));\r\n }\r\n\r\n /*\r\n 'client_id': clientId,\r\n 'client_secret': clientSecret,\r\n 'grant_type': 'external',\r\n 'scopes': scope,\r\n 'email': email,\r\n 'provider': provider, //(Google, Facebook)\r\n 'external_token': accessToken\r\n */\r\n\r\n loginWithExternalToken(accessToken: string, provider: string, email: string) {\r\n const header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'Access-Control-Allow-Origin': '*' });\r\n let params = new HttpParams()\r\n .append('external_token', accessToken)\r\n .append('provider', provider)\r\n .append('client_id', this.clientIdExt)\r\n .append('client_secret', this.clientSecretExt)\r\n .append('grant_type', 'external')\r\n .append('scopes', this.scope);\r\n\r\n if (email) {\r\n params = params.append('email', email);\r\n }\r\n\r\n //this.oauthService.strictDiscoveryDocumentValidation = false;\r\n this.oauthService.issuer = this.baseUrl;\r\n\r\n var res = from(this.oauthService.loadDiscoveryDocument())\r\n .pipe(mergeMap(() => {\r\n return this.http.post(this.oauthService.tokenEndpoint, params, { headers: header });\r\n }));\r\n\r\n return res;\r\n }\r\n\r\n initLoginWithGoogle() {\r\n this.oauthService.configure({\r\n issuer: 'https://accounts.google.com',\r\n redirectUri: this.configurations.currentBaseUrl + '/google-login',\r\n clientId: this.configurations.googleClientId,\r\n strictDiscoveryDocumentValidation: false,\r\n scope: 'openid profile email phone',\r\n sessionChecksEnabled: false\r\n });\r\n\r\n this.oauthService.loadDiscoveryDocument().then(() => {\r\n this.oauthService.initImplicitFlow();\r\n });\r\n }\r\n\r\n initLoginWithApple() {\r\n this.oauthService.configure({\r\n issuer: 'https://appleid.apple.com',\r\n redirectUri: this.configurations.appleRedirectUrl,\r\n //redirectUri: 'https://sydi.finance/apple-login',\r\n clientId: this.configurations.appleClientId,\r\n strictDiscoveryDocumentValidation: false,\r\n responseType: 'code id_token',\r\n scope: 'openid email name',\r\n sessionChecksEnabled: false\r\n });\r\n\r\n this.oauthService.customQueryParams = {\r\n 'response_mode': 'form_post'\r\n //'response_mode': 'fragment'\r\n };\r\n\r\n this.oauthService.loadDiscoveryDocument().then(() => {\r\n this.oauthService.initImplicitFlow();\r\n });\r\n }\r\n\r\n initLoginWithFacebook() {\r\n this.oauthService.configure({\r\n loginUrl: 'https://www.facebook.com/v16.0/dialog/oauth',\r\n redirectUri: this.configurations.currentBaseUrl + '/facebook-login',\r\n clientId: this.configurations.facebookClientId,\r\n scope: 'public_profile email user_hometown user_friends user_birthday',\r\n oidc: false,\r\n sessionChecksEnabled: false\r\n });\r\n\r\n this.oauthService.initImplicitFlow();\r\n }\r\n\r\n getFacebookEmail(accessToken: string) {\r\n //var url = 'https://graph.facebook.com/v16.0/me?fields=id,name,email';\r\n\r\n //var headers = new HttpHeaders({\r\n // Authorization: 'Bearer ' + accessToken,\r\n // 'Content-Type': 'application/json',\r\n // Accept: 'application/json, text/plain, */*'\r\n //});\r\n\r\n //return this.http.get(url, { headers }).pipe();\r\n\r\n var res = fetch(`https://graph.facebook.com/v16.0/me?fields=id,name,hometown,first_name,last_name,email&access_token=${accessToken}`)\r\n .then(response => response.json())\r\n .catch(function(error) {\r\n console.error(error);\r\n });\r\n return res;\r\n }\r\n\r\n initLoginWithTwitter() {\r\n this.getTwitterRequestToken()\r\n .subscribe(response => {\r\n const tokens = Utilities.getQueryParamsFromString(response);\r\n if (tokens.oauth_callback_confirmed) {\r\n this.localStorage.savePermanentData(tokens.oauth_token, DBkeys.TWITTER_OAUTH_TOKEN);\r\n this.localStorage.savePermanentData(tokens.oauth_token_secret, DBkeys.TWITTER_OAUTH_TOKEN_SECRET);\r\n\r\n this.authenticateTwitterRequestToken(tokens.oauth_token);\r\n } else {\r\n throw new Error('Twitter OAuth Callback Not Confirmed');\r\n }\r\n });\r\n }\r\n\r\n private getTwitterRequestToken() {\r\n const requestTokenUrl = this.baseUrl + '/oauth/twitter/request_token';\r\n const requestObject = { oauth_callback: this.configurations.currentBaseUrl + '/twitter-login' };\r\n return this.http.post(requestTokenUrl, requestObject, { responseType: 'text' });\r\n }\r\n\r\n private authenticateTwitterRequestToken(oauthToken: string) {\r\n window.location.href = 'https://api.twitter.com/oauth/authenticate?oauth_token=' + oauthToken;\r\n }\r\n\r\n getTwitterAccessToken(oauthToken: string, oauthVerifier: string) {\r\n const savedOauthToken = this.localStorage.getDataObject(DBkeys.TWITTER_OAUTH_TOKEN);\r\n const savedOauthTokenSecret = this.localStorage.getDataObject(DBkeys.TWITTER_OAUTH_TOKEN_SECRET);\r\n this.localStorage.deleteData(DBkeys.TWITTER_OAUTH_TOKEN);\r\n this.localStorage.deleteData(DBkeys.TWITTER_OAUTH_TOKEN_SECRET);\r\n\r\n if (oauthToken !== savedOauthToken) {\r\n return throwError('Invalid or Expired Twitter OAuthToken');\r\n }\r\n\r\n const requestTokenUrl = this.baseUrl + '/oauth/twitter/access_token';\r\n const requestObject = {\r\n oauth_token: oauthToken,\r\n oauth_token_secret: savedOauthTokenSecret,\r\n oauth_verifier: oauthVerifier,\r\n };\r\n\r\n return this.http.post(requestTokenUrl, requestObject, { responseType: 'text' });\r\n }\r\n\r\n\r\n get accessToken(): string {\r\n return this.localStorage.getData(DBkeys.ACCESS_TOKEN);\r\n }\r\n\r\n get accessTokenExpiryDate(): Date {\r\n return this.localStorage.getDataObject(DBkeys.TOKEN_EXPIRES_IN, true);\r\n }\r\n\r\n get refreshToken(): string {\r\n return this.localStorage.getData(DBkeys.REFRESH_TOKEN);\r\n }\r\n\r\n get isSessionExpired(): boolean {\r\n if (this.accessTokenExpiryDate == null) {\r\n return true;\r\n }\r\n\r\n return this.accessTokenExpiryDate.valueOf() <= new Date().valueOf();\r\n }\r\n\r\n get clientCredentialsToken(): string {\r\n return this.localStorage.getData(DBkeys.CLIENTS_CREDENTIALS_TOKEN);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { EndpointBase } from './endpoint-base.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { CommonService } from './common.service';\r\n\r\n@Injectable()\r\nexport class PassportEndpoint extends EndpointBase {\r\n\r\n get passportListUrl() { return this.configurations.baseUrl + '/api/v1/passport/list'; }\r\n\r\n get passportDeleteUrl() { return this.configurations.baseUrl + '/api/v1/passport/delete'; }\r\n\r\n get passportCreateUrl() { return this.configurations.baseUrl + '/api/v1/passport/create'; }\r\n\r\n get passportUpdateUrl() { return this.configurations.baseUrl + '/api/v1/passport/update'; }\r\n\r\n constructor(private configurations: ConfigurationService, http: HttpClient, authService: AuthService, commonService: CommonService) {\r\n super(http, authService, commonService);\r\n }\r\n\r\n getPassportsEndpoint(userId: string, page?: number, pageSize?: number): Observable {\r\n const endpointUrl = page && pageSize ? `${this.passportListUrl}/${page}/${pageSize}/${userId}`\r\n : `${this.passportListUrl}/${userId}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getPassportsEndpoint(userId, page, pageSize));\r\n }));\r\n }\r\n\r\n deletePassportEndpoint(passportId: string, userId: string): Observable {\r\n const endpointUrl = `${this.passportDeleteUrl}/${passportId}/${userId}`;\r\n\r\n return this.http.delete(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.deletePassportEndpoint(passportId, userId));\r\n }));\r\n }\r\n\r\n createPassportEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.passportCreateUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify(userObject), this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.createPassportEndpoint(userObject));\r\n }));\r\n }\r\n\r\n updatePassportEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.passportUpdateUrl;\r\n return this.http.put(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.updatePassportEndpoint(userObject));\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject, forkJoin } from 'rxjs';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\nimport { PassportEndpoint } from './passport-endpoint.service';\r\nimport { AuthService } from './auth.service';\r\nimport { Passport } from '../models/passport.model';\r\n\r\n@Injectable()\r\nexport class PassportService {\r\n \r\n constructor(\r\n private authService: AuthService,\r\n private passportEndpoint: PassportEndpoint) {\r\n\r\n }\r\n\r\n getPassports(page?: number, pageSize?: number) {\r\n\r\n const userId = this.currentUser.id;\r\n\r\n return this.passportEndpoint.getPassportsEndpoint(userId, page, pageSize);\r\n }\r\n\r\n deletePassport(passportId: string) {\r\n \r\n const userId = this.currentUser.id;\r\n return this.passportEndpoint.deletePassportEndpoint(passportId, userId);\r\n }\r\n\r\n newPassport(passport: Passport) {\r\n\r\n passport.createdBy = this.currentUser.id;\r\n passport.updatedBy = this.currentUser.id;\r\n return this.passportEndpoint.createPassportEndpoint(passport);\r\n }\r\n\r\n updatePassport(passport: Passport) {\r\n \r\n passport.updatedBy = this.currentUser.id;\r\n return this.passportEndpoint.updatePassportEndpoint(passport);\r\n }\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { EndpointBase } from './endpoint-base.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { CommonService } from './common.service';\r\n\r\n@Injectable()\r\nexport class RegistrationCertificateEndpoint extends EndpointBase {\r\n\r\n get registrationCertificateListUrl() { return this.configurations.baseUrl + '/api/v1/registrationcertificate/list'; }\r\n\r\n get registrationCertificateDeleteUrl() { return this.configurations.baseUrl + '/api/v1/registrationcertificate/delete'; }\r\n\r\n get registrationCertificateCreateUrl() { return this.configurations.baseUrl + '/api/v1/registrationcertificate/create'; }\r\n\r\n get registrationCertificateUpdateUrl() { return this.configurations.baseUrl + '/api/v1/registrationcertificate/update'; }\r\n\r\n constructor(private configurations: ConfigurationService, http: HttpClient, authService: AuthService, commonService: CommonService) {\r\n super(http, authService, commonService);\r\n }\r\n\r\n getRegistrationCertificatesEndpoint(userId: string, page?: number, pageSize?: number): Observable {\r\n const endpointUrl = page && pageSize ? `${this.registrationCertificateListUrl}/${page}/${pageSize}/${userId}`\r\n : `${this.registrationCertificateListUrl}/${userId}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getRegistrationCertificatesEndpoint(userId, page, pageSize));\r\n }));\r\n }\r\n\r\n deleteRegistrationCertificateEndpoint(passportId: string, userId: string): Observable {\r\n const endpointUrl = `${this.registrationCertificateDeleteUrl}/${passportId}/${userId}`;\r\n\r\n return this.http.delete(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.deleteRegistrationCertificateEndpoint(passportId, userId));\r\n }));\r\n }\r\n\r\n createRegistrationCertificateEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.registrationCertificateCreateUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify(userObject), this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.createRegistrationCertificateEndpoint(userObject));\r\n }));\r\n }\r\n\r\n updateRegistrationCertificateEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.registrationCertificateUpdateUrl;\r\n return this.http.put(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.updateRegistrationCertificateEndpoint(userObject));\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject, forkJoin } from 'rxjs';\r\nimport { mergeMap, tap } from 'rxjs/operators';\r\n\r\nimport { RegistrationCertificateEndpoint } from './registration-certificate-endpoint.service';\r\nimport { AuthService } from './auth.service';\r\nimport { RegistrationCertificate } from '../models/registration-certificate.model';\r\n\r\n@Injectable()\r\nexport class RegistrationCertificateService {\r\n \r\n constructor(\r\n private authService: AuthService,\r\n private registrationCertificateEndpoint: RegistrationCertificateEndpoint) {\r\n\r\n }\r\n\r\n getRegistrationCertificates(page?: number, pageSize?: number) {\r\n\r\n const userId = this.currentUser.id;\r\n\r\n return this.registrationCertificateEndpoint.getRegistrationCertificatesEndpoint(userId, page, pageSize);\r\n }\r\n\r\n deleteRegistrationCertificate(passportId: string) {\r\n \r\n const userId = this.currentUser.id;\r\n return this.registrationCertificateEndpoint.deleteRegistrationCertificateEndpoint(passportId, userId);\r\n }\r\n\r\n newRegistrationCertificate(passport: RegistrationCertificate) {\r\n\r\n passport.createdBy = this.currentUser.id;\r\n passport.updatedBy = this.currentUser.id;\r\n return this.registrationCertificateEndpoint.createRegistrationCertificateEndpoint(passport);\r\n }\r\n\r\n updateRegistrationCertificate(passport: RegistrationCertificate) {\r\n \r\n passport.updatedBy = this.currentUser.id;\r\n return this.registrationCertificateEndpoint.updateRegistrationCertificateEndpoint(passport);\r\n }\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n}","import { Inject, Injectable, InjectionToken } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { timeout } from 'rxjs/operators';\r\n\r\nexport const DEFAULT_TIMEOUT = new InjectionToken('defaultTimeout');\r\n\r\n@Injectable()\r\nexport class TimeoutInterceptor implements HttpInterceptor {\r\n constructor(@Inject(DEFAULT_TIMEOUT) protected defaultTimeout: number) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const timeoutValue = req.headers.get('timeout') || this.defaultTimeout;\r\n const timeoutValueNumeric = Number(timeoutValue);\r\n\r\n //console.log(\"url: \" + req.url);\r\n //console.log(\"timeoutValue: \" + timeoutValue);\r\n\r\n return next.handle(req).pipe(timeout(timeoutValueNumeric));\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { AuthService } from \"./auth.service\";\r\nimport { ConfigurationService } from \"./configuration.service\";\r\nimport { EndpointBase } from \"./endpoint-base.service\";\r\nimport { CommonService } from \"./common.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, catchError } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class TravelEndpoint extends EndpointBase {\r\n\r\n get travelFilterUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/filter'; }\r\n\r\n get travelProductsUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/Products'; }\r\n\r\n get travelProductUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/Product'; }\r\n\r\n get productCreateUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/create'; }\r\n\r\n get releaseTravelInsuranceUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/release'; }\r\n\r\n get downloadTravelInsurancePdfUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/downloadPdf'; }\r\n\r\n get getTravelInsuranceUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/getById'; }\r\n\r\n get getTravelInsurancesUrl() { return this.configurations.baseUrl + '/api/v1/TravelInsurance/list'; }\r\n\r\n constructor(private configurations: ConfigurationService, http: HttpClient, authService: AuthService, commonService: CommonService) {\r\n super(http, authService, commonService);\r\n }\r\n\r\n\r\n getFilterEndpoint(): Observable {\r\n const endpointUrl = `${this.travelFilterUrl}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getFilterEndpoint());\r\n }));\r\n }\r\n\r\n getProductsEndpoint(model: any): Observable {\r\n const endpointUrl = `${this.travelProductsUrl}`;\r\n\r\n var jsonModel = JSON.stringify(model);\r\n return this.http.post(endpointUrl, jsonModel , this.requestHeadersClientToken).pipe(\r\n catchError(error => {\r\n return this.handleErrorFromApi(error, () => this.getProductsEndpoint(model));\r\n }));\r\n }\r\n\r\n getProductEndpoint(model: any): Observable {\r\n const endpointUrl = `${this.travelProductUrl}`;\r\n\r\n var jsonModel = JSON.stringify(model);\r\n return this.http.post(endpointUrl, jsonModel , this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getProductEndpoint(model));\r\n }));\r\n }\r\n\r\n createProductEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.productCreateUrl;\r\n\r\n return this.http.post(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.createProductEndpoint(userObject));\r\n }));\r\n }\r\n\r\n releaseTravelInsuranceEndpoint(userObject: any): Observable {\r\n const endpointUrl = this.releaseTravelInsuranceUrl;\r\n return this.http.put(endpointUrl, JSON.stringify(userObject), this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.releaseTravelInsuranceEndpoint(userObject));\r\n }));\r\n }\r\n\r\n downloadPdfEndpoint(id?: string): Observable {\r\n const endpointUrl = `${this.downloadTravelInsurancePdfUrl}/${id}`;\r\n\r\n return this.http.get(endpointUrl, { headers: this.requestOnlyHeaders, responseType: 'arraybuffer' }).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.downloadPdfEndpoint(id));\r\n }));\r\n }\r\n\r\n getInsuranceEndpoint(id: string): Observable {\r\n\r\n const endpointUrl = `${this.getTravelInsuranceUrl}/${id}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getInsuranceEndpoint(id));\r\n }));\r\n }\r\n\r\n getInsurancesEndpoint(): Observable {\r\n\r\n const endpointUrl = `${this.getTravelInsurancesUrl}`;\r\n\r\n return this.http.get(endpointUrl, this.requestHeaders).pipe(\r\n catchError(error => {\r\n return this.handleError(error, () => this.getInsurancesEndpoint());\r\n }));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AuthService } from \"./auth.service\";\r\nimport { TravelEndpoint } from \"./travel-endpoint.service\";\r\nimport { TravelFilterResponse } from \"../models/travel-insurance/travel-filter-response.model\";\r\nimport { TravelProductsRequest } from \"../models/travel-insurance/travel-products-request\";\r\nimport { TravelProductModel } from \"../models/travel-insurance/travel-product.model\";\r\nimport { TravelProductsResponse } from \"../models/travel-insurance/travel-products-response\";\r\nimport { TravelProductRequest } from \"../models/travel-insurance/travel-product-request\";\r\nimport { TravelProductResponse } from \"../models/travel-insurance/travel-product-response\";\r\nimport { TravelInsuranceBookingRecordModel } from \"../models/travel-insurance/travel-insurance-booking-record.model\";\r\nimport { ReleaseRequestModel } from \"../models/travel-insurance/release-request.model\";\r\n\r\n@Injectable()\r\nexport class TravelService {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private travelEndpoint: TravelEndpoint) {\r\n\r\n }\r\n\r\n getFilter() {\r\n return this.travelEndpoint.getFilterEndpoint();\r\n }\r\n\r\n getProducts(model:TravelProductsRequest) {\r\n return this.travelEndpoint.getProductsEndpoint(model);\r\n }\r\n\r\n getProduct(model:TravelProductRequest) {\r\n return this.travelEndpoint.getProductEndpoint(model);\r\n }\r\n\r\n saveProduct(product?: TravelInsuranceBookingRecordModel) {\r\n return this.travelEndpoint.createProductEndpoint(product);\r\n }\r\n\r\n releaseTravelInsurance(request?: ReleaseRequestModel) {\r\n return this.travelEndpoint.releaseTravelInsuranceEndpoint(request);\r\n }\r\n\r\n downloadPdf(url?: string) {\r\n return this.travelEndpoint.downloadPdfEndpoint(url);\r\n }\r\n\r\n getInsurance(id?: string) {\r\n return this.travelEndpoint.getInsuranceEndpoint(id);\r\n }\r\n\r\n getInsurances() {\r\n return this.travelEndpoint.getInsurancesEndpoint();\r\n }\r\n\r\n get currentUser() {\r\n return this.authService.currentUser;\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponseBase, HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n public static readonly captionAndMessageSeparator = ':';\r\n public static readonly noNetworkMessageCaption = 'No Network';\r\n public static readonly noNetworkMessageDetail = 'The server cannot be reached';\r\n public static readonly accessDeniedMessageCaption = 'Access Denied!';\r\n public static readonly accessDeniedMessageDetail = '';\r\n public static readonly notFoundMessageCaption = 'Not Found';\r\n public static readonly notFoundMessageDetail = 'The target resource cannot be found';\r\n\r\n public static cookies =\r\n {\r\n getItem: (sKey) => {\r\n return decodeURIComponent(document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\r\n },\r\n setItem: (sKey, sValue, vEnd, sPath, sDomain, bSecure) => {\r\n if (!sKey || /^(?:expires|max\\-age|path|domain|secure)$/i.test(sKey)) {\r\n return false;\r\n }\r\n\r\n let sExpires = '';\r\n\r\n if (vEnd) {\r\n switch (vEnd.constructor) {\r\n case Number:\r\n sExpires = vEnd === Infinity ? '; expires=Fri, 31 Dec 9999 23:59:59 GMT' : '; max-age=' + vEnd;\r\n break;\r\n case String:\r\n sExpires = '; expires=' + vEnd;\r\n break;\r\n case Date:\r\n sExpires = '; expires=' + vEnd.toUTCString();\r\n break;\r\n }\r\n }\r\n\r\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue) + sExpires + (sDomain ? '; domain=' + sDomain : '') + (sPath ? '; path=' + sPath : '') + (bSecure ? '; secure' : '');\r\n return true;\r\n },\r\n removeItem: (sKey, sPath, sDomain) => {\r\n if (!sKey) {\r\n return false;\r\n }\r\n document.cookie = encodeURIComponent(sKey) + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT' + (sDomain ? '; domain=' + sDomain : '') + (sPath ? '; path=' + sPath : '');\r\n return true;\r\n },\r\n hasItem: (sKey) => {\r\n return (new RegExp('(?:^|;\\\\s*)' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=')).test(document.cookie);\r\n },\r\n keys: () => {\r\n const aKeys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, '').split(/\\s*(?:\\=[^;]*)?;\\s*/);\r\n for (let nIdx = 0; nIdx < aKeys.length; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }\r\n return aKeys;\r\n }\r\n };\r\n\r\n public static getHttpResponseMessages(data: HttpResponseBase | any): string[] {\r\n const responses: string[] = [];\r\n\r\n if (data instanceof HttpResponseBase) {\r\n if (this.checkNoNetwork(data)) {\r\n responses.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\r\n } else {\r\n const responseObject = this.getResponseBody(data);\r\n\r\n if (responseObject && (typeof responseObject === 'object' || responseObject instanceof Object)) {\r\n\r\n for (const key in responseObject) {\r\n if (key) {\r\n responses.push(`${key}${this.captionAndMessageSeparator} ${responseObject[key]}`);\r\n } else if (responseObject[key]) {\r\n responses.push(responseObject[key].toString());\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!responses.length) {\r\n if ((data as any).body) {\r\n responses.push(`body: ${(data as any).body}`);\r\n }\r\n\r\n if ((data as any).error) {\r\n responses.push(`error: ${(data as any).error}`);\r\n }\r\n }\r\n }\r\n\r\n if (!responses.length) {\r\n if (this.getResponseBody(data)) {\r\n responses.push(this.getResponseBody(data).toString());\r\n } else {\r\n responses.push(data.toString());\r\n }\r\n }\r\n\r\n if (this.checkAccessDenied(data)) {\r\n responses.splice(0, 0, `${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\r\n }\r\n\r\n if (this.checkNotFound(data)) {\r\n let message = `${this.notFoundMessageCaption}${this.captionAndMessageSeparator} ${this.notFoundMessageDetail}`;\r\n if (data.url) {\r\n message += `. ${data.url}`;\r\n }\r\n\r\n responses.splice(0, 0, message);\r\n }\r\n\r\n return responses;\r\n }\r\n\r\n public static getHttpResponseMessage(data: HttpResponseBase | any): string {\r\n const httpMessage =\r\n Utilities.findHttpResponseMessage(Utilities.noNetworkMessageCaption, data) ||\r\n Utilities.findHttpResponseMessage(Utilities.notFoundMessageCaption, data) ||\r\n Utilities.findHttpResponseMessage('error_description', data) ||\r\n Utilities.findHttpResponseMessage('error', data) ||\r\n Utilities.getHttpResponseMessages(data).join();\r\n\r\n return httpMessage;\r\n }\r\n\r\n public static findHttpResponseMessage(messageToFind: string, data: HttpResponse | any, seachInCaptionOnly = true, includeCaptionInResult = false): string {\r\n const searchString = messageToFind.toLowerCase();\r\n const httpMessages = this.getHttpResponseMessages(data);\r\n\r\n for (const message of httpMessages) {\r\n const fullMessage = Utilities.splitInTwo(message, this.captionAndMessageSeparator);\r\n\r\n if (fullMessage.firstPart && fullMessage.firstPart.toLowerCase().indexOf(searchString) !== -1) {\r\n return includeCaptionInResult ? message : fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n\r\n if (!seachInCaptionOnly) {\r\n for (const message of httpMessages) {\r\n\r\n if (message.toLowerCase().indexOf(searchString) !== -1) {\r\n if (includeCaptionInResult) {\r\n return message;\r\n } else {\r\n const fullMessage = Utilities.splitInTwo(message, this.captionAndMessageSeparator);\r\n return fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static getResponseBody(response: HttpResponseBase) {\r\n if (response instanceof HttpResponse) {\r\n return response.body;\r\n }\r\n\r\n if (response instanceof HttpErrorResponse) {\r\n return response.error || response.message || response.statusText;\r\n }\r\n }\r\n\r\n public static checkNoNetwork(response: HttpResponseBase) {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkAccessDenied(response: HttpResponseBase) {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 403;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkNotFound(response: HttpResponseBase) {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 404;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkIsLocalHost(url: string, base?: string) {\r\n if (url) {\r\n const location = new URL(url, base);\r\n return location.hostname === 'localhost' || location.hostname === '127.0.0.1';\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getQueryParamsFromString(paramString: string) {\r\n if (!paramString) {\r\n return null;\r\n }\r\n\r\n const params: { [key: string]: string } = {};\r\n\r\n for (const param of paramString.split('&')) {\r\n const keyValue = Utilities.splitInTwo(param, '=');\r\n params[keyValue.firstPart] = keyValue.secondPart;\r\n }\r\n\r\n return params;\r\n }\r\n\r\n public static splitInTwo(text: string, separator: string): { firstPart: string, secondPart: string } {\r\n const separatorIndex = text.indexOf(separator);\r\n\r\n if (separatorIndex === -1) {\r\n return { firstPart: text, secondPart: null };\r\n }\r\n\r\n const part1 = text.substr(0, separatorIndex).trim();\r\n const part2 = text.substr(separatorIndex + 1).trim();\r\n\r\n return { firstPart: part1, secondPart: part2 };\r\n }\r\n\r\n public static safeStringify(object) {\r\n\r\n let result: string;\r\n\r\n try {\r\n result = JSON.stringify(object);\r\n return result;\r\n } catch (error) {\r\n\r\n }\r\n\r\n const simpleObject = {};\r\n\r\n for (const prop in object) {\r\n if (!object.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n if (typeof (object[prop]) === 'object') {\r\n continue;\r\n }\r\n if (typeof (object[prop]) === 'function') {\r\n continue;\r\n }\r\n simpleObject[prop] = object[prop];\r\n }\r\n\r\n result = '[***Sanitized Object***]: ' + JSON.stringify(simpleObject);\r\n\r\n return result;\r\n }\r\n\r\n public static JsonTryParse(value: string) {\r\n try {\r\n return JSON.parse(value);\r\n } catch (e) {\r\n if (value === 'undefined') {\r\n return void 0;\r\n }\r\n return value;\r\n }\r\n }\r\n\r\n public static GetObjectWithLoweredPropertyNames(obj: any) {\r\n const loweredObj = Object.keys(obj).reduce((newObj, k) => {\r\n newObj[k.toLowerCase()] = obj[k];\r\n return newObj;\r\n }, {});\r\n\r\n return loweredObj;\r\n }\r\n\r\n public static TestIsObjectEmpty(obj: any) {\r\n for (const prop in obj) {\r\n if (obj.hasOwnProperty(prop)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public static TestIsUndefined(value: any) {\r\n return typeof value === 'undefined';\r\n // return value === undefined;\r\n }\r\n\r\n public static TestIsString(value: any) {\r\n return typeof value === 'string' || value instanceof String;\r\n }\r\n\r\n public static capitalizeFirstLetter(text: string) {\r\n if (text) {\r\n return text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n return text;\r\n }\r\n }\r\n\r\n public static toTitleCase(text: string) {\r\n return text.replace(/\\w\\S*/g, (subString) => {\r\n return subString.charAt(0).toUpperCase() + subString.substr(1).toLowerCase();\r\n });\r\n }\r\n\r\n public static toLowerCase(items: string);\r\n public static toLowerCase(items: string[]);\r\n public static toLowerCase(items: any): string | string[] {\r\n\r\n if (items instanceof Array) {\r\n const loweredRoles: string[] = [];\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n loweredRoles[i] = items[i].toLowerCase();\r\n }\r\n\r\n return loweredRoles;\r\n } else if (typeof items === 'string' || items instanceof String) {\r\n return items.toLowerCase();\r\n }\r\n }\r\n\r\n public static uniqueId() {\r\n return this.randomNumber(1000000, 9000000).toString();\r\n }\r\n\r\n public static randomNumber(min: number, max: number) {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n public static baseUrl() {\r\n let base = '';\r\n\r\n if (window.location.origin) {\r\n base = window.location.origin;\r\n } else {\r\n base = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\r\n }\r\n\r\n return base.replace(/\\/$/, '');\r\n }\r\n\r\n public static printDateOnly(date: Date) {\r\n\r\n date = new Date(date);\r\n\r\n const dayNames = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');\r\n const monthNames = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');\r\n\r\n const dayOfWeek = date.getDay();\r\n const dayOfMonth = date.getDate();\r\n let sup = '';\r\n const month = date.getMonth();\r\n const year = date.getFullYear();\r\n\r\n if (dayOfMonth === 1 || dayOfMonth === 21 || dayOfMonth === 31) {\r\n sup = 'st';\r\n } else if (dayOfMonth === 2 || dayOfMonth === 22) {\r\n sup = 'nd';\r\n } else if (dayOfMonth === 3 || dayOfMonth === 23) {\r\n sup = 'rd';\r\n } else {\r\n sup = 'th';\r\n }\r\n\r\n const dateString = dayNames[dayOfWeek] + ', ' + dayOfMonth + sup + ' ' + monthNames[month] + ' ' + year;\r\n\r\n return dateString;\r\n }\r\n\r\n public static printTimeOnly(date: Date) {\r\n\r\n date = new Date(date);\r\n\r\n let period = '';\r\n let minute = date.getMinutes().toString();\r\n let hour = date.getHours();\r\n\r\n period = hour < 12 ? 'AM' : 'PM';\r\n\r\n if (hour === 0) {\r\n hour = 12;\r\n }\r\n if (hour > 12) {\r\n hour = hour - 12;\r\n }\r\n\r\n if (minute.length === 1) {\r\n minute = '0' + minute;\r\n }\r\n\r\n const timeString = hour + ':' + minute + ' ' + period;\r\n\r\n\r\n return timeString;\r\n }\r\n\r\n public static printDate(date: Date, separator = 'at') {\r\n return `${Utilities.printDateOnly(date)} ${separator} ${Utilities.printTimeOnly(date)}`;\r\n }\r\n\r\n public static printFriendlyDate(date: Date, separator = '-') {\r\n const today = new Date(); today.setHours(0, 0, 0, 0);\r\n const yesterday = new Date(today); yesterday.setDate(yesterday.getDate() - 1);\r\n const test = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n\r\n if (test.toDateString() === today.toDateString()) {\r\n return `Today ${separator} ${Utilities.printTimeOnly(date)}`;\r\n }\r\n if (test.toDateString() === yesterday.toDateString()) {\r\n return `Yesterday ${separator} ${Utilities.printTimeOnly(date)}`;\r\n } else {\r\n return Utilities.printDate(date, separator);\r\n }\r\n }\r\n\r\n public static printShortDate(date: Date, separator = '/', dateTimeSeparator = '-') {\r\n\r\n let day = date.getDate().toString();\r\n let month = (date.getMonth() + 1).toString();\r\n const year = date.getFullYear();\r\n\r\n if (day.length === 1) {\r\n day = '0' + day;\r\n }\r\n\r\n if (month.length === 1) {\r\n month = '0' + month;\r\n }\r\n\r\n return `${month}${separator}${day}${separator}${year} ${dateTimeSeparator} ${Utilities.printTimeOnly(date)}`;\r\n }\r\n\r\n public static parseDate(date) {\r\n\r\n if (date) {\r\n\r\n if (date instanceof Date) {\r\n return date;\r\n }\r\n\r\n if (typeof date === 'string' || date instanceof String) {\r\n if (date.search(/[a-su-z+]/i) === -1) {\r\n date = date + 'Z';\r\n }\r\n\r\n return new Date(date);\r\n }\r\n\r\n if (typeof date === 'number' || date instanceof Number) {\r\n return new Date(date as any);\r\n }\r\n }\r\n }\r\n\r\n public static printDuration(start: Date, end: Date) {\r\n\r\n start = new Date(start);\r\n end = new Date(end);\r\n\r\n // get total seconds between the times\r\n let delta = Math.abs(start.valueOf() - end.valueOf()) / 1000;\r\n\r\n // calculate (and subtract) whole days\r\n const days = Math.floor(delta / 86400);\r\n delta -= days * 86400;\r\n\r\n // calculate (and subtract) whole hours\r\n const hours = Math.floor(delta / 3600) % 24;\r\n delta -= hours * 3600;\r\n\r\n // calculate (and subtract) whole minutes\r\n const minutes = Math.floor(delta / 60) % 60;\r\n delta -= minutes * 60;\r\n\r\n // what's left is seconds\r\n const seconds = delta % 60; // in theory the modulus is not required\r\n\r\n\r\n let printedDays = '';\r\n\r\n if (days) {\r\n printedDays = `${days} days`;\r\n }\r\n\r\n if (hours) {\r\n printedDays += printedDays ? `, ${hours} hours` : `${hours} hours`;\r\n }\r\n\r\n if (minutes) {\r\n printedDays += printedDays ? `, ${minutes} minutes` : `${minutes} minutes`;\r\n }\r\n\r\n if (seconds) {\r\n printedDays += printedDays ? ` and ${seconds} seconds` : `${seconds} seconds`;\r\n }\r\n\r\n\r\n if (!printedDays) {\r\n printedDays = '0';\r\n }\r\n\r\n return printedDays;\r\n }\r\n\r\n public static getAge(birthDate, otherDate) {\r\n birthDate = new Date(birthDate);\r\n otherDate = new Date(otherDate);\r\n\r\n let years = (otherDate.getFullYear() - birthDate.getFullYear());\r\n\r\n if (otherDate.getMonth() < birthDate.getMonth() ||\r\n otherDate.getMonth() === birthDate.getMonth() && otherDate.getDate() < birthDate.getDate()) {\r\n years--;\r\n }\r\n\r\n return years;\r\n }\r\n\r\n public static searchArray(searchTerm: string, caseSensitive: boolean, ...values: any[]) {\r\n if (!searchTerm) {\r\n return true;\r\n }\r\n\r\n let filter = searchTerm.trim();\r\n let data = values.join();\r\n\r\n if (!caseSensitive) {\r\n filter = filter.toLowerCase();\r\n data = data.toLowerCase();\r\n }\r\n\r\n return data.indexOf(filter) !== -1;\r\n }\r\n\r\n public static moveArrayItem(array: any[], oldIndex, newIndex) {\r\n\r\n if (oldIndex < 0) {\r\n return;\r\n }\r\n\r\n if (newIndex < 0) {\r\n newIndex += array.length;\r\n }\r\n\r\n if (newIndex >= array.length) {\r\n let k = newIndex - array.length;\r\n while ((k--) + 1) {\r\n array.push(undefined);\r\n }\r\n }\r\n\r\n array.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\r\n }\r\n\r\n public static expandCamelCase(text: string) {\r\n\r\n if (!text) {\r\n return text;\r\n }\r\n\r\n return text.replace(/([A-Z][a-z]+)/g, ' $1')\r\n .replace(/([A-Z][A-Z]+)/g, ' $1')\r\n .replace(/([^A-Za-z ]+)/g, ' $1');\r\n }\r\n\r\n public static testIsAbsoluteUrl(url: string) {\r\n\r\n const r = new RegExp('^(?:[a-z]+:)?//', 'i');\r\n return r.test(url);\r\n }\r\n\r\n public static convertToAbsoluteUrl(url: string) {\r\n\r\n return Utilities.testIsAbsoluteUrl(url) ? url : '//' + url;\r\n }\r\n\r\n /*\r\n public static removeNulls(obj) {\r\n const isArray = obj instanceof Array;\r\n\r\n for (const k in obj) {\r\n if (!obj.hasOwnProperty(k)) {\r\n continue;\r\n }\r\n\r\n if (obj[k] === null) {\r\n isArray ? obj.splice(k, 1) : delete obj[k];\r\n } else if (typeof obj[k] === 'object') {\r\n Utilities.removeNulls(obj[k]);\r\n }\r\n\r\n if (isArray && obj.length === +k) {\r\n Utilities.removeNulls(obj);\r\n }\r\n }\r\n\r\n return obj;\r\n }\r\n */\r\n\r\n public static debounce(func: (...args) => any, wait: number, immediate?: boolean) {\r\n let timeout;\r\n\r\n return function() {\r\n const context = this;\r\n const args = arguments;\r\n\r\n const later = () => {\r\n timeout = null;\r\n if (!immediate) {\r\n func.apply(context, args);\r\n }\r\n };\r\n\r\n const callNow = immediate && !timeout;\r\n\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n\r\n if (callNow) {\r\n func.apply(context, args);\r\n }\r\n };\r\n }\r\n}\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { RegistrationCertificateService } from '../../services/registration-certificate.service';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\n// Depending on whether rollup is used, moment needs to be imported differently.\r\n// Since Moment.js doesn't have a default export, we normally need to import using the `* as`\r\n// syntax. However, rollup creates a synthetic default module and we thus need to import it using\r\n// the `default as` syntax.\r\nimport * as _moment from 'moment';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport {default as _rollupMoment, Moment} from 'moment';\r\nimport { CatalogService } from 'src/app/services/catalog.service';\r\nimport { CarInsuranceBookingRecord } from 'src/app/models/car-insurance/car-insurance-booking-record.model';\r\nimport { CarInsuranceService } from 'src/app/services/car-insurance.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nconst moment = _rollupMoment || _moment;\r\n\r\n@Component({\r\n selector: 'car-insurance-list',\r\n templateUrl: './car-insurance-list.component.html',\r\n styleUrls: ['./car-insurance-list.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n ],\r\n})\r\n\r\nexport class CarInsuranceListComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n displayedColumns = ['registrationNumber', 'make', 'model', 'insuranceValidFrom', 'actions'];\r\n dataSource: MatTableDataSource;\r\n\r\n loadingIndicator: boolean;\r\n\r\n @Input() insurance: CarInsuranceBookingRecord = new CarInsuranceBookingRecord();\r\n\r\n descriptionCarType: string;\r\n\r\n constructor(\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog,\r\n private registrationCertificateService: RegistrationCertificateService,\r\n private carInsuranceService: CarInsuranceService,\r\n private catalogService: CatalogService,\r\n private formBuilder: UntypedFormBuilder,\r\n private navigationService: NavigationService,\r\n private sanitizer: DomSanitizer) {\r\n\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator._intl.itemsPerPageLabel = this.translationService.getTranslation('PAGINATOR.ITEMS_PER_PAGE');\r\n this.paginator._intl.getRangeLabel = this.sydiRangeLabel;\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n isString(value) {\r\n return typeof value === 'string' || value instanceof String;\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n public downloadInsurance(insurance?: CarInsuranceBookingRecord) {\r\n\r\n var id = insurance.id;\r\n\r\n this.carInsuranceService.downloadPdf(id).subscribe(async (arrayBuffer: ArrayBuffer): Promise => {\r\n\r\n var file = new Blob([arrayBuffer], {type: 'application/pdf'});\r\n var fileURL = URL.createObjectURL(file);\r\n window.open(fileURL, '_blank');\r\n\r\n }, (error: any) => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n private sydiRangeLabel = (page: number, pageSize: number, length: number) => {\r\n\r\n let ofTranlated = this.translationService.getTranslation('PAGINATOR.OF');\r\n if (length == 0 || pageSize == 0) { return `0 ${ofTranlated} ${length}`; }\r\n\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} ${ofTranlated} ${length}`;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n get floatLabels(): string {\r\n return 'always';\r\n }\r\n\r\n private loadData() {\r\n this.loadingIndicator = true;\r\n\r\n this.carInsuranceService.getInsurances()\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n this.dataSource.data = results;\r\n },\r\n error => {\r\n this.loadingIndicator = false;\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\r\n \r\n {{'car-insurances.management.RegistrationNumber' | translate}} \r\n {{row.registrationNumber}} \r\n \r\n\r\n \r\n {{'car-insurances.management.Make' | translate}} \r\n {{row.make}} \r\n \r\n\r\n \r\n {{'car-insurances.management.Model' | translate}} \r\n {{row.model}} \r\n \r\n\r\n \r\n {{'car-insurances.management.ValidFrom' | translate}} \r\n {{row.insuranceValidFrom | shortDate}} \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
\r\n","\r\nimport { Component } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Utilities } from '../../services/utilities';\r\n\r\nexport interface PageInfo {\r\n title: string;\r\n icon: string;\r\n path: string;\r\n isDefault: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-delete-account',\r\n templateUrl: './delete-account.component.html',\r\n styleUrls: ['./delete-account.component.scss']\r\n})\r\n\r\nexport class DeleteAccountComponent {\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n public configurations: ConfigurationService\r\n ) { }\r\n\r\n save() {\r\n this.snackBar.open('Видалити акаунт?', 'Відправлення підтвердження на e-mail', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage('', 'Відправлення підтвердження на e-mail');\r\n\r\n this.accountService.sendDeleteAccountToEmail()\r\n .subscribe(response => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage('Видалення акаунту', 'Підтвердження на e-mail відправлено', MessageSeverity.success);\r\n\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Помилка видалення акаунту', `Помилка при відправленні підтвердження на e-mail.\\r\\nErrors: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n\r\n

{{'deleteaccount.Text' | translate}}

\r\n\r\n
\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { DriverLicenceService } from '../../services/driver-licence.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { DriverLicence } from '../../models/driver-licence.model';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nimport { dateValidator } from 'src/app/shared/validators/equal.validator';\r\n\r\n@Component({\r\n selector: 'driver-licence-list',\r\n templateUrl: './driver-licence-list.component.html',\r\n styleUrls: ['./driver-licence-list.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class DriverLicenceListComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n @ViewChild('driverLicenceNgForm', { static: true }) driverLicenceNgForm: NgForm;\r\n\r\n displayedColumns = ['seria', 'number', 'lastname', 'actions'];\r\n dataSource: MatTableDataSource;\r\n sourceDriverLicence: DriverLicence;\r\n loadingIndicator: boolean;\r\n\r\n public isSaving = false;\r\n isNewDriverLicence = false;\r\n @Input() driverLicence: DriverLicence = new DriverLicence();\r\n @Input() isEditMode = false;\r\n\r\n driverLicenceForm: UntypedFormGroup;\r\n private onDriverLicenceSaved = new Subject();\r\n driverLicenceSaved$ = this.onDriverLicenceSaved.asObservable();\r\n\r\n constructor(\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog,\r\n private driverLicenceService: DriverLicenceService,\r\n private formBuilder: UntypedFormBuilder,\r\n private navigationService: NavigationService) {\r\n\r\n this.buildForm();\r\n\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator._intl.itemsPerPageLabel = this.translationService.getTranslation('PAGINATOR.ITEMS_PER_PAGE');\r\n this.paginator._intl.getRangeLabel = this.sydiRangeLabel;\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.onDriverLicenceSaved.unsubscribe();\r\n }\r\n\r\n get firstname() { return this.driverLicenceForm.get('firstname'); }\r\n\r\n get lastname() { return this.driverLicenceForm.get('lastname'); }\r\n\r\n get middlename() { return this.driverLicenceForm.get('middlename'); }\r\n\r\n get birthday() { return this.driverLicenceForm.get('birthday'); }\r\n\r\n get seria() { return this.driverLicenceForm.get('seria'); }\r\n\r\n get number() { return this.driverLicenceForm.get('number'); }\r\n\r\n get issuer() { return this.driverLicenceForm.get('issuer'); }\r\n\r\n get issued() { return this.driverLicenceForm.get('issued'); }\r\n\r\n get validTo() { return this.driverLicenceForm.get('validTo'); }\r\n\r\n public casePatterns = {\r\n U: {\r\n pattern: new RegExp('[a-zA-ZаАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ]'),\r\n }\r\n };\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n public confirmDelete(driverLicence: DriverLicence) {\r\n\r\n let message = this.translationService.getTranslation('driver-licences.editor.DeleteMessage',\r\n {seria : driverLicence.seria, number : driverLicence.number});\r\n this.snackBar.open( `${message}`,\r\n this.translationService.getTranslation('driver-licences.editor.Yes'),\r\n { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.loadingIndicator = true;\r\n\r\n this.driverLicenceService.deleteDriverLicence(driverLicence.id)\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n\r\n this.dataSource.data = this.dataSource.data.filter((u) => u.id !== driverLicence.id);\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n });\r\n });\r\n }\r\n\r\n public editDriverLicence(driverLicence?: DriverLicence) {\r\n this.isEditMode = true;\r\n\r\n if (!driverLicence) {\r\n this.isNewDriverLicence = true;\r\n this.driverLicence = new DriverLicence();\r\n\r\n const current = new Date();\r\n\r\n // it returns a timestamp\r\n const priorOneDay = new Date().setDate(current.getDate() - 1);\r\n const nextOneYear = new Date().setDate(current.getDate() + 365);\r\n this.driverLicence.issued = new Date(priorOneDay);\r\n this.driverLicence.validTo = new Date(nextOneYear);\r\n this.driverLicence.birthday = new Date();\r\n }\r\n else\r\n {\r\n this.isNewDriverLicence = false;\r\n this.driverLicence = driverLicence;\r\n this.resetDriverLicenceForm();\r\n }\r\n }\r\n\r\n public save() {\r\n\r\n if (!this.driverLicenceNgForm.submitted) {\r\n // Causes validation to update.\r\n this.driverLicenceNgForm.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.driverLicenceForm.valid) {\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n\r\n const editedDriverLicence = this.getEditedDriverLicence();\r\n\r\n if (this.isNewDriverLicence) {\r\n this.driverLicenceService.newDriverLicence(editedDriverLicence).subscribe(\r\n driverLicence => this.newSaveCompleted(driverLicence),\r\n error => this.saveFailed(error));\r\n } else {\r\n this.driverLicenceService.updateDriverLicence(editedDriverLicence).subscribe(\r\n driverLicence => this.saveCompleted(driverLicence),\r\n error => this.saveFailed(error));\r\n }\r\n }\r\n\r\n public cancel() {\r\n this.resetForm(true);\r\n }\r\n\r\n\r\n\r\n private newSaveCompleted(driverLicence?: DriverLicence) {\r\n\r\n this.dataSource.data = [driverLicence, ...this.dataSource.data]; //refresh the dataSource\r\n\r\n if (driverLicence) {\r\n this.driverLicence = driverLicence;\r\n }\r\n\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n\r\n this.resetForm(true);\r\n\r\n this.onDriverLicenceSaved.next(this.driverLicence);\r\n }\r\n\r\n private saveCompleted(driverLicence?: DriverLicence) {\r\n\r\n this.dataSource.data = this.dataSource.data.filter((item, key)=>{\r\n if(item.id == driverLicence.id)\r\n {\r\n item.firstname = driverLicence.firstname;\r\n item.lastname = driverLicence.lastname;\r\n item.middlename = driverLicence.middlename;\r\n item.birthday = driverLicence.birthday;\r\n item.seria = driverLicence.seria;\r\n item.number = driverLicence.number;\r\n item.issuer = driverLicence.issuer;\r\n item.issued = driverLicence.issued;\r\n item.validTo = driverLicence.validTo;\r\n }\r\n return true;\r\n });\r\n\r\n if (driverLicence) {\r\n this.driverLicence = driverLicence;\r\n }\r\n\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n\r\n this.resetForm(true);\r\n\r\n this.onDriverLicenceSaved.next(this.driverLicence);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n }\r\n\r\n private buildForm() {\r\n\r\n let dateRegex = new RegExp(\"^\\\\d{1,2}.\\\\d{1,2}.\\\\d{4,4}$\");\r\n\r\n this.driverLicenceForm = this.formBuilder.group({\r\n firstname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,40}$\")]],\r\n lastname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,200}$\")]],\r\n middlename: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{1,200}$\")]],\r\n birthday: ['', [Validators.required, dateValidator(dateRegex)]],\r\n seria: ['', [Validators.required,\r\n Validators.pattern(\"^[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЮЯЇІЄҐ]{3,3}$\")]],\r\n number: ['', [Validators.required, Validators.pattern(\"^[0-9]{6,6}$\")]],\r\n issuer: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{4,200}$\")]],\r\n issued: ['', [Validators.required, dateValidator(dateRegex)]],\r\n validTo: [null],\r\n });\r\n }\r\n\r\n public resetForm(stopEditing = false) {\r\n if (stopEditing) {\r\n this.isEditMode = false;\r\n }\r\n\r\n this.driverLicence = new DriverLicence();\r\n\r\n this.resetDriverLicenceForm();\r\n }\r\n\r\n private resetDriverLicenceForm()\r\n {\r\n\r\n this.driverLicenceForm.reset({\r\n firstname: this.driverLicence.firstname || '',\r\n lastname: this.driverLicence.lastname || '',\r\n middlename: this.driverLicence.middlename || '',\r\n birthday: this.driverLicence.birthday || '',\r\n seria: this.driverLicence.seria || '',\r\n number: this.driverLicence.number || '',\r\n issuer: this.driverLicence.issuer || '',\r\n issued: this.driverLicence.issued || '',\r\n validTo: this.driverLicence.validTo,\r\n });\r\n }\r\n\r\n\r\n private getEditedDriverLicence(): DriverLicence {\r\n const formModel = this.driverLicenceForm.value;\r\n\r\n return {\r\n id: this.driverLicence.id,\r\n firstname: formModel.firstname,\r\n lastname: formModel.lastname,\r\n middlename: formModel.middlename,\r\n\r\n applicationUserId: this.driverLicenceService.currentUser.id,\r\n\r\n birthday: formModel.birthday,\r\n seria: formModel.seria,\r\n number: formModel.number,\r\n issuer: formModel.issuer,\r\n issued: formModel.issued,\r\n validTo: formModel.validTo,\r\n\r\n createdBy: this.driverLicence.createdBy,\r\n createdDate: this.driverLicence.createdDate,\r\n updatedBy: this.driverLicence.updatedBy,\r\n updatedDate: this.driverLicence.updatedDate\r\n };\r\n }\r\n\r\n private sydiRangeLabel = (page: number, pageSize: number, length: number) => {\r\n\r\n let ofTranlated = this.translationService.getTranslation('PAGINATOR.OF');\r\n if (length == 0 || pageSize == 0) { return `0 ${ofTranlated} ${length}`; }\r\n\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} ${ofTranlated} ${length}`;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n private loadData() {\r\n this.loadingIndicator = true;\r\n\r\n this.driverLicenceService.getDriverLicences()\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n this.dataSource.data = results;\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n {{'driver-licences.editor.Firstname' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.FirstnameRequired' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.FirstnameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'driver-licences.editor.Lastname' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.LastnameRequired' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.LastnameRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'driver-licences.editor.Middlename' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.MiddlenameRequired' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.MiddlenameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'driver-licences.editor.Birthday' | translate}}\r\n\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'driver-licences.editor.BirthdayRequired' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.BirthdayRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'driver-licences.editor.Seria' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.SeriaRequired' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.SeriaRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'driver-licences.editor.Number' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.NumberRequired' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.NumberRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'driver-licences.editor.Issuer' | translate}}\r\n \r\n\r\n \r\n {{'driver-licences.editor.IssuerRequired' | translate}}\r\n \r\n\r\n \r\n {{'driver-licences.editor.IssuerRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'driver-licences.editor.Issued' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'driver-licences.editor.IssuedRequired' | translate}}\r\n \r\n \r\n {{'driver-licences.editor.IssuedRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'driver-licences.editor.ValidTo' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'driver-licences.editor.ValidToRequired' | translate}}\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 \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n {{'driver-licences.management.Seria' | translate}} \r\n {{row.seria}} \r\n \r\n\r\n \r\n {{'driver-licences.management.Number' | translate}} \r\n {{row.number}} \r\n \r\n\r\n \r\n {{'driver-licences.management.Lastname' | translate}} \r\n {{row.lastname}} \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 \r\n
\r\n
\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Input, OnDestroy, ElementRef } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { PassportService } from '../../services/passport.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { Passport } from '../../models/passport.model';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators, FormControl } from '@angular/forms';\r\nimport { debounceTime, distinctUntilChanged, filter, finalize, Subject, switchMap, tap } from 'rxjs';\r\nimport { City } from 'src/app/models/city.model';\r\nimport { CatalogService } from 'src/app/services/catalog.service';\r\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport * as _moment from 'moment';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport {default as _rollupMoment, Moment} from 'moment';\r\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\r\nimport { dateValidator } from 'src/app/shared/validators/equal.validator';\r\n\r\nconst moment = _rollupMoment || _moment;\r\n\r\n@Component({\r\n selector: 'passport-list',\r\n templateUrl: './passport-list.component.html',\r\n styleUrls: ['./passport-list.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n {provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\r\n ],\r\n})\r\n\r\nexport class PassportListComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n @ViewChild('passportNgForm', { static: true }) passportNgForm: NgForm;\r\n\r\n displayedColumns = ['seria', 'number', 'lastname', 'actions'];\r\n dataSource: MatTableDataSource;\r\n sourcePassport: Passport;\r\n loadingIndicator: boolean;\r\n\r\n public isSaving = false;\r\n isNewPassport = false;\r\n isChecked = false;\r\n\r\n @Input() passport: Passport = new Passport();\r\n @Input() isEditMode = false;\r\n\r\n passportForm: UntypedFormGroup;\r\n private onPassportSaved = new Subject();\r\n passportSaved$ = this.onPassportSaved.asObservable();\r\n\r\n filteredCities: City[] =\r\n [{id: '8000000000', town: 'М.КИЇВ', region: '',mainRegion:'', friendlyName:''},\r\n {id: '6310100000', town: 'ХАРКІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1210100000', town: 'ДНІПРО' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '4610100000', town: 'ЛЬВІВ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '5310100000', town: 'ПОЛТАВА' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0510100000', town: 'ВІННИЦЯ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '1410100000', town: 'ДОНЕЦЬК' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '0110100000', town: 'СІМФЕРОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n {id: '8500000000', town: 'М.СЕВАСТОПОЛЬ' , region: '',mainRegion:'', friendlyName:''},\r\n ];\r\n\r\n isLoadingCity = false;\r\n minLengthTerm = 3;\r\n selectedCity: City = null;\r\n isValidSelectedCity = false;\r\n\r\n private optionalRegexPrefix = \"^$|\";\r\n\r\n constructor(\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog,\r\n private passportService: PassportService,\r\n private formBuilder: UntypedFormBuilder,\r\n private catalogService: CatalogService,\r\n private navigationService: NavigationService) {\r\n\r\n this.buildForm();\r\n\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n\r\n this.bindSearchCity();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator._intl.itemsPerPageLabel = this.translationService.getTranslation('PAGINATOR.ITEMS_PER_PAGE');\r\n this.paginator._intl.getRangeLabel = this.sydiRangeLabel;\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.onPassportSaved.unsubscribe();\r\n }\r\n\r\n get firstname() { return this.passportForm.get('firstname'); }\r\n\r\n get lastname() { return this.passportForm.get('lastname'); }\r\n\r\n get middlename() { return this.passportForm.get('middlename'); }\r\n\r\n get birthday() { return this.passportForm.get('birthday'); }\r\n\r\n get seria() { return this.passportForm.get('seria'); }\r\n\r\n get number() { return this.passportForm.get('number'); }\r\n\r\n get issuer() { return this.passportForm.get('issuer'); }\r\n\r\n get issued() { return this.passportForm.get('issued'); }\r\n\r\n get validTo() { return this.passportForm.get('validTo'); }\r\n\r\n get isIdCard() { return this.passportForm.get('isIdCard'); }\r\n\r\n get street() { return this.passportForm.get('street'); }\r\n\r\n get houseNumber() { return this.passportForm.get('houseNumber'); }\r\n\r\n get apartmentNumber() { return this.passportForm.get('apartmentNumber'); }\r\n\r\n get searchCity() { return this.passportForm.get('searchCity'); }\r\n\r\n get cityName() { return this.passportForm.get('cityName'); }\r\n\r\n get cityKoatuuId() { return this.passportForm.get('cityKoatuuId'); }\r\n\r\n public casePatterns = {\r\n U: {\r\n pattern: new RegExp('[a-zA-ZаАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ]'),\r\n }\r\n };\r\n\r\n bindSearchCity() {\r\n this.searchCity.valueChanges\r\n .pipe(\r\n filter(res => {\r\n return res !== null && res.length >= this.minLengthTerm\r\n }),\r\n distinctUntilChanged(),\r\n debounceTime(1000),\r\n tap(() => {\r\n this.filteredCities = [];\r\n this.isLoadingCity = true;\r\n }),\r\n switchMap(value => this.catalogService.getCities(value)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoadingCity = false\r\n }),\r\n )\r\n )\r\n )\r\n .subscribe((data: any) => {\r\n this.filteredCities = data;\r\n\r\n console.log(this.filteredCities);\r\n });\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n public toggle(event: MatSlideToggleChange) {\r\n console.log('toggle', event.checked);\r\n\r\n this.isChecked = event.checked;\r\n this.updateSeriaNumber();\r\n\r\n }\r\n\r\n private updateSeriaNumber()\r\n {\r\n const seriaControl = this.passportForm.controls.seria;\r\n const numberControl = this.passportForm.controls.number;\r\n\r\n if(this.isChecked) {\r\n seriaControl.disable();\r\n } else {\r\n seriaControl.enable();\r\n }\r\n\r\n if(!this.isChecked && numberControl.value != null) {\r\n var strshortened = numberControl.value.slice(0,6);\r\n numberControl.setValue(strshortened);\r\n }\r\n\r\n var numberValidators = this.isChecked\r\n ? [Validators.required, Validators.pattern(\"^[0-9]{9,9}$\")]\r\n : [Validators.required, Validators.pattern(\"^[0-9]{6,6}$\")];\r\n var seriaValidators = this.isChecked\r\n ? null\r\n : [Validators.required, Validators.pattern(\"^[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЮЯЇІЄҐ]{2,2}$\")];\r\n\r\n numberControl.setValidators(numberValidators);\r\n seriaControl.setValidators(seriaValidators);\r\n\r\n seriaControl.updateValueAndValidity();\r\n numberControl.updateValueAndValidity();\r\n }\r\n\r\n public confirmDelete(passport: Passport) {\r\n\r\n let message = this.translationService.getTranslation('passports.editor.DeleteMessage',\r\n {seria : passport.seria, number : passport.number});\r\n this.snackBar.open( `${message}`,\r\n this.translationService.getTranslation('passports.editor.Yes'),\r\n { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.loadingIndicator = true;\r\n\r\n this.passportService.deletePassport(passport.id)\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n\r\n this.dataSource.data = this.dataSource.data.filter((u) => u.id !== passport.id);\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n });\r\n });\r\n }\r\n\r\n public editPassport(passport?: Passport) {\r\n this.isEditMode = true;\r\n\r\n if (!passport) {\r\n this.isNewPassport = true;\r\n this.passport = new Passport();\r\n this.isChecked = false;\r\n this.updateSeriaNumber();\r\n\r\n const current = new Date();\r\n\r\n // it returns a timestamp\r\n const priorOneDay = new Date().setDate(current.getDate() - 1);\r\n const nextOneYear = new Date().setDate(current.getDate() + 365);\r\n this.passport.issued = new Date(priorOneDay);\r\n this.passport.validTo = new Date(nextOneYear);\r\n this.passport.birthday = new Date();\r\n this.selectedCity = new City();\r\n this.searchCity.setValue('');\r\n }\r\n else\r\n {\r\n this.isChecked = passport.isIdCard;\r\n\r\n this.updateSeriaNumber();\r\n this.isNewPassport = false;\r\n this.selectedCity = new City(passport.cityKoatuuId, passport.cityName);\r\n\r\n this.cityKoatuuId.setValue(this.selectedCity.id);\r\n this.cityName.setValue(this.selectedCity.town);\r\n this.searchCity.setValue(this.selectedCity.town);\r\n\r\n this.isValidSelectedCity = true;\r\n this.passport = passport;\r\n this.resetPassportForm();\r\n }\r\n\r\n }\r\n\r\n public save() {\r\n\r\n if (!this.passportNgForm.submitted) {\r\n // Causes validation to update.\r\n this.passportNgForm.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.passportForm.valid) {\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n\r\n const editedPassport = this.getEditedPassport();\r\n\r\n if (this.isNewPassport) {\r\n this.passportService.newPassport(editedPassport).subscribe(\r\n driverLicence => this.newSaveCompleted(driverLicence),\r\n error => this.saveFailed(error));\r\n } else {\r\n this.passportService.updatePassport(editedPassport).subscribe(\r\n driverLicence => this.saveCompleted(driverLicence),\r\n error => this.saveFailed(error));\r\n }\r\n }\r\n\r\n public cancel() {\r\n this.resetForm(true);\r\n }\r\n\r\n private newSaveCompleted(passport?: Passport) {\r\n\r\n this.dataSource.data = [passport, ...this.dataSource.data]; //refresh the dataSource\r\n\r\n if (passport) {\r\n this.passport = passport;\r\n }\r\n\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n\r\n this.resetForm(true);\r\n\r\n this.onPassportSaved.next(this.passport);\r\n }\r\n\r\n private saveCompleted(passport?: Passport) {\r\n\r\n this.dataSource.data = this.dataSource.data.filter((item, key)=>{\r\n if(item.id == passport.id)\r\n {\r\n item.firstname = passport.firstname;\r\n item.lastname = passport.lastname;\r\n item.middlename = passport.middlename;\r\n item.birthday = passport.birthday;\r\n item.seria = passport.seria;\r\n item.number = passport.number;\r\n item.issuer = passport.issuer;\r\n item.issued = passport.issued;\r\n item.validTo = passport.validTo;\r\n item.isIdCard = passport.isIdCard;\r\n item.street = passport.street;\r\n item.houseNumber = passport.houseNumber;\r\n item.apartmentNumber = passport.apartmentNumber;\r\n item.cityKoatuuId = passport.cityKoatuuId;\r\n item.cityName = passport.cityName;\r\n }\r\n return true;\r\n });\r\n\r\n if (passport) {\r\n this.passport = passport;\r\n }\r\n\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n\r\n this.resetForm(true);\r\n\r\n this.onPassportSaved.next(this.passport);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n }\r\n\r\n private buildForm() {\r\n\r\n let dateRegex = new RegExp(\"^\\\\d{1,2}.\\\\d{1,2}.\\\\d{4,4}$\");\r\n\r\n var numberValidators = this.isChecked\r\n ? [Validators.required, Validators.pattern(\"^[0-9]{9,9}$\")]\r\n : [Validators.required, Validators.pattern(\"^[0-9]{6,6}$\")];\r\n var seriaValidators = this.isChecked\r\n ? null\r\n : [Validators.required, Validators.pattern(\"^[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЮЯЇІЄҐ]{2,2}$\")];\r\n\r\n this.passportForm = this.formBuilder.group({\r\n firstname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,40}$\")]],\r\n lastname: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{2,200}$\")]],\r\n middlename: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\']{1,200}$\")]],\r\n birthday: ['', [Validators.required, dateValidator(dateRegex)]],\r\n seria: ['', seriaValidators],\r\n number: ['', numberValidators],\r\n issuer: ['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{4,200}$\")]],\r\n issued: ['', [Validators.required, dateValidator(dateRegex)]],\r\n validTo: [null],\r\n isIdCard: false,\r\n street:['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{2,100}$\")]],\r\n houseNumber:['', [Validators.required,\r\n Validators.pattern(\"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{1,20}$\")]],\r\n apartmentNumber:['', [\r\n Validators.pattern(this.optionalRegexPrefix + \"^[аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ1234567890\\.\\,\\'\\/\\ ]{1,20}$\")]],\r\n searchCity:['', Validators.required],\r\n cityName:'',\r\n cityKoatuuId:''\r\n });\r\n }\r\n\r\n public resetForm(stopEditing = false) {\r\n if (stopEditing) {\r\n this.isEditMode = false;\r\n }\r\n\r\n this.passport = new Passport();\r\n\r\n this.resetPassportForm();\r\n }\r\n\r\n public clearCitySelection() {\r\n this.selectedCity = null;\r\n this.cityKoatuuId.setValue('');\r\n this.cityName.setValue('');\r\n this.searchCity.setValue('');\r\n this.filteredCities = [];\r\n }\r\n\r\n onSelectedCity() {\r\n console.log(this.selectedCity);\r\n this.selectedCity = this.selectedCity;\r\n\r\n this.cityKoatuuId.setValue(this.selectedCity.id);\r\n this.cityName.setValue(this.selectedCity.town);\r\n this.searchCity.setValue(this.selectedCity.town);\r\n\r\n if(this.selectedCity != null)\r\n this.isValidSelectedCity = true;\r\n else\r\n this.isValidSelectedCity = false;\r\n }\r\n\r\n displayWith(value: City) {\r\n return value?.town;\r\n }\r\n\r\n private resetPassportForm()\r\n {\r\n\r\n this.passportForm.reset({\r\n firstname: this.passport.firstname || '',\r\n lastname: this.passport.lastname || '',\r\n middlename: this.passport.middlename || '',\r\n birthday: this.passport.birthday || '',\r\n seria: this.passport.seria || '',\r\n number: this.passport.number || '',\r\n issuer: this.passport.issuer || '',\r\n issued: this.passport.issued || '',\r\n validTo: this.passport.validTo,\r\n isIdCard: this.passport.isIdCard,\r\n street: this.passport.street || '',\r\n houseNumber: this.passport.houseNumber || '',\r\n apartmentNumber: this.passport.apartmentNumber || '',\r\n cityKoatuuId: this.passport.cityKoatuuId || '',\r\n cityName: this.passport.cityName || '',\r\n searchCity: this.passport.cityName || ''\r\n });\r\n }\r\n\r\n\r\n private getEditedPassport(): Passport {\r\n const formModel = this.passportForm.value;\r\n\r\n return {\r\n id: this.passport.id,\r\n firstname: formModel.firstname,\r\n lastname: formModel.lastname,\r\n middlename: formModel.middlename,\r\n\r\n applicationUserId: this.passportService.currentUser.id,\r\n\r\n birthday: formModel.birthday,\r\n seria: formModel.seria,\r\n number: formModel.number,\r\n issuer: formModel.issuer,\r\n issued: formModel.issued,\r\n validTo: formModel.validTo,\r\n\r\n isIdCard: formModel.isIdCard,\r\n street: formModel.street,\r\n houseNumber: formModel.houseNumber,\r\n apartmentNumber: formModel.apartmentNumber,\r\n\r\n cityKoatuuId: formModel.cityKoatuuId,\r\n cityName: formModel.cityName,\r\n\r\n birthPlace: this.passport.birthPlace,\r\n nationality: this.passport.nationality,\r\n sex: this.passport.sex,\r\n recordNumber: this.passport.recordNumber,\r\n\r\n createdBy: this.passport.createdBy,\r\n createdDate: this.passport.createdDate,\r\n updatedBy: this.passport.updatedBy,\r\n updatedDate: this.passport.updatedDate\r\n };\r\n }\r\n\r\n private sydiRangeLabel = (page: number, pageSize: number, length: number) => {\r\n\r\n let ofTranlated = this.translationService.getTranslation('PAGINATOR.OF');\r\n if (length == 0 || pageSize == 0) { return `0 ${ofTranlated} ${length}`; }\r\n\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} ${ofTranlated} ${length}`;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n private loadData() {\r\n this.loadingIndicator = true;\r\n\r\n this.passportService.getPassports()\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n this.dataSource.data = results;\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n {{'passports.editor.Firstname' | translate}}\r\n \r\n \r\n {{'passports.editor.FirstnameRequired' | translate}}\r\n \r\n \r\n {{'passports.editor.FirstnameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'passports.editor.Lastname' | translate}}\r\n \r\n \r\n {{'passports.editor.LastnameRequired' | translate}}\r\n \r\n \r\n {{'passports.editor.LastnameRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'passports.editor.Middlename' | translate}}\r\n \r\n \r\n {{'passports.editor.MiddlenameRequired' | translate}}\r\n \r\n \r\n {{'passports.editor.MiddlenameRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'passports.editor.Birthday' | translate}}\r\n\r\n \r\n\r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'passports.editor.BirthdayRequired' | translate}}\r\n \r\n \r\n {{'passports.editor.BirthdayRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'passports.editor.IsIdCard' | translate}} {{'passports.editor.IsIdCardDescription' | translate}}\r\n \r\n \r\n\r\n \r\n {{'passports.editor.Seria' | translate}}\r\n\r\n \r\n\r\n \r\n {{'passports.editor.SeriaRequired' | translate}}\r\n \r\n \r\n {{'passports.editor.SeriaRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'passports.editor.Number' | translate}}\r\n \r\n\r\n \r\n \r\n {{'passports.editor.NumberRequired' | translate}}\r\n \r\n \r\n {{'passports.editor.NumberRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{'passports.editor.Issuer' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.IssuerRequired' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.IssuerRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'passports.editor.RegistrationPlace' | translate}}\r\n \r\n \r\n\r\n {{'passports.editor.RegistrationPlaceRequired' | translate}}\r\n\r\n \r\n {{'passports.editor.RegistrationPlaceLoading' | translate}}\r\n \r\n \r\n {{city.town}} {{city.region}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {{'passports.editor.Street' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.StreetRequired' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.StreetRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'passports.editor.HouseNumber' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.HouseNumberRequired' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.HouseNumberRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'passports.editor.ApartmentNumber' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.ApartmentNumberRequired' | translate}}\r\n \r\n\r\n \r\n {{'passports.editor.ApartmentNumberRegex' | translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'passports.editor.Issued' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'passports.editor.IssuedRequired' | translate}}\r\n \r\n \r\n {{'passports.editor.IssuedRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'passports.editor.ValidTo' | translate}}\r\n \r\n день.місяць.рік\r\n \r\n \r\n\r\n \r\n {{'passports.editor.ValidToRequired' | translate}}\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 \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n {{'passports.management.Seria' | translate}} \r\n {{row.seria}} \r\n \r\n\r\n \r\n {{'passports.management.Number' | translate}} \r\n {{row.number}} \r\n \r\n\r\n \r\n {{'passports.management.Lastname' | translate}} \r\n {{row.lastname}} \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 \r\n
\r\n
\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatDatepicker} from '@angular/material/datepicker';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { RegistrationCertificateService } from '../../services/registration-certificate.service';\r\nimport { Utilities } from '../../services/utilities';\r\nimport { RegistrationCertificate } from '../../models/registration-certificate.model';\r\nimport { NavigationService } from 'src/app/services/navigation.service';\r\nimport { UntypedFormBuilder, UntypedFormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { debounceTime, tap, switchMap, finalize, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\n// Depending on whether rollup is used, moment needs to be imported differently.\r\n// Since Moment.js doesn't have a default export, we normally need to import using the `* as`\r\n// syntax. However, rollup creates a synthetic default module and we thus need to import it using\r\n// the `default as` syntax.\r\nimport * as _moment from 'moment';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport {default as _rollupMoment, Moment} from 'moment';\r\nimport { CarTypeModel } from 'src/app/models/cartype.model';\r\nimport { CarTypePropertyModel } from 'src/app/models/cartypeproperty.model';\r\nimport { CarTypeService } from 'src/app/services/cartype.service';\r\nimport { CatalogService } from 'src/app/services/catalog.service';\r\nimport { CarType } from 'src/app/models/CarType';\r\nimport { CarTypeProperty } from 'src/app/models/CarTypeProperty';\r\nimport { CarBrandView } from 'src/app/models/carbrandview.model';\r\nimport { CarModelView } from 'src/app/models/carmodelview.model';\r\nimport { City } from 'src/app/models/city.model';\r\n\r\nconst moment = _rollupMoment || _moment;\r\n\r\n\r\n@Component({\r\n selector: 'registration-certificate-list',\r\n templateUrl: './registration-certificate-list.component.html',\r\n styleUrls: ['./registration-certificate-list.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n ],\r\n})\r\n\r\nexport class RegistrationCertificateListComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n @ViewChild('registrationCertificateNgForm', { static: true }) registrationCertificateNgForm: NgForm;\r\n\r\n displayedColumns = ['registrationNumber', 'make', 'model', 'actions'];\r\n dataSource: MatTableDataSource;\r\n sourceRegistrationCertificate: RegistrationCertificate;\r\n loadingIndicator: boolean;\r\n\r\n public isSaving = false;\r\n public isLoadingMarks = false;\r\n\r\n isNewRegistrationCertificate = false;\r\n @Input() registrationCertificate: RegistrationCertificate = new RegistrationCertificate();\r\n @Input() isEditMode = false;\r\n\r\n registrationCertificateForm: UntypedFormGroup;\r\n private onRegistrationCertificateSaved = new Subject();\r\n registrationCertificateSaved$ = this.onRegistrationCertificateSaved.asObservable();\r\n\r\n descriptionCarType: string;\r\n\r\n selectedCarType: CarTypeModel = new CarTypeModel();\r\n selectedCarTypeProperty: CarTypePropertyModel = new CarTypePropertyModel();\r\n\r\n carTypes: CarTypeModel[];\r\n carTypePropertities: CarTypePropertyModel[];\r\n carBrands: CarBrandView[];\r\n\r\n filteredCarBrands: CarBrandView[];\r\n filteredCarModels: CarModelView[];\r\n\r\n selectedCarBrand: CarBrandView = new CarBrandView();\r\n selectedCarModel: CarModelView = new CarModelView();\r\n\r\n defaultFilteredCities: City[] =\r\n [{id: '8000000000', town: 'М.КИЇВ', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '6310100000', town: 'ХАРКІВ', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '1210100000', town: 'ДНІПРО', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '4610100000', town: 'ЛЬВІВ', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '5310100000', town: 'ПОЛТАВА', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '0510100000', town: 'ВІННИЦЯ', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '1410100000', town: 'ДОНЕЦЬК', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '0110100000', town: 'СІМФЕРОПОЛЬ', region: '', mainRegion:'', friendlyName:'' },\r\n {id: '8500000000', town: 'М.СЕВАСТОПОЛЬ', region: '', mainRegion:'', friendlyName:'' },\r\n ];\r\n\r\n filteredCities: City[] = this.defaultFilteredCities;\r\n\r\n isLoadingCity = false;\r\n minLengthCity = 3;\r\n selectedCity: City = null;\r\n isValidSelectedCity = false;\r\n\r\n constructor(\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n private dialog: MatDialog,\r\n private registrationCertificateService: RegistrationCertificateService,\r\n private carTypeService: CarTypeService,\r\n private catalogService: CatalogService,\r\n private formBuilder: UntypedFormBuilder,\r\n private navigationService: NavigationService) {\r\n\r\n this.buildForm();\r\n\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n\r\n this.carTypes = this.carTypeService.getCarTypes();\r\n if(this.carTypes.length > 0)\r\n this.selectedCarType = this.carTypes[0];\r\n\r\n this.carTypePropertities = this.carTypeService.getCarTypeProperties().filter((item) => item.CarTypeId == this.selectedCarType.Id);\r\n if(this.carTypePropertities.length > 0)\r\n this.selectedCarTypeProperty = this.carTypePropertities[0];\r\n\r\n this.descriptionCarType = this.selectedCarType.Description;\r\n this.carTypeId.setValue(this.selectedCarType.Id);\r\n this.carTypePropertyId.setValue(this.selectedCarTypeProperty.Id);\r\n\r\n this.searchCity.valueChanges\r\n .pipe(\r\n filter(res => {\r\n return res !== null && res.length >= this.minLengthCity\r\n }),\r\n distinctUntilChanged(),\r\n debounceTime(1000),\r\n tap(() => {\r\n this.filteredCities = [];\r\n this.isLoadingCity = true;\r\n }),\r\n switchMap(value => this.catalogService.getCities(value)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoadingCity = false\r\n }),\r\n )\r\n )\r\n )\r\n .subscribe((data: any) => {\r\n this.filteredCities = data;\r\n\r\n console.log(this.filteredCities);\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator._intl.itemsPerPageLabel = this.translationService.getTranslation('PAGINATOR.ITEMS_PER_PAGE');\r\n this.paginator._intl.getRangeLabel = this.sydiRangeLabel;\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.onRegistrationCertificateSaved.unsubscribe();\r\n }\r\n\r\n isString(value) {\r\n return typeof value === 'string' || value instanceof String;\r\n }\r\n\r\n get registrationNumber() { return this.registrationCertificateForm.get('registrationNumber'); }\r\n\r\n get make() { return this.registrationCertificateForm.get('make'); }\r\n\r\n get model() { return this.registrationCertificateForm.get('model'); }\r\n\r\n get manufactureYear() { return this.registrationCertificateForm.get('manufactureYear'); }\r\n\r\n get carTypeId() { return this.registrationCertificateForm.get('carTypeId'); }\r\n\r\n get carTypePropertyId() { return this.registrationCertificateForm.get('carTypePropertyId'); }\r\n\r\n get vehicleIdentificationNumber() { return this.registrationCertificateForm.get('vehicleIdentificationNumber'); }\r\n\r\n get searchCity() { return this.registrationCertificateForm.get('searchCity'); }\r\n\r\n get cityName() { return this.registrationCertificateForm.get('cityName'); }\r\n\r\n get cityKoatuuId() { return this.registrationCertificateForm.get('cityKoatuuId'); }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n public confirmDelete(registrationCertificate: RegistrationCertificate) {\r\n\r\n let message = this.translationService.getTranslation('registration-certificates.editor.DeleteMessage',\r\n {make : registrationCertificate.make, model : registrationCertificate.model});\r\n this.snackBar.open( `${message}`,\r\n this.translationService.getTranslation('registration-certificates.editor.Yes'),\r\n { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.loadingIndicator = true;\r\n\r\n this.registrationCertificateService.deleteRegistrationCertificate(registrationCertificate.id)\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n\r\n this.dataSource.data = this.dataSource.data.filter((u) => u.id !== registrationCertificate.id);\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n });\r\n });\r\n }\r\n\r\n public editRegistrationCertificate(registrationCertificate?: RegistrationCertificate) {\r\n this.isEditMode = true;\r\n\r\n if (!registrationCertificate) {\r\n this.isNewRegistrationCertificate = true;\r\n this.registrationCertificate = new RegistrationCertificate();\r\n this.registrationCertificate.manufactureYear = new Date();\r\n this.registrationCertificate.carTypeId = 1;\r\n this.registrationCertificate.carTypePropertyId = 1;\r\n this.selectedCity = new City();\r\n this.searchCity.setValue('');\r\n }\r\n else\r\n {\r\n this.isNewRegistrationCertificate = false;\r\n this.registrationCertificate = registrationCertificate;\r\n this.selectedCity = new City(registrationCertificate.cityKoatuuId, registrationCertificate.cityName);\r\n this.isValidSelectedCity = true;\r\n this.searchCity.setValue(this.registrationCertificate.cityName);\r\n }\r\n\r\n this.carTypeId.setValue(this.registrationCertificate.carTypeId);\r\n this.carTypePropertyId.setValue(this.registrationCertificate.carTypePropertyId);\r\n this.buildForm();\r\n this.onCarTypeChange(this.carTypeId);\r\n this.onCarTypePropertyChange(this.carTypePropertyId);\r\n\r\n this.make.valueChanges\r\n .subscribe(selectedValue => {\r\n\r\n let searchValue = selectedValue;\r\n\r\n if(searchValue !== null && searchValue.length >= 1) {\r\n this.filteredCarBrands = this.carBrands.filter(x => x.name?.toLowerCase().includes(searchValue?.toLowerCase()));\r\n } else {\r\n this.filteredCarBrands = this.carBrands;\r\n }\r\n\r\n console.log(this.filteredCarBrands);\r\n });\r\n\r\n this.model.valueChanges\r\n .subscribe(selectedValue => {\r\n\r\n let searchValue = selectedValue;\r\n\r\n let make = this.make.value;\r\n let makeId = this.carBrands?.findIndex(x => x.name === make);\r\n if(makeId >= 0) {\r\n if(searchValue !== null && searchValue.length >= 1) {\r\n this.filteredCarModels = this.carBrands[makeId].carModels?.filter(x => x.name?.toLowerCase().includes(searchValue?.toLowerCase()));\r\n } else {\r\n this.filteredCarModels = this.carBrands[makeId].carModels;\r\n }\r\n }\r\n console.log(this.filteredCarModels);\r\n });\r\n\r\n this.searchCity.valueChanges\r\n .pipe(\r\n filter(res => {\r\n return res !== null && res.length >= this.minLengthCity\r\n }),\r\n distinctUntilChanged(),\r\n debounceTime(1000),\r\n tap(() => {\r\n this.filteredCities = [];\r\n this.isLoadingCity = true;\r\n }),\r\n switchMap(value => this.catalogService.getCities(value)\r\n .pipe(\r\n finalize(() => {\r\n this.isLoadingCity = false\r\n }),\r\n )\r\n )\r\n )\r\n .subscribe((data: any) => {\r\n this.filteredCities = data;\r\n\r\n console.log(this.filteredCities);\r\n });\r\n }\r\n\r\n public save() {\r\n\r\n if (!this.registrationCertificateNgForm.submitted) {\r\n // Causes validation to update.\r\n this.registrationCertificateNgForm.onSubmit(null);\r\n return;\r\n }\r\n\r\n if (!this.registrationCertificateForm.valid) {\r\n return;\r\n }\r\n\r\n this.isSaving = true;\r\n\r\n const editedRegistrationCertificate = this.getEditedRegistrationCertificate();\r\n\r\n if (this.isNewRegistrationCertificate) {\r\n this.registrationCertificateService.newRegistrationCertificate(editedRegistrationCertificate).subscribe(\r\n registrationCertificate => this.newSaveCompleted(registrationCertificate),\r\n error => this.saveFailed(error));\r\n } else {\r\n this.registrationCertificateService.updateRegistrationCertificate(editedRegistrationCertificate).subscribe(\r\n registrationCertificate => this.saveCompleted(registrationCertificate),\r\n error => this.saveFailed(error));\r\n }\r\n }\r\n\r\n public cancel() {\r\n this.registrationCertificate = new RegistrationCertificate();\r\n this.resetForm(true);\r\n }\r\n\r\n\r\n private newSaveCompleted(registrationCertificate?: RegistrationCertificate) {\r\n\r\n this.dataSource.data = [registrationCertificate, ...this.dataSource.data]; //refresh the dataSource\r\n\r\n if (registrationCertificate) {\r\n this.registrationCertificate = registrationCertificate;\r\n }\r\n\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n\r\n this.resetForm(true);\r\n\r\n this.onRegistrationCertificateSaved.next(this.registrationCertificate);\r\n }\r\n\r\n private saveCompleted(registrationCertificate?: RegistrationCertificate) {\r\n\r\n this.dataSource.data = this.dataSource.data.filter((item, key)=>{\r\n if(item.id == registrationCertificate.id)\r\n {\r\n item.make = registrationCertificate.make;\r\n item.model = registrationCertificate.model;\r\n item.registrationNumber = registrationCertificate.registrationNumber;\r\n item.manufactureYear = registrationCertificate.manufactureYear;\r\n item.carTypeId = registrationCertificate.carTypeId;\r\n item.carTypePropertyId = registrationCertificate.carTypePropertyId;\r\n item.vehicleIdentificationNumber = registrationCertificate.vehicleIdentificationNumber;\r\n item.cityName = registrationCertificate.cityName;\r\n item.cityKoatuuId = registrationCertificate.cityKoatuuId;\r\n }\r\n return true;\r\n });\r\n\r\n if (registrationCertificate) {\r\n this.registrationCertificate = registrationCertificate;\r\n }\r\n\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n\r\n this.resetForm(true);\r\n\r\n this.onRegistrationCertificateSaved.next(this.registrationCertificate);\r\n }\r\n\r\n private saveFailed(error: any) {\r\n this.isSaving = false;\r\n this.isEditMode = false;\r\n }\r\n\r\n private buildForm() {\r\n\r\n this.registrationCertificateForm = this.formBuilder.group({\r\n make: [this.registrationCertificate.make,\r\n [Validators.required,\r\n Validators.pattern(\"^[a-zA-Z0-9аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\ \\-]{2,100}$\")]],\r\n model: [this.registrationCertificate.model,\r\n [Validators.required,\r\n Validators.pattern(\"^[a-zA-Z0-9аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ\\ ]{2,100}$\")]],\r\n registrationNumber: [this.registrationCertificate.registrationNumber,\r\n [Validators.required,\r\n Validators.pattern(\"^[A-Z0-9\\ ]{6,10}$\")]],\r\n manufactureYear: [moment(this.registrationCertificate.manufactureYear),\r\n Validators.required],\r\n carTypeId: this.registrationCertificate.carTypeId,\r\n carTypePropertyId: this.registrationCertificate.carTypePropertyId,\r\n vehicleIdentificationNumber: [this.registrationCertificate.vehicleIdentificationNumber,\r\n [Validators.required,\r\n Validators.pattern(\"^[a-zA-Z0-9аАбБвВгГдДеЕжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩьЬюЮяЯїЇіІєЄґҐ]{17,17}$\")]],\r\n searchCity:[this.registrationCertificate.cityName,\r\n Validators.required],\r\n cityName: this.registrationCertificate.cityName,\r\n cityKoatuuId: this.registrationCertificate.cityKoatuuId\r\n });\r\n }\r\n\r\n public resetForm(stopEditing = false) {\r\n if (stopEditing) {\r\n this.isEditMode = false;\r\n }\r\n\r\n this.resetRegistrationCertificateForm();\r\n }\r\n\r\n public chosenYearHandler(normalizedYear: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.manufactureYear.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.manufactureYear.setValue(ctrlValue);\r\n datepicker.close();\r\n }\r\n\r\n public onCarTypeChange(carTypeId)\r\n {\r\n this.selectedCarType = this.carTypes[carTypeId.value - 1];\r\n this.descriptionCarType = this.selectedCarType.Description;\r\n\r\n this.carTypePropertities = this.carTypeService.getCarTypeProperties().filter((item) => item.CarTypeId == carTypeId.value);\r\n }\r\n\r\n public onCarTypePropertyChange(carTypePropertyId)\r\n {\r\n if(this.carTypePropertities.length > 0)\r\n {\r\n let props = this.carTypePropertities.filter((item) => item.Id == carTypePropertyId.value);\r\n this.selectedCarTypeProperty = props[0];\r\n\r\n this.loadCarBrands(this.selectedCarType.Id, this.selectedCarTypeProperty.Id);\r\n }\r\n }\r\n\r\n public onSelectedCarBrand() {\r\n console.log(this.selectedCarBrand);\r\n this.selectedCarBrand = this.selectedCarBrand;\r\n this.make.setValue(this.selectedCarBrand.name);\r\n\r\n let make = this.make.value;\r\n\r\n this.selectedCarModel = null;\r\n this.model.setValue('');\r\n\r\n let makeId = this.carBrands?.findIndex(x => x.name === make);\r\n if(makeId >= 0) {\r\n this.filteredCarModels = this.carBrands[makeId].carModels;\r\n }\r\n }\r\n\r\n public onSelectedCarModel() {\r\n console.log(this.selectedCarModel);\r\n this.selectedCarModel = this.selectedCarModel;\r\n this.model.setValue(this.selectedCarModel.name);\r\n }\r\n\r\n public clearCarBrandSelection() {\r\n this.selectedCarBrand = null;\r\n this.selectedCarModel = null;\r\n this.make.setValue('');\r\n this.model.setValue('');\r\n this.filteredCarBrands = [];\r\n this.filteredCarModels = [];\r\n }\r\n\r\n public clearCarModelSelection() {\r\n this.selectedCarModel = null;\r\n this.model.setValue('');\r\n this.filteredCarModels = [];\r\n }\r\n\r\n displayCarBrandWith(value: CarBrandView) {\r\n return value?.name;\r\n }\r\n\r\n displayCarModelWith(value: CarModelView) {\r\n return value?.name;\r\n }\r\n\r\n onSelectedCity() {\r\n console.log(this.selectedCity);\r\n this.selectedCity = this.selectedCity;\r\n\r\n this.cityKoatuuId.setValue(this.selectedCity.id);\r\n this.cityName.setValue(this.selectedCity.town);\r\n this.searchCity.setValue(this.selectedCity.town);\r\n\r\n if(this.selectedCity != null)\r\n this.isValidSelectedCity = true;\r\n else\r\n this.isValidSelectedCity = false;\r\n }\r\n\r\n public clearCitySelection() {\r\n this.selectedCity = null;\r\n this.cityKoatuuId.setValue('');\r\n this.cityName.setValue('');\r\n this.searchCity.setValue('');\r\n this.filteredCities = [];\r\n }\r\n\r\n private loadCarBrands(carType?: CarType, carTypeProperty?: CarTypeProperty) {\r\n this.isLoadingMarks = true;\r\n\r\n this.catalogService.getCarBrands(carType, carTypeProperty)\r\n .subscribe(results => {\r\n this.isLoadingMarks = false;\r\n this.carBrands = results;\r\n this.filteredCarBrands = [];\r\n this.filteredCarModels = [];\r\n },\r\n error => {\r\n this.isLoadingMarks = false;\r\n });\r\n }\r\n\r\n private resetRegistrationCertificateForm()\r\n {\r\n this.registrationCertificateForm.reset({\r\n make: this.registrationCertificate.make || '',\r\n model: this.registrationCertificate.model || '',\r\n manufactureYear: this.registrationCertificate.manufactureYear || 2022,\r\n registrationNumber: this.registrationCertificate.registrationNumber || '',\r\n carTypeId: this.registrationCertificate.carTypeId || 1,\r\n carTypePropertyId: this.registrationCertificate.carTypePropertyId || 1,\r\n vehicleIdentificationNumber: this.registrationCertificate.vehicleIdentificationNumber || '',\r\n cityKoatuuId: this.registrationCertificate.cityKoatuuId || '',\r\n cityName: this.registrationCertificate.cityName || '',\r\n searchCity: this.registrationCertificate.cityName || ''\r\n });\r\n }\r\n\r\n\r\n private getEditedRegistrationCertificate(): RegistrationCertificate {\r\n const formModel = this.registrationCertificateForm.value;\r\n\r\n return {\r\n id: this.registrationCertificate.id,\r\n make: formModel.make,\r\n model: formModel.model,\r\n manufactureYear: formModel.manufactureYear,\r\n registrationNumber: formModel.registrationNumber,\r\n\r\n carTypeId: formModel.carTypeId,\r\n carTypePropertyId: formModel.carTypePropertyId,\r\n vehicleIdentificationNumber: formModel.vehicleIdentificationNumber,\r\n cityKoatuuId: formModel.cityKoatuuId,\r\n cityName: formModel.cityName,\r\n\r\n applicationUserId: this.registrationCertificateService.currentUser.id,\r\n\r\n dateOfFirstRegistration: this.registrationCertificate.dateOfFirstRegistration,\r\n dateOfRegistration: this.registrationCertificate.dateOfRegistration,\r\n surnameOrCompany: this.registrationCertificate.surnameOrCompany,\r\n givenName: this.registrationCertificate.givenName,\r\n address: this.registrationCertificate.address,\r\n mainRegion: this.registrationCertificate.mainRegion,\r\n region: this.registrationCertificate.region,\r\n town: this.registrationCertificate.town,\r\n ownership: this.registrationCertificate.ownership,\r\n validity: this.registrationCertificate.validity,\r\n issuer: this.registrationCertificate.issuer,\r\n commercialDescription: this.registrationCertificate.commercialDescription,\r\n maximumMass: this.registrationCertificate.maximumMass,\r\n massVehicleInService: this.registrationCertificate.massVehicleInService,\r\n vehicleCategory: this.registrationCertificate.vehicleCategory,\r\n engineVolume: this.registrationCertificate.engineVolume,\r\n fuelType: this.registrationCertificate.fuelType,\r\n color: this.registrationCertificate.color,\r\n numberOfSeats: this.registrationCertificate.numberOfSeats,\r\n numberOfStandingPlaces: this.registrationCertificate.numberOfStandingPlaces,\r\n specialNotes: this.registrationCertificate.specialNotes,\r\n\r\n createdBy: this.registrationCertificate.createdBy,\r\n createdDate: this.registrationCertificate.createdDate,\r\n updatedBy: this.registrationCertificate.updatedBy,\r\n updatedDate: this.registrationCertificate.updatedDate\r\n };\r\n }\r\n\r\n private sydiRangeLabel = (page: number, pageSize: number, length: number) => {\r\n\r\n let ofTranlated = this.translationService.getTranslation('PAGINATOR.OF');\r\n if (length == 0 || pageSize == 0) { return `0 ${ofTranlated} ${length}`; }\r\n\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} ${ofTranlated} ${length}`;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n get floatLabels(): string {\r\n return this.isEditMode ? 'auto' : 'always';\r\n }\r\n\r\n private loadData() {\r\n this.loadingIndicator = true;\r\n\r\n this.registrationCertificateService.getRegistrationCertificates()\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n this.dataSource.data = results;\r\n },\r\n error => {\r\n this.loadingIndicator = false;\r\n });\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n {{'registration-certificates.editor.CarType' | translate}}\r\n \r\n \r\n {{carType.Name}}\r\n \r\n \r\n \r\n\r\n \r\n {{descriptionCarType}}\r\n \r\n \r\n {{carTypePropertity.Name}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'registration-certificates.editor.Make' | translate}}\r\n \r\n \r\n \r\n {{'registration-certificates.editor.MakeRequired' | translate}}\r\n \r\n \r\n {{'registration-certificates.editor.MakeRegex' | translate}}\r\n \r\n\r\n \r\n Завантаження...\r\n \r\n \r\n {{carBrand.name}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {{'registration-certificates.editor.Model' | translate}}\r\n \r\n \r\n \r\n {{'registration-certificates.editor.ModelRequired' | translate}}\r\n \r\n \r\n {{'registration-certificates.editor.ModelRegex' | translate}}\r\n \r\n\r\n \r\n Завантаження...\r\n \r\n \r\n {{carModel.name}}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n {{'registration-certificates.editor.RegistrationNumber' | translate}}\r\n \r\n \r\n {{'registration-certificates.editor.RegistrationNumberRequired' | translate}}\r\n \r\n \r\n {{'registration-certificates.editor.RegistrationNumberRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'registration-certificates.editor.ManufactureYear' | translate}}\r\n\r\n \r\n рік\r\n \r\n \r\n\r\n \r\n {{'registration-certificates.editor.ManufactureYearRequired' | translate}}\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n {{'registration-certificates.editor.VehicleIdentificationNumber' | translate}}\r\n \r\n \r\n {{'registration-certificates.editor.VehicleIdentificationNumberRequired' | translate}}\r\n \r\n \r\n {{'registration-certificates.editor.VehicleIdentificationNumberRegex' | translate}}\r\n \r\n \r\n\r\n \r\n {{'registration-certificates.editor.RegistrationPlace' | translate}}\r\n \r\n \r\n\r\n {{'registration-certificates.editor.RegistrationPlaceRequired' | translate}}\r\n\r\n \r\n {{'registration-certificates.editor.RegistrationPlaceLoading' | translate}}\r\n \r\n \r\n {{city.town}} {{city.region}}\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\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n {{'registration-certificates.management.RegistrationNumber' | translate}} \r\n {{row.registrationNumber}} \r\n \r\n\r\n \r\n {{'registration-certificates.management.Make' | translate}} \r\n {{row.make}} \r\n \r\n\r\n \r\n {{'registration-certificates.management.Model' | translate}} \r\n {{row.model}} \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 \r\n
\r\n
\r\n","import { Component, OnInit, AfterViewInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatExpansionPanel } from '@angular/material/expansion';\r\n\r\nimport { UserEditorComponent } from '../admin/user-editor/user-editor.component';\r\nimport { UserPreferencesComponent } from './user-preferences/user-preferences.component';\r\nimport { DeleteAccountComponent } from './delete-account/delete-account.component';\r\nimport { AppTranslationService } from '../services/app-translation.service';\r\nimport { Permission } from '../models/permission.model';\r\nimport { Role } from '../models/role.model';\r\nimport { User } from '../models/user.model';\r\nimport { AccountService } from '../services/account.service';\r\nimport { AlertService, MessageSeverity } from '../services/alert.service';\r\nimport { fadeInOut } from '../services/animations';\r\nimport { Utilities } from '../services/utilities';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.scss'],\r\n animations: [fadeInOut]\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy, AfterViewInit {\r\n fragmentSubscription: any;\r\n\r\n @ViewChild('profile', { static: true }) profilePanel: MatExpansionPanel;\r\n @ViewChild('preferences', { static: true }) preferencesPanel: MatExpansionPanel;\r\n @ViewChild('driverlicences', { static: true }) driverlicencesPanel: MatExpansionPanel;\r\n @ViewChild('passports', { static: true }) passportsPanel: MatExpansionPanel;\r\n @ViewChild('registration_certificates', { static: true }) registrationCertificesPanel: MatExpansionPanel;\r\n @ViewChild('car_insurances', { static: true }) carInsurancesPanel: MatExpansionPanel;\r\n @ViewChild('travel_insurances', { static: true }) travelInsurancesPanel: MatExpansionPanel;\r\n @ViewChild('delete_account', { static: true }) deleteAccountPanel: MatExpansionPanel;\r\n\r\n @ViewChild(UserEditorComponent, { static: true }) userProfile: UserEditorComponent;\r\n\r\n @ViewChild(UserPreferencesComponent, { static: true }) userPreferences: UserPreferencesComponent;\r\n @ViewChild(DeleteAccountComponent, { static: true }) deleteAccount: DeleteAccountComponent;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.fragmentSubscription = this.route.fragment.subscribe(anchor => {\r\n switch ((anchor || '').toLowerCase()) {\r\n case 'preferences':\r\n this.preferencesPanel.open();\r\n break;\r\n case 'driverlicences':\r\n this.driverlicencesPanel.open();\r\n break;\r\n case 'passports':\r\n this.passportsPanel.open();\r\n break;\r\n case 'registration_certificates':\r\n this.registrationCertificesPanel.open();\r\n break;\r\n case 'car_insurances':\r\n this.carInsurancesPanel.open();\r\n break;\r\n case 'travel_insurances':\r\n this.travelInsurancesPanel.open();\r\n break;\r\n case 'delete_account':\r\n this.deleteAccountPanel.open();\r\n break;\r\n default:\r\n this.profilePanel.open();\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.loadCurrentUserData();\r\n\r\n this.userProfile.userSaved$.subscribe(() => {\r\n this.alertService.showMessage('Success', 'Changes to your User Profile was saved successfully', MessageSeverity.success);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.fragmentSubscription.unsubscribe();\r\n }\r\n\r\n public navigateToFragment(fragment: string) {\r\n if (fragment) {\r\n this.router.navigateByUrl(`/settings#${fragment}`);\r\n }\r\n }\r\n\r\n private loadCurrentUserData() {\r\n this.alertService.startLoadingMessage();\r\n\r\n if (this.canViewRoles) {\r\n this.accountService.getUserAndRoles().subscribe(\r\n results => this.onCurrentUserDataLoadSuccessful(results[0], results[1]),\r\n error => this.onCurrentUserDataLoadFailed(error)\r\n );\r\n } else {\r\n this.accountService.getUser().subscribe(\r\n user => this.onCurrentUserDataLoadSuccessful(user, user.roles.map(r => new Role(r))),\r\n error => this.onCurrentUserDataLoadFailed(error)\r\n );\r\n }\r\n }\r\n\r\n private onCurrentUserDataLoadSuccessful(user: User, roles: Role[]) {\r\n this.alertService.stopLoadingMessage();\r\n this.userProfile.setUser(user, roles);\r\n }\r\n\r\n private onCurrentUserDataLoadFailed(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Load Error', `Unable to retrieve user data from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n }\r\n\r\n get canViewRoles() {\r\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\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\t
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {{'settings.tab.Profile' | translate}}\r\n \r\n \r\n {{'settings.description.UserProfile' | translate}}\r\n account_circle\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 {{'settings.tab.Preferences' | translate}}\r\n \r\n \r\n {{'settings.description.UserPreferences' | translate}}\r\n tune\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 {{'settings.tab.DriverLicences' | translate}}\r\n \r\n \r\n {{'settings.description.DriverLicences' | translate | shorter}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {{'settings.tab.Passports' | translate}}\r\n \r\n \r\n {{'settings.description.Passports' | translate | shorter}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n {{'settings.tab.RegistrationCertificates' | translate}}\r\n \r\n \r\n {{'settings.description.RegistrationCertificates' | translate | shorter}}\r\n directions_car\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {{'settings.tab.CarInsurances' | translate}}\r\n \r\n \r\n {{'settings.description.CarInsurances' | translate | shorter}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {{'settings.tab.TravelInsurances' | translate}}\r\n \r\n \r\n {{'settings.description.TravelInsurances' | translate | shorter}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {{'settings.tab.DeleteAccount' | translate}}\r\n \r\n \r\n {{'settings.description.DeleteAccount' | translate}}\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
\r\n\r\n\t
\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\nimport { NgModule } from '@angular/core';\r\n\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { SettingsComponent } from './settings.component';\r\nimport { UserPreferencesComponent } from './user-preferences/user-preferences.component';\r\nimport { DriverLicenceListComponent } from './driver-licences/driver-licence-list.component';\r\nimport { PassportListComponent } from './passports/passport-list.component';\r\nimport { RegistrationCertificateListComponent } from './registration-certificates/registration-certificate-list.component';\r\nimport { DeleteAccountComponent } from './delete-account/delete-account.component';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { CarInsuranceListComponent } from './car-insurances/car-insurance-list.component';\r\nimport { TravelInsuranceListComponent } from './travel-insurances/travel-insurance-list.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n NgxMaskModule.forChild()\r\n ],\r\n exports: [\r\n SettingsComponent\r\n ],\r\n declarations: [\r\n SettingsComponent,\r\n UserPreferencesComponent,\r\n DriverLicenceListComponent,\r\n PassportListComponent,\r\n RegistrationCertificateListComponent,\r\n DeleteAccountComponent,\r\n CarInsuranceListComponent,\r\n TravelInsuranceListComponent\r\n ]\r\n})\r\n\r\nexport class SettingsModule { }\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\n\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\n\r\n// Depending on whether rollup is used, moment needs to be imported differently.\r\n// Since Moment.js doesn't have a default export, we normally need to import using the `* as`\r\n// syntax. However, rollup creates a synthetic default module and we thus need to import it using\r\n// the `default as` syntax.\r\nimport * as _moment from 'moment';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport {default as _rollupMoment, Moment} from 'moment';\r\nimport { TravelInsuranceBookingRecordModel } from 'src/app/models/travel-insurance/travel-insurance-booking-record.model';\r\nimport { TravelService } from 'src/app/services/travel.service';\r\n\r\nconst moment = _rollupMoment || _moment;\r\n\r\n@Component({\r\n selector: 'travel-insurance-list',\r\n templateUrl: './travel-insurance-list.component.html',\r\n styleUrls: ['./travel-insurance-list.component.scss'],\r\n animations: [fadeInOut],\r\n providers: [\r\n // `MomentDateAdapter` can be automatically provided by importing `MomentDateModule` in your\r\n // application's root module. We provide it at the component level here, due to limitations of\r\n // our example generation script.\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n ],\r\n})\r\n\r\nexport class TravelInsuranceListComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n displayedColumns = ['insuranceCompanyName', 'territoryName', 'purposeName', 'insuranceValidFrom', 'actions'];\r\n dataSource: MatTableDataSource;\r\n\r\n loadingIndicator: boolean;\r\n\r\n @Input() insurance: TravelInsuranceBookingRecordModel = new TravelInsuranceBookingRecordModel();\r\n\r\n descriptionCarType: string;\r\n\r\n constructor(\r\n private translationService: AppTranslationService,\r\n private travelService: TravelService\r\n ) {\r\n\r\n // Assign the data to the data source for the table to render\r\n this.dataSource = new MatTableDataSource();\r\n }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator._intl.itemsPerPageLabel = this.translationService.getTranslation('PAGINATOR.ITEMS_PER_PAGE');\r\n this.paginator._intl.getRangeLabel = this.sydiRangeLabel;\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n isString(value) {\r\n return typeof value === 'string' || value instanceof String;\r\n }\r\n\r\n public applyFilter(filterValue: string) {\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n public downloadInsurance(insurance?: TravelInsuranceBookingRecordModel) {\r\n\r\n var id = insurance.id;\r\n\r\n this.travelService.downloadPdf(id).subscribe(async (arrayBuffer: ArrayBuffer): Promise => {\r\n\r\n var file = new Blob([arrayBuffer], {type: 'application/pdf'});\r\n var fileURL = URL.createObjectURL(file);\r\n window.open(fileURL, '_blank');\r\n\r\n }, (error: any) => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n private sydiRangeLabel = (page: number, pageSize: number, length: number) => {\r\n\r\n let ofTranlated = this.translationService.getTranslation('PAGINATOR.OF');\r\n if (length == 0 || pageSize == 0) { return `0 ${ofTranlated} ${length}`; }\r\n\r\n length = Math.max(length, 0);\r\n\r\n const startIndex = page * pageSize;\r\n\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ?\r\n Math.min(startIndex + pageSize, length) :\r\n startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} ${ofTranlated} ${length}`;\r\n }\r\n\r\n private refresh() {\r\n // Causes the filter to refresh there by updating with recently added data.\r\n this.applyFilter(this.dataSource.filter);\r\n }\r\n\r\n get floatLabels(): string {\r\n return 'always';\r\n }\r\n\r\n private loadData() {\r\n this.loadingIndicator = true;\r\n\r\n this.travelService.getInsurances()\r\n .subscribe(results => {\r\n this.loadingIndicator = false;\r\n this.dataSource.data = results;\r\n },\r\n error => {\r\n this.loadingIndicator = false;\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\r\n \r\n {{'travel-insurances.management.CompanyName' | translate}} \r\n {{row.insuranceCompanyName}} \r\n \r\n\r\n \r\n {{'travel-insurances.management.Territory' | translate}} \r\n {{row.territoryName}} \r\n \r\n\r\n \r\n {{'travel-insurances.management.Purpose' | translate}} \r\n {{row.purposeName}} \r\n \r\n\r\n \r\n {{'travel-insurances.management.ValidFrom' | translate}} \r\n {{row.insuranceValidFrom | shortDate}} \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
\r\n","\r\nimport { Component } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Utilities } from '../../services/utilities';\r\n\r\nexport interface PageInfo {\r\n title: string;\r\n icon: string;\r\n path: string;\r\n isDefault: boolean;\r\n}\r\n\r\nexport interface LanguagePreference {\r\n name: string;\r\n locale: string;\r\n isDefault: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-user-preferences',\r\n templateUrl: './user-preferences.component.html',\r\n styleUrls: ['./user-preferences.component.scss']\r\n})\r\n\r\nexport class UserPreferencesComponent {\r\n languages: LanguagePreference[] = [\r\n { name: 'Ukrainian', locale: 'uk', isDefault: true },\r\n { name: 'English', locale: 'en', isDefault: false }\r\n ];\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private translationService: AppTranslationService,\r\n private accountService: AccountService,\r\n private snackBar: MatSnackBar,\r\n public configurations: ConfigurationService\r\n ) { }\r\n\r\n reload() {\r\n this.snackBar.open('Reload preferences?', 'RELOAD', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage();\r\n\r\n this.accountService.getUserPreferences()\r\n .subscribe(results => {\r\n this.alertService.stopLoadingMessage();\r\n\r\n this.configurations.import(results);\r\n\r\n this.alertService.showMessage('Defaults loaded!', '', MessageSeverity.info);\r\n\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Load Error', `Unable to retrieve user preferences from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n save() {\r\n this.snackBar.open('Save preferences?', 'SAVE', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.alertService.startLoadingMessage('', 'Saving new defaults');\r\n\r\n this.accountService.updateUserPreferences(this.configurations.export())\r\n .subscribe(response => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showMessage('New Defaults', 'Account defaults updated successfully', MessageSeverity.success);\r\n\r\n },\r\n error => {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage('Save Error', `An error occured whilst saving configuration defaults.\\r\\nErrors: \"${Utilities.getHttpResponseMessages(error)}\"`,\r\n MessageSeverity.error, error);\r\n });\r\n });\r\n }\r\n\r\n reset() {\r\n this.snackBar.open('Reset defaults?', 'RESET', { duration: 5000 })\r\n .onAction().subscribe(() => {\r\n this.configurations.import(null);\r\n this.alertService.showMessage('Defaults Reset', 'Account defaults reset completed successfully', MessageSeverity.success);\r\n });\r\n }\r\n}\r\n","
\r\n\r\n \r\n\r\n \r\n \r\n {{'preferences.' + language.name | translate}} ({{'preferences.Default' | translate}})\r\n \r\n \r\n\r\n {{'preferences.LanguageHint' | translate}}\r\n\r\n \r\n\r\n\r\n
\r\n","\r\nimport { Component, ViewChild, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { AlertDialog, DialogType, MessageSeverity } from '../../services/alert.service';\r\nimport { AppTranslationService } from '../../services/app-translation.service';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: 'app-dialog.component.html',\r\n styleUrls: ['app-dialog.component.scss']\r\n})\r\nexport class AppDialogComponent {\r\n get showTitle() {\r\n return this.data.title && this.data.title.length;\r\n }\r\n\r\n get title() {\r\n return this.data.title;\r\n }\r\n\r\n get message() {\r\n return this.data.message;\r\n }\r\n\r\n get okLabel() {\r\n return this.data.okLabel || 'OK';\r\n }\r\n\r\n get cancelLabel() {\r\n return this.data.cancelLabel || 'CANCEL';\r\n }\r\n\r\n get showCancel() {\r\n return this.data.type !== DialogType.alert;\r\n }\r\n\r\n get isPrompt() {\r\n return this.data.type === DialogType.prompt;\r\n }\r\n\r\n result: string;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private translationService: AppTranslationService,\r\n @Inject(MAT_DIALOG_DATA) private data: AlertDialog\r\n ) { }\r\n\r\n ok() {\r\n if (this.data.type === DialogType.prompt) {\r\n this.data.okCallback(this.result || this.data.defaultValue);\r\n } else {\r\n this.data.okCallback();\r\n }\r\n this.dialogRef.close();\r\n }\r\n\r\n cancel(): void {\r\n if (this.data.cancelCallback) {\r\n this.data.cancelCallback();\r\n }\r\n this.dialogRef.close();\r\n }\r\n}\r\n","

{{title}}

\r\n
\r\n\r\n

{{message}}

\r\n\r\n \r\n {{message}}\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Directive, Input } from \"@angular/core\";\r\nimport { MatSelect } from \"@angular/material/select\";\r\n\r\n@Directive({\r\n selector: 'mat-select [auto]'\r\n})\r\n\r\nexport class SelectWidthAutoDirective {\r\n\r\n @Input('auto') set _(value:string)\r\n {\r\n this.matselect._overlayPanelClass=value\r\n }\r\n\r\n constructor(private matselect:MatSelect)\r\n {}\r\n}\r\n","import { Directive, ElementRef, OnDestroy } from '@angular/core';\r\nimport * as textMask from 'vanilla-text-mask/dist/vanillaTextMask.js';\r\n\r\n@Directive({\r\n selector: '[appMaskDate]'\r\n})\r\n\r\nexport class MaskDateDirective implements OnDestroy {\r\n\r\n mask = [/\\d/, /\\d/, '.', /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/]; // dd/mm/yyyy\r\n maskedInputController;\r\n\r\n constructor(private element: ElementRef) {\r\n this.maskedInputController = textMask.maskInput({\r\n inputElement: this.element.nativeElement,\r\n mask: this.mask\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.maskedInputController.destroy();\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, OnDestroy } from '@angular/core';\r\nimport * as textMask from 'vanilla-text-mask/dist/vanillaTextMask.js';\r\n\r\n@Directive({\r\n selector: '[appMaskYear]'\r\n})\r\n\r\nexport class MaskYearDirective implements OnDestroy {\r\n\r\n mask = [ /\\d/, /\\d/, /\\d/, /\\d/]; // yyyy\r\n maskedInputController;\r\n\r\n constructor(private element: ElementRef) {\r\n this.maskedInputController = textMask.maskInput({\r\n inputElement: this.element.nativeElement,\r\n mask: this.mask\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.maskedInputController.destroy();\r\n }\r\n\r\n}\r\n","// See the Moment.js docs for the meaning of these formats:\r\n// https://momentjs.com/docs/#/displaying/format/\r\n\r\nimport { Directive } from \"@angular/core\";\r\nimport { MAT_DATE_FORMATS } from \"@angular/material/core\";\r\n\r\nexport const YEAR_FORMATS = {\r\n parse: {\r\n dateInput: 'YYYY',\r\n },\r\n display: {\r\n dateInput: 'YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'YYYY',\r\n monthYearA11yLabel: 'YYYY',\r\n },\r\n};\r\n\r\n@Directive({\r\n selector: '[appYearFormat]',\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS },\r\n ],\r\n})\r\n\r\nexport class YearFormatDirective {\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'app-footer-logos',\r\n templateUrl: './footer-logos.component.html',\r\n styleUrls: ['./footer-logos.component.scss']\r\n})\r\n\r\nexport class FooterLogosComponent {\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
\r\n","\r\nimport { Component } from '@angular/core';\r\n\r\nimport packageJson from '../../../../package.json';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\n\r\nexport class FooterComponent {\r\n\r\n public version: string = packageJson.version;\r\n public configurationName: string = environment.configurationName;\r\n\r\n getYear() {\r\n return new Date().getUTCFullYear();\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

© SYDI.Finance {{getYear()}} Версія: {{version}} {{configurationName}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","\r\nimport { Component, NgModule, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page-header',\r\n templateUrl: './page-header.component.html',\r\n styleUrls: ['./page-header.component.scss']\r\n})\r\n\r\nexport class PageHeaderComponent {\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n icon: string;\r\n\r\n @Input()\r\n svgIcon: string;\r\n}\r\n","
\r\n

{{icon}} {{'pageHeader.' + title | translate}}

\r\n
\r\n","\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { QuickAppProMaterialModule } from '../modules/material.module';\r\n\r\nimport { PageHeaderComponent } from './page-header/page-header.component';\r\nimport { UserEditorComponent } from '../admin/user-editor/user-editor.component';\r\nimport { AppDialogComponent } from './app-dialog/app-dialog.component';\r\n\r\nimport { GroupByPipe } from '../pipes/group-by.pipe';\r\nimport { CallbackPipe } from '../pipes/callback.pipe';\r\nimport { ShortStringPipe } from '../pipes/short-string.pipe';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MaskDateDirective } from './directives/mask-date.directive';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MaskYearDirective } from './directives/mask-year.directive';\r\nimport { YearFormatDirective } from './directives/year-format';\r\nimport { SelectWidthAutoDirective } from './directives/auto-width.directive';\r\nimport { ShortDatePipe } from '../pipes/short-date.pipe';\r\nimport { FooterLogosComponent } from './footer/footer-logos.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FlexLayoutModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n QuickAppProMaterialModule,\r\n TranslateModule,\r\n NgxMaskModule.forRoot()\r\n ],\r\n exports: [\r\n CommonModule,\r\n FlexLayoutModule,\r\n FormsModule, ReactiveFormsModule,\r\n BrowserModule, BrowserAnimationsModule,\r\n QuickAppProMaterialModule,\r\n TranslateModule,\r\n PageHeaderComponent,\r\n GroupByPipe,\r\n CallbackPipe,\r\n UserEditorComponent,\r\n AppDialogComponent,\r\n ShortStringPipe,\r\n MaskDateDirective,\r\n MaskYearDirective,\r\n YearFormatDirective,\r\n SelectWidthAutoDirective,\r\n ShortDatePipe,\r\n FooterLogosComponent,\r\n FooterComponent\r\n ],\r\n declarations: [\r\n PageHeaderComponent,\r\n GroupByPipe,\r\n CallbackPipe,\r\n UserEditorComponent,\r\n AppDialogComponent,\r\n ShortStringPipe,\r\n MaskDateDirective,\r\n MaskYearDirective,\r\n YearFormatDirective,\r\n SelectWidthAutoDirective,\r\n ShortDatePipe,\r\n FooterLogosComponent,\r\n FooterComponent\r\n ],\r\n providers: [\r\n AuthService\r\n ]\r\n})\r\nexport class SharedModule {\r\n\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { AppTheme } from '../../models/AppTheme';\r\n\r\n@Injectable()\r\nexport class ThemeManager {\r\n themes: Array = [\r\n {\r\n id: 1,\r\n name: 'Indigo/Pink',\r\n primary: '#3F51B5',\r\n accent: '#E91E63',\r\n href: 'indigo-pink.css',\r\n isDark: false,\r\n isDefault: true,\r\n },\r\n {\r\n id: 2,\r\n name: 'Purple/Amber',\r\n primary: '#673AB7',\r\n accent: '#FFC107',\r\n href: 'deeppurple-amber.css',\r\n isDark: false,\r\n },\r\n {\r\n id: 3,\r\n name: 'Pink/Blue',\r\n primary: '#E91E63',\r\n accent: '#607D8B',\r\n href: 'pink-bluegrey.css',\r\n isDark: true,\r\n },\r\n {\r\n id: 4,\r\n name: 'Purple/Green',\r\n primary: '#9C27B0',\r\n accent: '#4CAF50',\r\n href: 'purple-green.css',\r\n isDark: true,\r\n },\r\n ];\r\n\r\n public installTheme(theme: AppTheme) {\r\n if (theme == null || theme.isDefault) {\r\n this.removeStyle('theme');\r\n } else {\r\n this.setStyle('theme', `assets/themes/${theme.href}`);\r\n }\r\n }\r\n\r\n public getThemeByID(id: number): AppTheme {\r\n return this.themes.find(theme => theme.id === id);\r\n }\r\n\r\n private setStyle(key: string, href: string) {\r\n this.getLinkElementForKey(key).setAttribute('href', href);\r\n }\r\n\r\n private removeStyle(key: string) {\r\n const existingLinkElement = this.getExistingLinkElementByKey(key);\r\n if (existingLinkElement) {\r\n document.head.removeChild(existingLinkElement);\r\n }\r\n }\r\n\r\n private getLinkElementForKey(key: string) {\r\n return this.getExistingLinkElementByKey(key) || this.createLinkElementWithKey(key);\r\n }\r\n\r\n private getExistingLinkElementByKey(key: string) {\r\n return document.head.querySelector(`link[rel=\"stylesheet\"].${this.getClassNameForKey(key)}`);\r\n }\r\n\r\n private createLinkElementWithKey(key: string) {\r\n const linkEl = document.createElement('link');\r\n linkEl.setAttribute('rel', 'stylesheet');\r\n linkEl.classList.add(this.getClassNameForKey(key));\r\n document.head.appendChild(linkEl);\r\n return linkEl;\r\n }\r\n\r\n private getClassNameForKey(key: string) {\r\n return `style-manager-${key}`;\r\n }\r\n}\r\n","// =============================\r\n// Email: info@ebenmonney.com\r\n// www.ebenmonney.com/templates\r\n// =============================\r\n\r\n// tslint:disable:no-host-metadata-property\r\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { ThemeManager } from './theme-manager';\r\nimport { AppTheme } from '../../models/AppTheme';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\n\r\n@Component({\r\n selector: 'app-theme-picker',\r\n templateUrl: 'theme-picker.component.html',\r\n styleUrls: ['theme-picker.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { 'aria-hidden': 'true' },\r\n})\r\nexport class ThemePickerComponent {\r\n @Input()\r\n tooltip = 'Theme';\r\n\r\n\r\n constructor(\r\n public themeManager: ThemeManager,\r\n private configuration: ConfigurationService\r\n ) {\r\n configuration.configurationImported$.subscribe(() => this.setTheme(this.currentTheme));\r\n this.setTheme(this.currentTheme);\r\n }\r\n\r\n get currentTheme(): AppTheme {\r\n return this.themeManager.getThemeByID(this.configuration.themeId);\r\n }\r\n\r\n setTheme(theme: AppTheme) {\r\n if (theme) {\r\n this.themeManager.installTheme(theme);\r\n this.configuration.themeId = theme.id;\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatListModule,\r\n MatTooltipModule,\r\n ],\r\n exports: [ThemePickerComponent],\r\n declarations: [ThemePickerComponent],\r\n providers: [ThemeManager, ConfigurationService],\r\n})\r\nexport class ThemePickerModule { }\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n check_circle\r\n
\r\n
\r\n
\r\n {{theme.name}}\r\n
\r\n
\r\n
\r\n","\r\nimport { formatDate } from '@angular/common';\r\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport function EqualValidator(controlName: string): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n const compareControl = control.parent ? control.parent.get(controlName) : null;\r\n const areEqual = compareControl && control.value === compareControl.value;\r\n return areEqual ? null : { notEqual: true };\r\n };\r\n}\r\n\r\nexport function dateValidator(regExp : RegExp) : ValidatorFn {\r\n return (c : AbstractControl) : ValidationErrors => {\r\n return validateDateControl(c); }\r\n\r\n\r\n function validateDateControl(control: AbstractControl) : ValidationErrors { let rawDate = control.value;\r\n\r\n if(rawDate === \"\") {\r\n return;\r\n }\r\n\r\n if(rawDate == null && control.invalid) {\r\n return { \"incorrect\": true};\r\n }\r\n\r\n let formattedDate = formatDate(rawDate, 'dd.MM.yyyy', 'ru-UA');\r\n\r\n return validateDate(formattedDate, control, regExp);\r\n }\r\n\r\n function validateDate(result: string, control : AbstractControl, dateRegex : RegExp) : ValidationErrors {\r\n\r\n let valid = dateRegex.test(result);\r\n\r\n if(!valid)\r\n return { \"incorrect\": true};\r\n else\r\n return null;\r\n }\r\n}\r\n\r\nexport function yearValidator(regExp : RegExp) : ValidatorFn {\r\n return (c : AbstractControl) : ValidationErrors => {\r\n return validateDateControl(c); }\r\n\r\n\r\n function validateDateControl(control: AbstractControl) : ValidationErrors { let rawDate = control.value;\r\n\r\n if(rawDate === \"\") {\r\n return;\r\n }\r\n\r\n if(rawDate == null && control.invalid) {\r\n return { \"incorrect\": true};\r\n }\r\n\r\n let formattedDate = formatDate(rawDate, 'yyyy', 'ru-UA');\r\n\r\n return validateDate(formattedDate, control, regExp);\r\n }\r\n\r\n function validateDate(result: string, control : AbstractControl, dateRegex : RegExp) : ValidationErrors {\r\n\r\n let valid = dateRegex.test(result);\r\n\r\n if(!valid)\r\n return { \"incorrect\": true};\r\n else\r\n return null;\r\n }\r\n}\r\n","\r\nexport const environment = {\r\n production: true,\r\n baseUrl: 'https://api.sydi.finance',//'https://rproxy.sydi.lan:1293', // Change this to the address of your backend API if different from frontend address\r\n tokenUrl: null, // For IdentityServer/Authorization Server API. You can set to null if same as baseUrl\r\n loginUrl: '/login',\r\n googleClientId: '23528025274-68bjdgjs5jbfvilbugrk0p9fm2oe87g4.apps.googleusercontent.com',\r\n facebookClientId: '772362411089118',\r\n appleClientId: 'com.finance.sydi.appleclient',\r\n appleRedirectUrl: 'https://api.sydi.finance/api/AppleCallback/Web',\r\n configurationName: 'Production',\r\n currentUrl: 'https://sydi.finance',\r\n platonApiKey: '46XVZ7WY2X',\r\n platonApiPassword: 'Cw6AGX4ppcbFUbErFesX3bjP17rrhXnM',\r\n platonApiUrl: 'https://secure.platononline.com/payment/auth',\r\n \r\n};\r\n","\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 58891,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 58891,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/* (ignored) */"],"names":["RouterModule","AdminComponent","RoleListComponent","UserListComponent","AuthService","AuthGuard","adminRoutes","path","component","children","canActivate","data","title","AdminRoutingModule","imports","forChild","exports","selectors","decls","vars","template","i0","SharedModule","EditRoleDialogComponent","RoleEditorComponent","EditUserDialogComponent","NgxMaskModule","AdminModule","declarations","MAT_DIALOG_DATA","Permission","roleName","role","name","constructor","dialogRef","accountService","ngAfterViewInit","roleEditor","roleSaved$","subscribe","close","cancel","canManageRoles","userHasPermission","manageRolesPermission","viewQuery","UserEditorComponent","userName","user","editUser","userSaved$","ctx","SelectionModel","Validators","Subject","MessageSeverity","Role","$event","ctx_r7","roleForm","get","alertService","formBuilder","onRoleSaved","asObservable","buildForm","selectedPermissions","ngOnChanges","isNewRole","resetForm","save","form","submitted","onSubmit","valid","showValidationError","startLoadingMessage","editedRole","getEditedRole","newRole","saveSuccessHelper","error","saveFailedHelper","updateRole","response","formModel","value","id","description","permissions","selected","usersCount","stopLoadingMessage","showMessage","success","currentUser","roles","some","r","refreshLoggedInUser","next","resetStickyMessage","showStickyMessage","selectAll","select","allPermissions","toggleGroup","groupName","filter","p","length","isSelected","deselect","group","required","replace","reset","selectePermissions","x","find","y","MatPaginator","MatSort","MatTableDataSource","fadeInOut","Utilities","translationService","snackBar","dialog","dataSource","ngOnInit","loadData","paginator","sort","applyFilter","filterValue","refresh","updateRoles","sourceRole","Object","assign","push","loadingIndicator","getRolesAndPermissions","results","getHttpResponseMessages","editRole","open","panelClass","afterClosed","confirmDelete","duration","onAction","deleteRole","item","User","EqualValidator","confirmedEmailChanged","emailConfirmed","email","userProfileForm","phoneNumber","password","currentPassword","newPassword","confirmPassword","assignedRoles","canViewRoles","viewRolesPermission","canAssignRoles","assignRolesPermission","isEditingSelf","assignableRoles","floatLabels","isEditMode","localStorage","ngZone","onUserSaved","isNewUser","verificationEmailSent","getDataObject","getDBkey_VERIFICATION_EMAIL_SENT","loadCurrentUserPasswordStatus","sendVerificationEmailWindowsFuncName","window","sendVerificationEmail","bind","confirmEmailMsg","info","isEnabled","setRoles","ngOnDestroy","passwordWatcher","unsubscribe","setUser","jobTitle","pattern","fullName","valueChanges","updateValueAndValidity","stopEditing","isChangePassword","addNewPasswordValidators","clearValidators","unshift","beginEdit","isSaving","editedUser","getEditedUser","newUser","saveCompleted","saveFailed","updateUser","friendlyName","isLockedOut","raiseEventIfRolesModified","rolesAdded","indexOf","rolesRemoved","modifiedRoles","concat","setTimeout","onRolesUserCountChanged","run","isSendingEmail","sendConfirmEmail","result","saveSyncedSessionData","getHttpResponseMessage","getUserHasPassword","hasPassword","userHasPassword","userId","changePassword","addCurrentPasswordValidators","setValidators","unlockUser","unblockUser","patchValue","canManageUsers","displayedColumns","updateUsers","sourceUser","getUsersAndRoles","onDataLoadSuccessful","onDataLoadFailed","getUsers","users","map","allRoles","u","deleteUser","manageUsersPermission","ErrorHandler","AppErrorHandler","handleError","confirm","message","location","reload","factory","DefaultUrlSerializer","UrlSerializer","LoginComponent","AuthCallbackComponent","RegisterComponent","ConfirmEmailComponent","ConfirmDeleteAccountComponent","RecoverPasswordComponent","ResetPasswordComponent","CarInsuranceComponent","CarInsuranceOffersComponent","TravelInsuranceComponent","TravelInsuranceOffersComponent","HomeComponent","CustomersComponent","ProductsComponent","OrdersComponent","SettingsComponent","AboutComponent","PolicyComponent","TermsOfUseComponent","NotFoundComponent","CarInsuranceOrderComponent","CarInsurancePaidComponent","TravelInsuranceOrderComponent","TravelInsurancePaidComponent","SalamandraComponent","LowerCaseUrlSerializer","parse","url","possibleSeparators","indexOfSeparator","search","processedUrl","separator","charAt","urlParts","splitInTwo","firstPart","toLowerCase","secondPart","routes","AppRoutingModule","provide","useClass","forRoot","NavigationStart","LoginDialogComponent","AppDialogComponent","packageJson","environment","AppComponent","notificationsTitle","newNotificationCount","gT","storageManager","toastaService","toastaConfig","notificationService","appTitleService","authService","matIconRegistry","domSanitizer","configurations","router","changeDetectorRef","media","version","configurationName","key","interpolateParams","getTranslation","addSvgIconSet","bypassSecurityTrustResourceUrl","mobileQuery","matchMedia","_mobileQueryListener","detectChanges","addListener","initialiseStorageSyncListener","theme","position","limit","showClose","showDuration","appName","appTitle","init","promise","Promise","resolve","reject","initClientCredentials","toPromise","then","res","isUserLoggedIn","isLoggedIn","isAppLoaded","removePrebootScreen","getDialogEvent","alert","getMessageEvent","showToast","reLoginDelegate","showReLoginDialog","getLoginStatusEvent","initNotificationsLoading","unsubscribeNotifications","refreshAdminExpanderState","events","event","removeListener","notificationsLoadingSubscription","currentUrl","adminExpander","getNewNotificationsPeriodically","notifications","dataLoadingConsecutiveFailures","n","isRead","logError","markNotificationsAsRead","recentNotifications","readUnreadNotification","minWidth","isSessionExpired","logout","navigateByUrl","warn","operation","stickyToasties","slice","clear","toastOptions","summary","msg","detail","timeout","onAdd","toast","onRemove","index","splice","severity","default","warning","wait","redirectLogoutUser","canViewCustomers","viewUsersPermission","canViewProducts","canViewOrders","canViewUsers","HTTP_INTERCEPTORS","HttpClientModule","TranslateModule","TranslateLoader","OAuthModule","ToastaModule","NgChartsModule","NgxsReduxDevtoolsPluginModule","NgxsFormPluginModule","NguCarouselModule","SettingsModule","ThemePickerModule","AppTitleService","AppTranslationService","TranslateLanguageLoader","ConfigurationService","AlertService","LocalStoreManager","OidcHelperService","NotificationService","NotificationEndpoint","AccountService","AccountEndpoint","CatalogService","CatalogEndpoint","CarInsuranceEndpoint","CarInsuranceService","DriverLicenceEndpoint","DriverLicenceService","PassportEndpoint","PassportService","RegistrationCertificateEndpoint","RegistrationCertificateService","LoginControlComponent","BannerDemoComponent","TodoDemoComponent","StatisticsDemoComponent","NotificationsViewerComponent","AddTaskDialogComponent","CarTypeService","NavigationService","MAT_MOMENT_DATE_FORMATS","MomentDateAdapter","DateAdapter","MAT_DATE_FORMATS","MAT_DATE_LOCALE","registerLocaleData","localeUA","CommonService","DEFAULT_TIMEOUT","TimeoutInterceptor","TravelEndpoint","TravelService","AppModule","bootstrap","deps","useValue","multi","loader","consts","JwtHelper","route","getShouldRedirect","redirectLoginUser","loginStatusSubscription","setProvider","snapshot","fragment","frag","fragParams","getQueryParamsFromString","processTokens","urlFragmentProcessed","queryParams","params","GetObjectWithLoweredPropertyNames","urlQueryParamsProcessed","formsSubscription","forms","changes","ql","first","loginForm","disabled","passwordControl","foundEmail","getRawValue","userPassword","includes","googleProvider","provider","facebookProvider","twitterProvider","appleProvider","Error","tokensObject","tokenProcessed","access_token","id_token","decodedIdToken","decodeToken","emailAddress","loginWithToken","getFacebookEmail","oauth_token","oauth_verifier","isLoading","getTwitterAccessToken","accessToken","showLoginErrorMessage","token","externalAuthToken","loginWithExternalToken","findHttpResponseMessage","errorMessage","mapLoginErrorMessage","linkAccountAndLogin","redirect","checkNoNetwork","noNetworkMessageCaption","noNetworkMessageDetail","getResponseBody","CarInsuranceProductsRequest","CarInsurancePropertyType","catalogService","carService","carInsuranceService","_MatPaginatorIntl","navigationService","option","firstPageLabel","itemsPerPageLabel","lastPageLabel","nextPageLabel","previousPageLabel","cityId","kyivCodeTE","carTypeId","carTypePropertyId","loadingDataSource","getCity","city","onSelectedCityDataLoadSuccessful","onSelectedCityDataLoadFailed","getProducts","onProductsLoadSuccessful","onProductsLoadFailed","products","positionId","forEach","localId","totalSize","currentPage","iterator","handlePageEvent","pageIndex","pageSize","end","start","part","carInsuranceProducts","selectedCity","carTypes","getCarTypes","Id","selectedCarType","carTypePropertities","getCarTypeProperties","selectedCarTypeProperty","cityName","town","mainRegion","searchResult","Name","filterBase","carInsurancePropertyType","Base","filterAdditional","Additional","markGreen","directSettlement","trafficAccidentMedicine","onAuxiliaryProductChange","auxiliaryProduct","selectedProduct","shift","selectedAuxiliaryProduct","discount","discountPercent","price","sum","buy","navigate","carType","carTypeProperty","insuranceCompany","franchiseId","auxiliaryProductId","CarInsuranceProductRequest","debounceTime","distinctUntilChanged","finalize","forkJoin","switchMap","tap","MAT_MOMENT_DATE_ADAPTER_OPTIONS","dateValidator","yearValidator","CarBrandView","CarModelView","moment","CryptoJS","Buffer","ref","http","region","add","U","RegExp","P","selectedDocument","isLoadingMarks","undefined","parseInt","bindSearchCity","acceptedByClient","disable","validTo","dateRegex","yearRegex","numberValidators","seriaValidators","taxIdValidators","orderForm","seria","number","issued","issuer","firstname","lastname","middlename","birthday","taxId","searchCity","cityKoatuuId","street","houseNumber","apartmentNumber","optionalRegexPrefix","make","model","registrationNumber","manufactureYear","Date","vehicleIdentificationNumber","requiredTrue","validFrom","searchCityControl","cityNameControl","cityKoatuuIdControl","loadingCity","loadingProduct","getProduct","loadingUser","getUser","carBrands","getCarBrands","product","clearCarBrandSelection","onCurrentUserDataLoadSuccessful","console","log","carInsuranceProduct","auxiliaryProducts","emailControl","controls","phoneNumberControl","setValue","passportSelectedCity","onDocumentChange","val","seriaControl","numberControl","enable","strshortened","ngAfterContentChecked","validate","markAllAsTouched","orderNgForm","getCarInsuranceBookingRecord","saveProduct","savedProduct","platonApiKey","platonApiPassword","platonApiUrl","callbackUrl","currentBaseUrl","payment","req_token","gatewayUrl","amount","toFixed","dataArray","currency","recurring","from","JSON","stringify","toString","valToSign","reverse","valToSignUpper","toUpperCase","sign","MD5","useremail","order","ext1","applicationUserId","ext2","ext3","insuranceCompanyName","ext4","orderId","paymentFormElement","nativeElement","submit","s","join","auxiliaryProductSum","auxiliaryProductGuid","auxiliaryProductName","guid","phone","isIdCard","isDriverLicence","taxID","documentCityKoatuuId","documentCityName","franchisePrice","carAuxiliaryProductId","carAuxiliaryProductGuid","carAuxiliaryProductName","carAuxiliaryProductSum","carAuxiliaryProductPrice","isConfirmedByClient","insuranceValidFrom","insuranceValidTo","back","pipe","minLengthTerm","filteredCities","isLoadingCity","getCities","selectedValue","searchValue","filteredCarBrands","makeId","findIndex","filteredCarModels","carModels","clearCitySelection","onSelected","isValidSelectedCity","displayWith","onSelectedCarBrand","selectedCarBrand","selectedCarModel","onSelectedCarModel","clearCarModelSelection","displayCarBrandWith","displayCarModelWith","chosenYearHandler","normalizedYear","datepicker","ctrlValue","year","changeValidFrom","nextYear","useUtc","concatMap","of","ReleaseRequestModel","bookedOrder","getInsurance","releaseRequestModel","releaseOrder","releaseCarInsurance","bookedOrderResult","releaseOrderResult","carMarkModel","CarTypeModel","CarTypePropertyModel","carTypeService","clearSelection","CarTypeId","descriptionCarType","Description","carInsuranceForm","cartype","cartypeproperty","cartypeControl","cartypepropertyControl","onSearch","markAsTouched","сityId","onCarTypeChange","onCarTypePropertyChange","props","loweredParams","code","gotoHomePage","confirmDeleteAccount","isSuccess","errorData","checkNotFound","confirmEmail","confirmUserAccount","taskName","taskForm","newtask","isImportant","isComplete","img","alt","caption","link","carouselConfig","grid","xs","sm","md","lg","all","slide","speed","interval","timing","point","visible","load","custom","touch","loop","easing","initDataLoading","dataLoadingSubscription","dataLoadTask","getPrintedDate","printTimeOnly","printDateOnly","notification","header","deleteNotification","togglePin","row","pin","isPinned","opText","pinUnpinNotification","canManageNotifications","DialogType","require","mediaObserver","label","responsive","display","fontSize","text","backgroundColor","borderColor","pointBackgroundColor","pointBorderColor","pointHoverBackgroundColor","pointHoverBorderColor","timerReference","setInterval","randomize","mediaQuerySub","change","chartLegend","mqAlias","clearInterval","_chartData","Array","chartData","i","j","Math","floor","random","changeChartType","type","chartType","showDialog","prompt","configure","chartClicked","e","chartHovered","ctx_r11","ctx_r15","currentUserId","_currentUserId","areAllTasksComplete","completedTasks","hideCompletedTasks","_hideCompletedTasks","fetch","isDataLoaded","filterPredicate","filterData","saveToDisk","toggleCompletedTasks","toggleAllTasksComplete","task","toggleTaskComplete","cb","getFromDisk","showErrorAlert","addTask","newTask","DBKeyTodoDemo","searchArray","EventEmitter","UserLogin","isModal","rememberMe","returnUrl","closeModal","modalClosedCallback","getUserLogin","login","isExternalLogin","loginWithPassword","backendErrorMessage","loginWithGoogle","isGoogleLogin","initLoginWithGoogle","loginWithFacebook","isFacebookLogin","initLoginWithFacebook","loginWithTwitter","isTwitterLogin","initLoginWithTwitter","loginWithApple","isAppleLogin","initLoginWithApple","offerAlternateHost","checkIsLocalHost","origin","baseUrl","apiUrl","fallbackBaseUrl","tokenUrl","enterKeyDown","enterKeyPress","emit","loginControl","onCancel","recoverPasswordForm","usernameOrEmail","getUsernameOrEmail","recover","recoverPassword","UserEdit","registerForm","getNewUser","register","username","PasswordsValidator","fg","np","cp","range","resetPasswordForm","resetCode","validator","getNewPassword","resetPassword","TravelProductRequest","TravelDocumentModel","travelService","selectedProductId","selectedTermId","selectedTerritoryId","selectedPurposeId","selectedMultipleTrip","decoded","decodeURIComponent","birthdayArray","selectedBirthdays","element","utc","toDate","selectedValidFrom","selectedValidTo","selectedProgramId","selectedLimit","Number","isMultiple","dateFrom","dateTo","termId","territoryId","purposeId","clientBirthdays","programId","travelerForm","travelers","array","loadingTravelFilter","getFilter","loadingTravelProduct","travelProduct","selectedTermName","terms","selectedTerritoryName","territories","selectedPurposeName","purposes","searchResult1","searchResult2","searchResult3","getTravelInsuranceBookingRecord","passports","travelDocuments","travelerCount","productId","termName","territoryName","purposeName","TravelProductsRequest","loadingTravelProducts","travelProducts","multipleTrip","birthdays","format","birthdaysJson","features","releaseTravelInsurance","travelResult","birthdaysCtrl","compose","minLength","addBirthday","term","purpose","territory","filterForm","newBirthday","years","removeBirthday","removeAt","onClick","filterNgForm","onToggle","checked","validToPicker","changeValidTo","validFromPicker","CarInsuranceBookingRecord","isTaxi","paid","mtibuLink","previewFileLink","cartypeid","City","DriverLicence","createdBy","createdDate","updatedBy","updatedDate","Notification","Create","date","parseDate","Passport","birthPlace","nationality","sex","recordNumber","RegistrationCertificate","dateOfFirstRegistration","dateOfRegistration","surnameOrCompany","givenName","address","ownership","validity","commercialDescription","maximumMass","massVehicleInService","vehicleCategory","engineVolume","fuelType","color","numberOfSeats","numberOfStandingPlaces","specialNotes","TravelInsuranceBookingRecordModel","MatAutocompleteModule","MatButtonModule","MatButtonToggleModule","MatCardModule","MatCheckboxModule","MatChipsModule","MatNativeDateModule","MatRippleModule","MatDatepickerModule","MatDialogModule","MatExpansionModule","MatGridListModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatPaginatorModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatSelectModule","MatSidenavModule","MatSlideToggleModule","MatSliderModule","MatSnackBarModule","MatSortModule","MatStepperModule","MatTableModule","MatTabsModule","MatToolbarModule","MatTooltipModule","QuickAppProMaterialModule","CallbackPipe","transform","items","callback","pure","GroupByPipe","field","groupedObj","reduce","prev","cur","keys","ShortDatePipe","dateFormat","ShortStringPipe","newValue","substring","catchError","EndpointBase","usersUrl","usersPublicUrl","userByUserNameUrl","userHasPasswordUrl","currentUserUrl","currentUserPreferencesUrl","sendConfirmEmailUrl","confirmEmailUrl","sendDeleteAccountToEmailUrl","confirmDeleteAccountUrl","recoverPasswordUrl","resetPasswordUrl","unblockUserUrl","rolesUrl","roleByRoleNameUrl","permissionsUrl","commonService","getUserEndpoint","endpointUrl","requestHeaders","getUserByUserNameEndpoint","getUserHasPasswordEndpoint","getUsersEndpoint","page","getNewUserEndpoint","userObject","isPublicRegistration","post","requestHeadersClientToken","handleErrorFromApi","getUpdateUserEndpoint","put","getPatchUpdateUserEndpoint","valueOrPatch","opOrUserId","patchDocument","op","patch","getUserPreferencesEndpoint","getUpdateUserPreferencesEndpoint","configuration","getSendConfirmEmailEndpoint","sendDeleteAccountEndpoint","getConfirmUserAccountEndpoint","confirmationCode","encodedConfirmationCode","encodeURIComponent","сonfirmDeleteAccountEndpoint","getRecoverPasswordEndpoint","getResetPasswordEndpoint","resetcode","getUnblockUserEndpoint","getDeleteUserEndpoint","delete","getRoleEndpoint","roleId","getRoleByRoleNameEndpoint","getRolesEndpoint","getNewRoleEndpoint","roleObject","getUpdateRoleEndpoint","getDeleteRoleEndpoint","getPermissionsEndpoint","mergeMap","accountEndpoint","getUserAndRoles","foundUser","getUserPreferences","updateUserPreferences","userOrUserId","String","sendDeleteAccountToEmail","permissionValue","refreshLogin","getRoles","onRolesChanged","roleModifiedOperation","foundRole","roleAddedOperation","roleOrRoleId","roleDeletedOperation","getPermissions","rolesChanged","getRolesChangedEvent","userPermissions","HttpResponseBase","okCallback","cancelCallback","okLabel","cancelLabel","defaultValue","dialogs","separatorOrDetail","captionAndMessageSeparator","msgObject","showMessageHelper","safeStringify","logInfo","logMessage","logWarning","logTrace","isSticky","alertCommand","messages","clearTimeout","loadingMessageTimeoutId","logDebug","debug","trace","AlertDialog","AlertCommand","AlertMessage","animate","state","style","transition","trigger","opacity","flyInOut","NavigationEnd","titleService","sub","_","routerState","root","firstChild","split","toTitleCase","setTitle","translate","onLanguageChanged","addLanguages","setDefaultLanguage","lang","addLangs","setDefaultLang","getDefaultLanguage","defaultLang","getBrowserLanguage","getBrowserLang","getCurrentLanguage","currentLang","getLoadedLanguages","langs","useBrowserLanguage","browserLang","match","changeLanguage","useDefaultLangage","language","use","instant","getTranslationAsync","checkLogin","canActivateChild","canLoad","loginRedirectUrl","HttpHeaders","DBkeys","loginUrl","getPingUrl","pingUrl","logoutRedirectUrl","LOGOUT_REDIRECT_URL","savePermanentData","LOGIN_REDIRECT_URL","oidcHelperService","initializeLoginStatus","getInitEvent","reevaluateLoginStatus","gotoPage","preserveParams","navigationExtras","queryParamsHandling","preserveFragment","defaultHomeUrl","urlParamsAndFragment","urlAndParams","redirectForLogin","reLogin","resp","processLoginResponse","update","loginWithClientCredentials","processClientCredentialsToken","pingByClientSecret","getClientToken","headers","Authorization","Accept","REMEMBER_ME","oauthToken","oauthVerifier","refreshToken","refresh_token","expiresIn","expires_in","tokenExpiryDate","setSeconds","getSeconds","accessTokenExpiry","jwtHelper","decodedAccessToken","isArray","permission","import","fullname","jobtitle","phone_number","saveUserDetails","ACCESS_TOKEN","REFRESH_TOKEN","TOKEN_EXPIRES_IN","USER_PERMISSIONS","CURRENT_USER","revaluateClientToken","sessionStorage","getItem","setItem","deleteData","clearLocalChanges","previousIsLoggedInCheck","loginStatus","accessTokenExpiryDate","clientCredentialsToken","providedIn","carInsuranceGetProductsUrl","carInsuranceGetProductUrl","productCreateUrl","getCarInsuranceUrl","getCarInsurancesUrl","releaseCarInsuranceUrl","downloadCarInsurancePdfUrl","filterObject","createProductEndpoint","getInsuranceEndpoint","getInsurancesEndpoint","releaseCarInsuranceEndpoint","downloadPdfEndpoint","requestOnlyHeaders","responseType","carInsuranceEndpoint","getInsurances","request","downloadPdf","catalogGetTownsUrl","catalogGetTownUrl","catalogGetCarBrandsUrl","getCitiesEndpoint","encodedCity","getCityEndpoint","cityCode","encodedCityCode","getCarBrandsEndpoint","encodedCarType","encodedCarTypeProperty","catalogEndpoint","googleClientId","facebookClientId","appleClientId","appleRedirectUrl","onConfigurationImported","loadLocalChanges","_language","saveToLocalStore","LANGUAGE","defaultLanguage","themeId","_themeId","THEME_ID","defaultThemeId","exists","resetLanguage","jsonValue","importValue","JsonTryParse","export","changesOnly","exportValue","appVersion","CLIENTS_CREDENTIALS_TOKEN","TWITTER_OAUTH_TOKEN","TWITTER_OAUTH_TOKEN_SECRET","HOME_URL","SHOW_DASHBOARD_STATISTICS","SHOW_DASHBOARD_NOTIFICATIONS","SHOW_DASHBOARD_TODO","SHOW_DASHBOARD_BANNER","driverLicenceListUrl","driverLicenceDeleteUrl","driverLicenceCreateUrl","driverLicenceUpdateUrl","getDriverLicencesEndpoint","deleteDriverLicenceEndpoint","driverLicenceId","createDriverLicenceEndpoint","updateDriverLicenceEndpoint","driverLicenceEndpoint","getDriverLicences","deleteDriverLicence","newDriverLicence","driverLicence","updateDriverLicence","throwError","initClientCridentialToken","continuation","status","isRefreshingLogin","pauseTask","resumeTasks","refreshLoginError","error_description","isRefreshingClientToken","initClientCredentialsPromise","taskPauser","continueOp","complete","urlBase64Decode","str","output","b64DecodeUnicode","prototype","call","atob","c","charCodeAt","parts","getTokenExpirationDate","hasOwnProperty","setUTCSeconds","exp","isTokenExpired","offsetSeconds","valueOf","localStorageSetItem","removeItem","syncKeys","loadSyncKeys","syncKeysContains","sessionStorageSetItem","onInit","addToSessionStorageHelper","removeFromSessionStorageHelper","clearInstanceSessionStorage","addToSyncKeysHelper","removeFromSyncKeysHelper","syncListenerInitialised","addEventListener","sessionStorageTransferHandler","syncSessionStorage","deinitialiseStorageSyncListener","removeEventListener","clearAllStorage","clearAllSessionsStorage","clearLocalStorage","DBKEY_SYNC_KEYS","saveSessionData","DBKEY_USER_DATA","testForInvalidKeys","removeFromSyncKeys","addToSessionStorage","removeFromSessionStorage","moveDataToSessionStorage","getData","moveDataToSyncedSessionStorage","moveDataToPermanentStorage","sessionStorageGetItem","localStorageGetItem","isDateType","initEvent","addToSyncKeysBackup","keyToRemove","removeFromSyncKeysBackup","reservedKeys","getSyncKeysFromStorage","addToSyncKeys","storedSyncKeys","history","urlAfterRedirects","pop","HttpResponse","body","getNotificationEndpoint","notificationId","demoNotifications","createResponse","getNotificationsEndpoint","getUnreadNotificationsEndpoint","unreadNotifications","getNewNotificationsEndpoint","lastNotificationDate","getPinUnpinNotificationEndpoint","getReadUnreadNotificationEndpoint","notificationIds","getDeleteNotificationEndpoint","startWith","_recentNotifications","notificationEndpoint","getNotification","getNotifications","getNotificationsFromResponse","getUnreadNotifications","getNewNotifications","processNewNotificationsFromResponse","notificationOrNotificationId","a","b","HttpParams","oauthService","append","clientId","clientSecret","scopeForUser","loadDiscoveryDocument","tokenEndpoint","scope","clientIdExt","clientSecretExt","redirectUri","strictDiscoveryDocumentValidation","sessionChecksEnabled","initImplicitFlow","customQueryParams","oidc","json","catch","getTwitterRequestToken","tokens","oauth_callback_confirmed","oauth_token_secret","authenticateTwitterRequestToken","requestTokenUrl","requestObject","oauth_callback","href","savedOauthToken","savedOauthTokenSecret","passportListUrl","passportDeleteUrl","passportCreateUrl","passportUpdateUrl","getPassportsEndpoint","deletePassportEndpoint","passportId","createPassportEndpoint","updatePassportEndpoint","passportEndpoint","getPassports","deletePassport","newPassport","passport","updatePassport","registrationCertificateListUrl","registrationCertificateDeleteUrl","registrationCertificateCreateUrl","registrationCertificateUpdateUrl","getRegistrationCertificatesEndpoint","deleteRegistrationCertificateEndpoint","createRegistrationCertificateEndpoint","updateRegistrationCertificateEndpoint","registrationCertificateEndpoint","getRegistrationCertificates","deleteRegistrationCertificate","newRegistrationCertificate","updateRegistrationCertificate","InjectionToken","defaultTimeout","intercept","req","timeoutValue","timeoutValueNumeric","handle","travelFilterUrl","travelProductsUrl","travelProductUrl","releaseTravelInsuranceUrl","downloadTravelInsurancePdfUrl","getTravelInsuranceUrl","getTravelInsurancesUrl","getFilterEndpoint","getProductsEndpoint","jsonModel","getProductEndpoint","releaseTravelInsuranceEndpoint","travelEndpoint","HttpErrorResponse","responses","responseObject","checkAccessDenied","accessDeniedMessageCaption","accessDeniedMessageDetail","notFoundMessageCaption","notFoundMessageDetail","httpMessage","messageToFind","seachInCaptionOnly","includeCaptionInResult","searchString","httpMessages","fullMessage","statusText","base","URL","hostname","paramString","param","keyValue","separatorIndex","part1","substr","trim","part2","object","simpleObject","prop","obj","loweredObj","newObj","k","TestIsObjectEmpty","TestIsUndefined","TestIsString","capitalizeFirstLetter","subString","loweredRoles","uniqueId","randomNumber","min","max","protocol","port","dayNames","monthNames","dayOfWeek","getDay","dayOfMonth","getDate","sup","month","getMonth","getFullYear","dateString","period","minute","getMinutes","hour","getHours","timeString","printDate","printFriendlyDate","today","setHours","yesterday","setDate","test","toDateString","printShortDate","dateTimeSeparator","day","printDuration","delta","abs","days","hours","minutes","seconds","printedDays","getAge","birthDate","otherDate","searchTerm","caseSensitive","values","moveArrayItem","oldIndex","newIndex","expandCamelCase","testIsAbsoluteUrl","convertToAbsoluteUrl","debounce","func","immediate","context","args","arguments","later","apply","callNow","cookies","sKey","document","cookie","sValue","vEnd","sPath","sDomain","bSecure","sExpires","Infinity","toUTCString","hasItem","aKeys","nIdx","_moment","_rollupMoment","CarInsuranceListComponent","registrationCertificateService","sanitizer","ofTranlated","startIndex","endIndex","_intl","getRangeLabel","sydiRangeLabel","isString","downloadInsurance","insurance","arrayBuffer","file","Blob","fileURL","createObjectURL","DeleteAccountComponent","DriverLicenceListComponent","driverLicenceService","onDriverLicenceSaved","driverLicenceForm","editDriverLicence","isNewDriverLicence","current","priorOneDay","nextOneYear","resetDriverLicenceForm","driverLicenceNgForm","editedDriverLicence","getEditedDriverLicence","newSaveCompleted","PassportListComponent","passportService","onPassportSaved","passportForm","toggle","isChecked","updateSeriaNumber","editPassport","isNewPassport","resetPassportForm","passportNgForm","editedPassport","getEditedPassport","onSelectedCity","RegistrationCertificateListComponent","onRegistrationCertificateSaved","defaultFilteredCities","minLengthCity","registrationCertificateForm","registrationCertificate","editRegistrationCertificate","isNewRegistrationCertificate","registrationCertificateNgForm","editedRegistrationCertificate","getEditedRegistrationCertificate","resetRegistrationCertificateForm","loadCarBrands","UserPreferencesComponent","fragmentSubscription","anchor","preferencesPanel","driverlicencesPanel","passportsPanel","registrationCertificesPanel","carInsurancesPanel","travelInsurancesPanel","deleteAccountPanel","profilePanel","loadCurrentUserData","userProfile","navigateToFragment","onCurrentUserDataLoadFailed","TravelInsuranceListComponent","locale","isDefault","showTitle","showCancel","isPrompt","ok","SelectWidthAutoDirective","matselect","_overlayPanelClass","inputs","textMask","MaskDateDirective","maskedInputController","maskInput","inputElement","mask","destroy","MaskYearDirective","YEAR_FORMATS","dateInput","monthYearLabel","dateA11yLabel","monthYearA11yLabel","YearFormatDirective","FooterLogosComponent","FooterComponent","getYear","getUTCFullYear","PageHeaderComponent","icon","svgIcon","FlexLayoutModule","FormsModule","ReactiveFormsModule","BrowserModule","BrowserAnimationsModule","CommonModule","ThemeManager","primary","accent","isDark","installTheme","removeStyle","setStyle","getThemeByID","themes","getLinkElementForKey","setAttribute","existingLinkElement","getExistingLinkElementByKey","head","removeChild","createLinkElementWithKey","querySelector","getClassNameForKey","linkEl","createElement","classList","appendChild","ThemePickerComponent","themeManager","configurationImported$","setTheme","currentTheme","hostAttrs","tooltip","formatDate","controlName","control","compareControl","parent","areEqual","notEqual","regExp","validateDateControl","rawDate","invalid","formattedDate","validateDate","production","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[180]}