Edit file File name : main.js.map Content :{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/component/change-password-component/change-password.component.css","webpack:///./src/component/change-password-component/change-password.component.html","webpack:///./src/component/change-password-component/change-password.component.ts","webpack:///./src/component/edit-image/edit-image.component.css","webpack:///./src/component/edit-image/edit-image.component.html","webpack:///./src/component/edit-image/edit-image.component.ts","webpack:///./src/data/api/admin-api.ts","webpack:///./src/data/api/api-module.ts","webpack:///./src/data/api/booking-api.ts","webpack:///./src/data/api/center-api.ts","webpack:///./src/data/api/city-api.ts","webpack:///./src/data/api/country-api.ts","webpack:///./src/data/api/dashboard-api.ts","webpack:///./src/data/api/doctor-api.ts","webpack:///./src/data/api/login-api.ts","webpack:///./src/data/api/nationality-api.ts","webpack:///./src/data/api/specialization-api.ts","webpack:///./src/data/api/upload-image-api.ts","webpack:///./src/data/api/user-api.ts","webpack:///./src/directive/arabic_only_directive.ts","webpack:///./src/directive/english_only_directive.ts","webpack:///./src/directive/number_only_directive.ts","webpack:///./src/environments/environment.ts","webpack:///./src/guard/guard-module.ts","webpack:///./src/guard/must-be-guest-guard.ts","webpack:///./src/guard/must-login-guard.ts","webpack:///./src/main.ts","webpack:///./src/pipe/BookingStatusPipe.ts","webpack:///./src/pipe/BookingTypePipe.ts","webpack:///./src/pipe/LangPipe.ts","webpack:///./src/service/admin-service.ts","webpack:///./src/service/common-service.ts","webpack:///./src/service/dialog-service.ts","webpack:///./src/service/language-service.ts","webpack:///./src/service/modal-service.ts","webpack:///./src/service/network-interceptor.ts","webpack:///./src/service/page-header-info-service.ts","webpack:///./src/service/service-module.ts","webpack:///./src/service/toast-service.ts","webpack:///./src/ui/admin/admins/admins.component.css","webpack:///./src/ui/admin/admins/admins.component.html","webpack:///./src/ui/admin/admins/admins.component.ts","webpack:///./src/ui/admin/base-admin/base-admin.component.css","webpack:///./src/ui/admin/base-admin/base-admin.component.html","webpack:///./src/ui/admin/base-admin/base-admin.component.ts","webpack:///./src/ui/admin/bookings/bookings.component.css","webpack:///./src/ui/admin/bookings/bookings.component.html","webpack:///./src/ui/admin/bookings/bookings.component.ts","webpack:///./src/ui/admin/centers/centers.component.css","webpack:///./src/ui/admin/centers/centers.component.html","webpack:///./src/ui/admin/centers/centers.component.ts","webpack:///./src/ui/admin/cities/cities.component.css","webpack:///./src/ui/admin/cities/cities.component.html","webpack:///./src/ui/admin/cities/cities.component.ts","webpack:///./src/ui/admin/countries/countries.component.css","webpack:///./src/ui/admin/countries/countries.component.html","webpack:///./src/ui/admin/countries/countries.component.ts","webpack:///./src/ui/admin/dashboard/dashboard.component.css","webpack:///./src/ui/admin/dashboard/dashboard.component.html","webpack:///./src/ui/admin/dashboard/dashboard.component.ts","webpack:///./src/ui/admin/doctors/doctor-times/doctor-times.component.css","webpack:///./src/ui/admin/doctors/doctor-times/doctor-times.component.html","webpack:///./src/ui/admin/doctors/doctor-times/doctor-times.component.ts","webpack:///./src/ui/admin/doctors/doctors.component.css","webpack:///./src/ui/admin/doctors/doctors.component.html","webpack:///./src/ui/admin/doctors/doctors.component.ts","webpack:///./src/ui/admin/nationalities/nationalities.component.css","webpack:///./src/ui/admin/nationalities/nationalities.component.html","webpack:///./src/ui/admin/nationalities/nationalities.component.ts","webpack:///./src/ui/admin/profile/profile.component.css","webpack:///./src/ui/admin/profile/profile.component.html","webpack:///./src/ui/admin/profile/profile.component.ts","webpack:///./src/ui/admin/specializations/specializations.component.css","webpack:///./src/ui/admin/specializations/specializations.component.html","webpack:///./src/ui/admin/specializations/specializations.component.ts","webpack:///./src/ui/admin/users/users.component.css","webpack:///./src/ui/admin/users/users.component.html","webpack:///./src/ui/admin/users/users.component.ts","webpack:///./src/ui/guest/login/login.component.html","webpack:///./src/ui/guest/login/login.component.scss","webpack:///./src/ui/guest/login/login.component.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {LoginComponent} from '../ui/guest/login/login.component';\nimport {BaseAdminComponent} from '../ui/admin/base-admin/base-admin.component';\nimport {MustBeGuestGuard} from '../guard/must-be-guest-guard';\nimport {MustLoginGuard} from '../guard/must-login-guard';\nimport {AdminsComponent} from '../ui/admin/admins/admins.component';\nimport {SpecializationsComponent} from '../ui/admin/specializations/specializations.component';\nimport {CountriesComponent} from '../ui/admin/countries/countries.component';\nimport {CitiesComponent} from '../ui/admin/cities/cities.component';\nimport {NationalitiesComponent} from '../ui/admin/nationalities/nationalities.component';\nimport {ProfileComponent} from '../ui/admin/profile/profile.component';\nimport {CentersComponent} from '../ui/admin/centers/centers.component';\nimport {DoctorsComponent} from '../ui/admin/doctors/doctors.component';\nimport {BookingsComponent} from '../ui/admin/bookings/bookings.component';\nimport {UsersComponent} from '../ui/admin/users/users.component';\nimport {DashboardComponent} from '../ui/admin/dashboard/dashboard.component';\n\nconst routes: Routes = [\n {\n path: '', component: BaseAdminComponent, canActivate: [MustLoginGuard], children: [\n {path: '', redirectTo: 'dashboard', pathMatch: 'full'},\n {path: 'dashboard', component: DashboardComponent},\n {path: 'admins', component: AdminsComponent},\n {path: 'specializations', component: SpecializationsComponent},\n {path: 'countries', component: CountriesComponent},\n {path: 'cities', component: CitiesComponent},\n {path: 'nationalities', component: NationalitiesComponent},\n {path: 'profile', component: ProfileComponent},\n {path: 'centers', component: CentersComponent},\n {path: 'doctors', component: DoctorsComponent},\n {path: 'bookings', component: BookingsComponent},\n {path: 'users', component: UsersComponent}\n ]\n },\n {\n path: 'guest/login', component: LoginComponent, canActivate: [MustBeGuestGuard]\n },\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","module.exports = \"<router-outlet></router-outlet>\\n\\n\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RouterEvent} from '@angular/router';\nimport {Subscription} from 'rxjs';\nimport {CommonService} from '../service/common-service';\nimport {LanguageService} from '../service/language-service';\n\n@Component({\n selector: 'app-index',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, OnDestroy {\n\n private subscription: Subscription;\n\n constructor(private router: Router, private commonService: CommonService,\n private languageService: LanguageService) {\n languageService.setAppLanguage();\n }\n\n\n // Shows and hides the loading spinner during RouterEvent changes\n private _navigationInterceptor(event: RouterEvent): void {\n // find loader.\n if (event instanceof NavigationStart) {\n this.commonService.showLoader();\n }\n if (event instanceof NavigationEnd) {\n this.commonService.hideLoader();\n }\n\n if (event instanceof NavigationCancel) {\n this.commonService.hideLoader();\n }\n if (event instanceof NavigationError) {\n this.commonService.hideLoader();\n }\n }\n\n\n ngOnInit(): void {\n this.subscription = this.router.events.subscribe((event: RouterEvent) => {\n this._navigationInterceptor(event);\n });\n }\n\n\n ngOnDestroy(): void {\n if (this.subscription != null) {\n this.subscription.unsubscribe();\n this.subscription = null;\n }\n }\n}\n","import {BrowserModule} from '@angular/platform-browser';\nimport {NgModule} from '@angular/core';\n\nimport {AppRoutingModule} from './app-routing.module';\nimport {AppComponent} from './app.component';\nimport {ServiceModule} from '../service/service-module';\nimport {ApiModule} from '../data/api/api-module';\nimport {GuardModule} from '../guard/guard-module';\nimport {LoginComponent} from '../ui/guest/login/login.component';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {HttpClient, HttpClientModule} from '@angular/common/http';\nimport {FormsModule} from '@angular/forms';\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {APP_BASE_HREF} from '@angular/common';\nimport {BaseAdminComponent} from '../ui/admin/base-admin/base-admin.component';\nimport {AdminsComponent} from '../ui/admin/admins/admins.component';\nimport {DataTableModule} from 'angular-6-datatable';\nimport {ToastrModule} from 'ng6-toastr-notifications';\nimport {SpecializationsComponent} from '../ui/admin/specializations/specializations.component';\nimport {EditImageComponent} from '../component/edit-image/edit-image.component';\nimport {CountriesComponent} from '../ui/admin/countries/countries.component';\nimport {CitiesComponent} from '../ui/admin/cities/cities.component';\nimport {NationalitiesComponent} from '../ui/admin/nationalities/nationalities.component';\nimport {ProfileComponent} from '../ui/admin/profile/profile.component';\nimport {CentersComponent} from '../ui/admin/centers/centers.component';\nimport {RlTagInputModule} from 'angular2-tag-input/dist';\nimport {DoctorsComponent} from '../ui/admin/doctors/doctors.component';\nimport {BookingsComponent} from '../ui/admin/bookings/bookings.component';\nimport {ImgFallbackModule} from 'ngx-img-fallback';\nimport {NumberOnlyDirective} from '../directive/number_only_directive';\nimport {ArabicOnlyDirective} from '../directive/arabic_only_directive';\nimport {EnglishOnlyDirective} from '../directive/english_only_directive';\nimport {ChangePasswordComponent} from '../component/change-password-component/change-password.component';\nimport {LangPipe} from '../pipe/LangPipe';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {DoctorTimesComponent} from '../ui/admin/doctors/doctor-times/doctor-times.component';\nimport {UsersComponent} from '../ui/admin/users/users.component';\nimport {BookingStatusPipe} from '../pipe/BookingStatusPipe';\nimport {BookingTypePipe} from '../pipe/BookingTypePipe';\nimport {DashboardComponent} from '../ui/admin/dashboard/dashboard.component';\n\nexport function createTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\n\nexport const components = [\n AppComponent, LoginComponent, BaseAdminComponent, AdminsComponent,\n SpecializationsComponent, EditImageComponent, CountriesComponent,\n CitiesComponent, NationalitiesComponent, ProfileComponent,\n CentersComponent, DoctorsComponent, BookingsComponent,\n ChangePasswordComponent, DoctorTimesComponent,\n UsersComponent, DashboardComponent\n];\n\nexport const directives = [\n NumberOnlyDirective,\n ArabicOnlyDirective,\n EnglishOnlyDirective\n];\n\nexport const pipes = [\n LangPipe,\n BookingStatusPipe,\n BookingTypePipe\n];\n\n@NgModule({\n declarations: [\n ...components,\n ...directives,\n ...pipes\n ],\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n ToastrModule.forRoot(),\n AppRoutingModule,\n ServiceModule,\n FormsModule,\n HttpClientModule,\n ApiModule,\n GuardModule,\n DataTableModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: (createTranslateLoader),\n deps: [HttpClient]\n }\n }),\n RlTagInputModule,\n ImgFallbackModule\n ],\n providers: [\n {provide: APP_BASE_HREF, useValue: '/clinic/'}\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tcG9uZW50L2NoYW5nZS1wYXNzd29yZC1jb21wb25lbnQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"<!-- The Modal -->\\n<div class=\\\"modal\\\" id=\\\"passwordModal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4 class=\\\"modal-title\\\">{{'app.change_admin_password'|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n\\n <form novalidate #passwordForm=\\\"ngForm\\\" (ngSubmit)=\\\"changePassword(passwordForm)\\\" class=\\\"w-100\\\">\\n\\n <div class=\\\"form-group text-right\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"password.oldPassword\\\"\\n placeholder=\\\"{{'input.enter_old_password' |translate}}\\\" required=\\\"required\\\"\\n name=\\\"old_password\\\" minlength=\\\"7\\\">\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['old_password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['old_password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length7'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group text-right\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"password.newPassword\\\"\\n placeholder=\\\"{{'input.enter_new_password' |translate}}\\\" required=\\\"required\\\"\\n name=\\\"new_password\\\" minlength=\\\"7\\\">\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['new_password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['new_password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length7'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && password.newPassword!=password.confirmedPassword\\\"\\n class=\\\"text-danger\\\">{{'validation.passwords_not_match'|translate}}</p>\\n </div>\\n\\n\\n <div class=\\\"form-group text-right\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"password.confirmedPassword\\\"\\n placeholder=\\\"{{'input.retyped_new_password' |translate}}\\\" required=\\\"required\\\"\\n name=\\\"retyped_password\\\" minlength=\\\"7\\\">\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['retyped_password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['retyped_password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length7'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && password.newPassword!=password.confirmedPassword\\\"\\n class=\\\"text-danger\\\">{{'validation.passwords_not_match'|translate}}</p>\\n </div>\\n\\n\\n <div class=\\\"form-group\\\">\\n <button class=\\\"btn btn-primary col-3\\\" type=\\\"submit\\\">{{'app.save'|translate}}</button>\\n </div>\\n\\n </form>\\n </div>\\n\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n\"","import {Component, OnInit} from '@angular/core';\nimport {NgForm} from '@angular/forms';\nimport {AdminApi} from '../../data/api/admin-api';\nimport {DialogService} from '../../service/dialog-service';\nimport {ModalService} from '../../service/modal-service';\n\n@Component({\n selector: 'app-change-password-component',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.css']\n})\nexport class ChangePasswordComponent implements OnInit {\n\n password: { oldPassword: string, newPassword: string, confirmedPassword: string, submitForm: boolean };\n adminId: string;\n\n constructor(private adminApi: AdminApi, private dialogService: DialogService, private modalService: ModalService) {\n }\n\n ngOnInit() {\n this.setDefaultData();\n }\n\n setAdminId(adminId: string) {\n this.adminId = adminId;\n }\n\n changePassword(passwordForm: NgForm) {\n this.password.submitForm = true;\n if (!passwordForm.valid || this.password.newPassword !== this.password.confirmedPassword) {\n return;\n }\n // call APi.\n const body: any = {};\n body.oldPassword = this.password.oldPassword;\n body.newPassword = this.password.newPassword;\n body.confirmNewPassword = this.password.confirmedPassword;\n this.adminApi.changePassword(body)\n .subscribe(res => {\n this.close();\n this.dialogService.successMessage(res.message);\n });\n }\n\n public open() {\n this.setDefaultData();\n this.modalService.open('passwordModal');\n }\n\n public close() {\n this.modalService.close('passwordModal');\n }\n\n private setDefaultData() {\n this.password = {confirmedPassword: '', newPassword: '', oldPassword: '', submitForm: false};\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tcG9uZW50L2VkaXQtaW1hZ2UvZWRpdC1pbWFnZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"<!-- The Modal -->\\n<div class=\\\"modal\\\" id=\\\"imageModal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4 class=\\\"modal-title\\\">{{'app.edit_image'|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n <div class=\\\"text-center\\\">\\n <img class=\\\"di-block img-fluid img-thumbnail rounded-circle\\\" [src]=\\\"imageString\\\"\\n style=\\\"width: 80px;height: 80px\\\">\\n <p class=\\\"text-danger\\\" *ngIf=\\\"uploadClick && image==null\\\">{{'validation.select_image'|translate}}</p>\\n </div>\\n <div>\\n <div class=\\\"custom-file m-2\\\">\\n <input type=\\\"file\\\" id=\\\"file\\\" class=\\\"custom-file-input\\\" (change)=\\\"selectImage($event)\\\">\\n <label class=\\\"custom-file-label\\\"></label>\\n </div>\\n\\n <button class=\\\"btn btn-primary\\\" (click)=\\\"uploadImage()\\\">{{'app.save'|translate}}</button>\\n </div>\\n\\n </div>\\n\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n\"","import {Component, OnInit} from '@angular/core';\nimport {environment} from '../../environments/environment';\nimport {UploadImageApi} from '../../data/api/upload-image-api';\nimport {ModalService} from '../../service/modal-service';\nimport {DialogService} from '../../service/dialog-service';\n\n@Component({\n selector: 'app-edit-image',\n templateUrl: './edit-image.component.html',\n styleUrls: ['./edit-image.component.css']\n})\nexport class EditImageComponent implements OnInit {\n\n image: any = null;\n imageString: string;\n uploadClick = false;\n imageId: string;\n callBack: any;\n type: string;\n\n constructor(private uploadImageApi: UploadImageApi,\n private modalService: ModalService, private dialogService: DialogService) {\n }\n\n ngOnInit() {\n }\n\n // tslint:disable-next-line:variable-name ban-types\n public setImage(imageLink: string, imageId: string, type: string, callBack: (link) => void) {\n this.imageString = environment.baseLink.concat(imageLink);\n this.imageId = imageId;\n this.callBack = callBack;\n this.type = type;\n }\n\n public open() {\n this.modalService.open('imageModal');\n }\n\n public close() {\n this.modalService.close('imageModal');\n }\n\n selectImage($event) {\n this.uploadClick = false;\n this.image = $event.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL($event.target.files[0]); // read file as data url\n reader.onload = (event: any) => { // called once readAsDataURL is completed\n this.imageString = event.target.result;\n };\n }\n\n uploadImage() {\n this.uploadClick = true;\n if (this.image == null) {\n return;\n }\n // upload image.\n const data = new FormData();\n data.append('avatar', this.image);\n this.uploadImageApi.uploadImage(this.imageId, this.type, data)\n .subscribe(res => {\n this.callBack(res.data[0].avatar);\n this.dialogService.successMessage(res.message);\n this.close();\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {AdminsResponse} from '../response/admins/admins-response';\nimport {Observable} from 'rxjs';\nimport {BaseResponse} from '../response/base-response';\nimport {AdminResponse} from '../response/login/admin-response';\nimport {AdminsCountersResponse} from '../response/admins/admins-counters-response';\n\n@Injectable()\nexport class AdminApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public admins(page: number, size: number): Observable<AdminsResponse> {\n return this.http.get<AdminsResponse>(environment.apiLink.concat(`admins?page=${page}&size=${size}`));\n }\n\n public activate(id: string): Observable<AdminResponse> {\n return this.http.put<AdminResponse>(environment.apiLink.concat(`admins/${id}/activate`), {});\n }\n\n public deActivate(id: string): Observable<AdminResponse> {\n return this.http.put<AdminResponse>(environment.apiLink.concat(`admins/${id}/deactivate`), {});\n }\n\n public changePassword(data): Observable<AdminResponse> {\n return this.http.post<AdminResponse>(environment.apiLink.concat('admins/passwords/change'), data);\n }\n\n public save(body: any): Observable<AdminsResponse> {\n return this.http.post<AdminsResponse>(environment.apiLink.concat(`admins`), body);\n }\n\n update(id: string, body: any): Observable<AdminsResponse> {\n return this.http.put<AdminsResponse>(environment.apiLink.concat(`admins/${id}`), body);\n }\n\n public statistics(): Observable<AdminsCountersResponse> {\n return this.http.get<AdminsCountersResponse>(environment.apiLink.concat(`admins/statistics`));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {ServiceModule} from '../../service/service-module';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\nimport {NetworkInterceptor} from '../../service/network-interceptor';\nimport {LoginApi} from './login-api';\nimport {AdminApi} from './admin-api';\nimport {CenterApi} from './center-api';\nimport {SpecializationApi} from './specialization-api';\nimport {UploadImageApi} from './upload-image-api';\nimport {CountryApi} from './country-api';\nimport {CityApi} from './city-api';\nimport {NationalityApi} from './nationality-api';\nimport {DoctorApi} from './doctor-api';\nimport {BookingApi} from './booking-api';\nimport {UserApi} from './user-api';\nimport {DashboardApi} from './dashboard-api';\n\n@NgModule({\n imports: [\n ServiceModule,\n HttpClientModule\n ],\n providers: [\n\n {\n provide: HTTP_INTERCEPTORS,\n useClass: NetworkInterceptor,\n multi: true\n },\n LoginApi,\n AdminApi,\n CenterApi,\n SpecializationApi,\n UploadImageApi,\n CountryApi,\n CityApi,\n NationalityApi,\n DoctorApi,\n BookingApi,\n UserApi,\n DashboardApi\n ]\n})\nexport class ApiModule {\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {Observable} from 'rxjs';\nimport {BookingsCountersResponse} from '../response/bookings/bookings-counters-response';\nimport {BookingsResponse} from '../response/bookings/bookings-response';\n\n@Injectable()\nexport class BookingApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public bookings(searchBy): Observable<BookingsResponse> {\n return this.http.get<BookingsResponse>(environment.apiLink.concat(`bookings${searchBy}`));\n }\n\n public confirm(id: string): Observable<BookingsResponse> {\n return this.http.put<BookingsResponse>(environment.apiLink.concat(`bookings/${id}/confirm`), {});\n }\n\n public cancel(id: string): Observable<BookingsResponse> {\n return this.http.put<BookingsResponse>(environment.apiLink.concat(`bookings/${id}/cancel`), {});\n }\n\n\n public statistics(): Observable<BookingsCountersResponse> {\n return this.http.get<BookingsCountersResponse>(environment.apiLink.concat(`bookings/statistics`));\n }\n\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {CentersResponse} from '../response/centers/centers-response';\nimport {Observable} from 'rxjs';\nimport {CentersCountersResponse} from '../response/centers/centers-counters-response';\n\n@Injectable()\nexport class CenterApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public centers(page: number, size: number): Observable<CentersResponse> {\n return this.http.get<CentersResponse>(environment.apiLink.concat(`centers?page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n\n public activeCenters(page: number, size: number): Observable<CentersResponse> {\n return this.http.get<CentersResponse>(environment.apiLink.concat(`centers?page=${page}&size=${size}&lang=all`));\n }\n\n public save(data): Observable<CentersResponse> {\n return this.http.post<CentersResponse>(environment.apiLink.concat('centers?lang=all'), data);\n }\n\n public update(id: string, data) {\n return this.http.put<CentersResponse>(environment.apiLink.concat(`centers/${id}/?lang=all`), data);\n }\n\n public activate(id: string) {\n return this.http.put<CentersResponse>(environment.apiLink.concat(`centers/${id}/activate?lang=all`), {});\n }\n\n public deactivate(id: string) {\n return this.http.put<CentersResponse>(environment.apiLink.concat(`centers/${id}/deactivate?lang=all`), {});\n }\n\n public statistics(): Observable<CentersCountersResponse> {\n return this.http.get<CentersCountersResponse>(environment.apiLink.concat(`centers/statistics`));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {CitiesResponse} from '../response/cities/cities-response';\nimport {Observable} from 'rxjs';\nimport {BaseResponse} from '../response/base-response';\nimport {CitiesCountersResponse} from '../response/cities/cities-counters-response';\n\n@Injectable()\nexport class CityApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public cities(countryId: string, page: number, size: number): Observable<CitiesResponse> {\n return this.http.get<CitiesResponse>(environment.apiLink\n .concat(`cities?countryId=${countryId}&page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n public activeCities(countryId: string, page: number, size: number): Observable<CitiesResponse> {\n return this.http.get<CitiesResponse>(environment.apiLink\n .concat(`cities?countryId=${countryId}&page=${page}&size=${size}&lang=all`));\n }\n\n public allActiveCities(): Observable<CitiesResponse> {\n return this.http.get<CitiesResponse>(environment.apiLink\n .concat(`cities/all_active_cities`));\n }\n\n\n public save(data): Observable<CitiesResponse> {\n return this.http.post<CitiesResponse>(environment.apiLink.concat(`cities?lang=all`), data);\n }\n\n\n public update(id: string, data): Observable<CitiesResponse> {\n return this.http.put<CitiesResponse>(environment.apiLink.concat(`cities/${id}/?lang=all`), data);\n }\n\n\n public activate(id: string): Observable<CitiesResponse> {\n return this.http.put<CitiesResponse>(environment.apiLink.concat(`cities/${id}/activate/?lang=all`), {});\n }\n\n\n public deactivate(id: string): Observable<CitiesResponse> {\n return this.http.put<CitiesResponse>(environment.apiLink.concat(`cities/${id}/deactivate/?lang=all`), {});\n }\n\n public delete(id: string): Observable<BaseResponse> {\n return this.http.delete<BaseResponse>(environment.apiLink.concat(`cities/${id}`), {});\n }\n\n public statistics(): Observable<CitiesCountersResponse> {\n return this.http.get<CitiesCountersResponse>(environment.apiLink.concat(`cities/statistics`));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {CountriesResponse} from '../response/countries/countries-response';\nimport {Observable} from 'rxjs';\nimport {CountriesCountersResponse} from '../response/countries/countries-counters-response';\n\n@Injectable()\nexport class CountryApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public countries(page: number, size: number): Observable<CountriesResponse> {\n return this.http.get<CountriesResponse>(environment.apiLink.concat(`countries?page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n public activeCountries(page: number, size: number): Observable<CountriesResponse> {\n return this.http.get<CountriesResponse>(environment.apiLink.concat(`countries?page=${page}&size=${size}&lang=all`));\n }\n\n public save(data): Observable<CountriesResponse> {\n return this.http.post<CountriesResponse>(environment.apiLink.concat(`countries?lang=all`), data);\n }\n\n public update(id: string, data): Observable<CountriesResponse> {\n return this.http.put<CountriesResponse>(environment.apiLink.concat(`countries/${id}/?lang=all`), data);\n }\n\n public activate(id: string): Observable<CountriesResponse> {\n return this.http.put<CountriesResponse>(environment.apiLink.concat(`countries/${id}/activate?lang=all`), {});\n }\n\n public deActivate(id: string): Observable<CountriesResponse> {\n return this.http.put<CountriesResponse>(environment.apiLink.concat(`countries/${id}/deactivate?lang=all`), {});\n }\n\n public statistics(): Observable<CountriesCountersResponse> {\n return this.http.get<CountriesCountersResponse>(environment.apiLink.concat(`countries/statistics`), {});\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {AdminDashboardCounters} from '../response/dashboard/admin-dashboard-counters';\nimport {environment} from '../../environments/environment';\n\n\n@Injectable()\nexport class DashboardApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public superAdminDashboard(filterDate = null): Observable<AdminDashboardCounters> {\n let link = environment.apiLink.concat(`dashboard/super_admin_dashboard`);\n if (filterDate != null && filterDate !== '') {\n link = link.concat('?filterDate=').concat(filterDate);\n }\n return this.http.get<AdminDashboardCounters>(link);\n }\n\n public centerAdminDashboard(filterDate = null): Observable<AdminDashboardCounters> {\n let link = environment.apiLink.concat(`dashboard/center_admin_dashboard`);\n if (filterDate != null && filterDate !== '') {\n link = link.concat('?filterDate=').concat(filterDate);\n }\n return this.http.get<AdminDashboardCounters>(link);\n }\n\n public nurseAdminDashboard(filterDate = null): Observable<AdminDashboardCounters> {\n let link = environment.apiLink.concat(`dashboard/nurse_admin_dashboard`);\n if (filterDate != null && filterDate !== '') {\n link = link.concat('?filterDate=').concat(filterDate);\n }\n return this.http.get<AdminDashboardCounters>(link);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {DoctorsResponse} from '../response/doctors/doctors-response';\nimport {Observable} from 'rxjs';\nimport {DoctorsCountersResponse} from '../response/doctors/doctors-counters-response';\n\n@Injectable()\nexport class DoctorApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public save(data): Observable<DoctorsResponse> {\n return this.http.post<DoctorsResponse>(environment.apiLink.concat('doctors?lang=all'), data);\n }\n\n public doctors(page: number, size: number): Observable<DoctorsResponse> {\n return this.http.get<DoctorsResponse>(environment.apiLink.concat(`doctors?page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n\n public activate(id: string): Observable<DoctorsResponse> {\n return this.http.put<DoctorsResponse>(environment.apiLink.concat(`doctors/${id}/activate`), {});\n }\n\n public deactivate(id: string): Observable<DoctorsResponse> {\n return this.http.put<DoctorsResponse>(environment.apiLink.concat(`doctors/${id}/deactivate`), {});\n }\n\n public search(searchBy: string): Observable<DoctorsResponse> {\n return this.http.get<DoctorsResponse>(environment.apiLink.concat(`doctors/search` + searchBy));\n }\n\n\n public update(id: string, data): Observable<DoctorsResponse> {\n return this.http.put<DoctorsResponse>(environment.apiLink.concat(`doctors/${id}/?lang=all`), data);\n }\n\n public statistics(): Observable<DoctorsCountersResponse> {\n return this.http.get<DoctorsCountersResponse>(environment.apiLink.concat(`doctors/statistics`));\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {AdminResponse} from '../response/login/admin-response';\nimport {Observable} from 'rxjs';\n\n@Injectable()\nexport class LoginApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n\n public login(email: string, password: string): Observable<AdminResponse> {\n return this.http.post<AdminResponse>(environment.apiLink.concat('admins/login'), {username: email, password});\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {Observable} from 'rxjs';\nimport {NationalitiesResponse} from '../response/nationalities/nationalities-response';\nimport {BaseResponse} from '../response/base-response';\nimport {NationalitiesCountersResponse} from '../response/nationalities/nationalities-counters-response';\n\n@Injectable()\nexport class NationalityApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public nationalities(page: number, size: number): Observable<NationalitiesResponse> {\n return this.http.get<NationalitiesResponse>(environment.apiLink.concat(`nationalities?page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n public activeNationalities(page: number, size: number): Observable<NationalitiesResponse> {\n return this.http.get<NationalitiesResponse>(environment.apiLink\n .concat(`nationalities?page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n public save(data): Observable<NationalitiesResponse> {\n return this.http.post<NationalitiesResponse>(environment.apiLink.concat(`nationalities?lang=all`), data);\n }\n\n public update(id: string, data): Observable<NationalitiesResponse> {\n return this.http.put<NationalitiesResponse>(environment.apiLink.concat(`nationalities/${id}/?lang=all`), data);\n }\n\n public activate(id: string): Observable<NationalitiesResponse> {\n return this.http.put<NationalitiesResponse>(environment.apiLink.concat(`nationalities/${id}/activate/?lang=all`), {});\n }\n\n public deActivate(id: string): Observable<NationalitiesResponse> {\n return this.http.put<NationalitiesResponse>(environment.apiLink.concat(`nationalities/${id}/deactivate/?lang=all`), {});\n }\n\n public delete(id: string): Observable<BaseResponse> {\n return this.http.delete<BaseResponse>(environment.apiLink.concat(`nationalities/${id}`), {});\n }\n\n public statistics(): Observable<NationalitiesCountersResponse> {\n return this.http.get<NationalitiesCountersResponse>(environment.apiLink.concat(`nationalities/statistics`));\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {SpecializationsResponse} from '../response/specializations/specializations-response';\nimport {Observable} from 'rxjs';\nimport {BaseResponse} from '../response/base-response';\nimport {SpecializationsCountersResponse} from '../response/specializations/specializations-counters-response';\n\n@Injectable()\nexport class SpecializationApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public specializations(page: number, size: number): Observable<SpecializationsResponse> {\n return this.http.get<SpecializationsResponse>(environment.apiLink.concat(`specialities?page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n public activeSpecializations(page: number, size: number): Observable<SpecializationsResponse> {\n return this.http.get<SpecializationsResponse>(environment.apiLink.concat(`specialities?page=${page}&size=${size}&lang=all`));\n }\n\n public save(data): Observable<SpecializationsResponse> {\n return this.http.post<SpecializationsResponse>(environment.apiLink.concat('specialities?lang=all'), data);\n }\n\n public update(id: string, data) {\n return this.http.put<SpecializationsResponse>(environment.apiLink.concat(`specialities/${id}/?lang=all`), data);\n }\n\n\n public activate(id: string) {\n return this.http.put<SpecializationsResponse>(environment.apiLink.concat(`specialities/${id}/activate?lang=all`), {});\n }\n\n public deActivate(id: string) {\n return this.http.put<SpecializationsResponse>(environment.apiLink.concat(`specialities/${id}/deactivate?lang=all`), {});\n }\n\n\n public delete(id: string): Observable<BaseResponse> {\n return this.http.delete<BaseResponse>(environment.apiLink.concat(`specialities/${id}`), {});\n }\n\n\n public statistics(): Observable<SpecializationsCountersResponse> {\n return this.http.get<SpecializationsCountersResponse>(environment.apiLink.concat(`specialities/statistics`));\n }\n\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {UploadImageResponse} from '../response/upload-image/upload-image-response';\nimport {Observable} from 'rxjs';\n\n@Injectable()\nexport class UploadImageApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public uploadImage(id: string, type: string, data): Observable<UploadImageResponse> {\n return this.http.post<UploadImageResponse>(environment.apiLink.concat(`avatars/${id}?type=${type}`), data);\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {environment} from '../../environments/environment';\nimport {UsersResponse} from '../response/users/users-response';\nimport {Observable} from 'rxjs';\nimport {UsersCounters, UsersCountersResponse} from '../response/users/users-counters-response';\nimport {Injectable} from '@angular/core';\nimport {CitiesResponse} from '../response/cities/cities-response';\n\n@Injectable()\nexport class UserApi {\n\n constructor(private http: HttpClient) {\n\n }\n\n public users(page: number, size: number): Observable<UsersResponse> {\n return this.http.get<UsersResponse>(environment.apiLink.concat(`users?page=${page}&size=${size}&lang=all&status=ALL`));\n }\n\n public statistics(): Observable<UsersCountersResponse> {\n return this.http.get<UsersCountersResponse>(environment.apiLink.concat(`users/statistics`));\n }\n\n public activate(id: string): Observable<UsersResponse> {\n return this.http.put<UsersResponse>(environment.apiLink.concat(`users/${id}/activate/?lang=all`), {});\n }\n\n\n public deactivate(id: string): Observable<UsersResponse> {\n return this.http.put<UsersResponse>(environment.apiLink.concat(`users/${id}/deactivate/?lang=all`), {});\n }\n}\n","import {Directive, ElementRef, HostListener} from '@angular/core';\nimport {TranslatePipe, TranslateService} from '@ngx-translate/core';\n\n@Directive({\n selector: '[appArabicOnly]'\n})\nexport class ArabicOnlyDirective {\n AllowedString = ' Backspace لإإ‘ألأٍِـْآ ذضصثقفغعهخحجدطكمنتالبيسشظزوةىلارؤءئ';\n private specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', '-'];\n tr: TranslatePipe;\n\n constructor(private el: ElementRef) {\n\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n // Allow Backspace, tab, end, and home keys\n const current: string = this.el.nativeElement.value;\n const next: string = current.concat(event.key);\n if (this.AllowedString.indexOf(event.key) === -1) {\n event.preventDefault();\n }\n }\n}\n","import {Directive, ElementRef, HostListener} from '@angular/core';\n\n\n@Directive({selector: '[appEnglishOnly]'})\nexport class EnglishOnlyDirective {\n AllowedString = ' qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM Backspace';\n private specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', '-'];\n\n constructor(private el: ElementRef\n ) {\n\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n // Allow Backspace, tab, end, and home keys\n\n const current: string = this.el.nativeElement.value;\n const next: string = current.concat(event.key);\n if (this.AllowedString.indexOf(event.key) === -1\n ) {\n event.preventDefault();\n }\n }\n}\n","import {Directive, ElementRef, HostListener} from '@angular/core';\n\n@Directive({\n selector: '[appNumberOnly]'\n})\nexport class NumberOnlyDirective {\n // Allow decimal numbers and negative values\n private regex: RegExp = new RegExp(/^-?[0-9]+(\\.[0-9]*){0,1}$/g);\n // Allow key codes for special events. Reflect :\n // Backspace, tab, end, home\n private specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', '-'];\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n // Allow Backspace, tab, end, and home keys\n if (this.specialKeys.indexOf(event.key) !== -1) {\n return;\n }\n const current: string = this.el.nativeElement.value;\n const next: string = current.concat(event.key);\n\n if (next !== 'Backspace') {\n if (next && !String(next).match(this.regex)) {\n event.preventDefault();\n }\n }\n\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n /*apiLink: 'http://127.0.0.2:3000/api/v1/',\n baseLink: 'http://127.0.0.2:3000/uploads/'*/\n apiLink: 'http://149.28.244.20/clinic_admin/api/v1/',\n baseLink: 'http://149.28.244.20/clinic_admin/'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n\n","import {NgModule} from '@angular/core';\nimport {MustLoginGuard} from './must-login-guard';\nimport {MustBeGuestGuard} from './must-be-guest-guard';\n\n@NgModule({\n providers: [MustLoginGuard, MustBeGuestGuard]\n})\nexport class GuardModule {\n\n}\n","import {Injectable} from '@angular/core';\nimport {AdminService} from '../service/admin-service';\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';\nimport {Observable} from 'rxjs';\n\n@Injectable()\nexport class MustBeGuestGuard implements CanActivate {\n\n constructor(private adminService: AdminService, private router: Router) {\n\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):\n Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n if (this.adminService.getAdmin()) {\n this.router.navigateByUrl('admin');\n return false;\n }\n return true;\n }\n}\n","import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {AdminService} from '../service/admin-service';\nimport {Injectable} from '@angular/core';\n\n@Injectable()\nexport class MustLoginGuard implements CanActivate {\n\n constructor(private adminService: AdminService, private router: Router) {\n\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):\n Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n if (this.adminService.getAdmin()) {\n // admin is register.\n return true;\n } else {\n // no admin found.\n this.router.navigateByUrl('guest/login');\n return false;\n }\n }\n\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {LanguageService} from '../service/language-service';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Pipe({\n name: 'booking_status',\n pure: false\n})\nexport class BookingStatusPipe implements PipeTransform {\n\n\n constructor(private translator: TranslateService) {\n }\n\n transform(value: string, ...args: any[]): any {\n return this.translator.instant('booking_status.' + value.toLowerCase());\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {LanguageService} from '../service/language-service';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Pipe({\n name: 'booking_type',\n pure: false\n})\nexport class BookingTypePipe implements PipeTransform {\n\n\n constructor(private translator: TranslateService) {\n }\n\n transform(value: string, ...args: any[]): any {\n return this.translator.instant('booking_type.' + value.toLowerCase());\n }\n\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {LanguageService} from '../service/language-service';\n\n@Pipe({\n name: 'lang',\n pure: false\n})\nexport class LangPipe implements PipeTransform {\n\n appLanguage: string = null;\n\n constructor(private translator: LanguageService) {\n this.appLanguage = translator.getAppLanguage();\n }\n\n transform(value: any, ...args: any[]): any {\n if (value == null) {\n return '';\n }\n\n if (this.appLanguage === 'ar') {\n return value.ar;\n }\n return value.en;\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Admin} from '../data/response/login/admin-response';\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class AdminService {\n admin: Admin;\n\n constructor() {\n\n }\n\n setAdmin(admin: Admin, saveInCache: boolean) {\n this.admin = admin;\n if (saveInCache) {\n localStorage.setItem('admin', JSON.stringify(admin));\n }\n }\n\n getAdmin() {\n if (this.admin == null) {\n const adminInCache = localStorage.getItem('admin');\n if (adminInCache) {\n this.admin = JSON.parse(adminInCache);\n }\n }\n return this.admin;\n }\n\n removeAdmin() {\n this.admin = null;\n localStorage.removeItem('admin');\n }\n\n\n}\n","import {Injectable, NgZone, Renderer2} from '@angular/core';\n\ndeclare var $;\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class CommonService {\n\n constructor(private ngZone: NgZone) {\n\n }\n\n showLoader() {\n this.ngZone.runOutsideAngular(() => {\n const loader: HTMLElement = $('#circle');\n if (loader) {\n $(loader).show();\n }\n\n });\n }\n\n hideLoader() {\n this.ngZone.runOutsideAngular(() => {\n const loader: HTMLElement = $('#circle');\n if (loader) {\n $(loader).hide();\n }\n });\n }\n}\n\n","// CommonJS\nimport Swal from 'sweetalert2';\nimport {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class DialogService {\n\n constructor(private translator: TranslateService) {\n\n }\n\n\n public showText(text: string) {\n Swal.fire(text);\n }\n\n public showErrorDialog(error: string) {\n this.translator.get('errors.error').subscribe(value => {\n Swal.fire({\n title: value,\n text: error,\n type: 'error',\n confirmButtonText: this.translator.instant('app.ok')\n });\n\n });\n }\n\n\n public showError(title: string = 'Error', message: string = 'Error in server.') {\n Swal.fire(\n title,\n message,\n 'error'\n );\n }\n\n\n public showErrorMessage(message: string = 'Error in server.') {\n Swal.fire(\n this.translator.instant('errors.error'),\n this.translator.instant(message),\n 'error'\n );\n }\n\n public showDeleteItem(callback: () => any) {\n Swal.fire({\n title: this.translator.instant('dialog.delete_title'),\n text: this.translator.instant('dialog.delete_message'),\n type: 'error',\n showCancelButton: true,\n confirmButtonColor: '#00afb7',\n cancelButtonColor: '#b73100',\n confirmButtonText: this.translator.instant('dialog.yes'),\n cancelButtonText: this.translator.instant('dialog.no'),\n }).then((result) => {\n if (result.value) {\n callback();\n\n }\n });\n }\n\n\n public confirmation(titleKey: string, callback: () => any) {\n Swal.fire({\n title: this.translator.instant(titleKey),\n type: 'error',\n showCancelButton: true,\n confirmButtonColor: '#00afb7',\n cancelButtonColor: '#b73100',\n confirmButtonText: this.translator.instant('Yes'),\n cancelButtonText: this.translator.instant('No'),\n }).then((result) => {\n if (result.value) {\n callback();\n\n }\n });\n }\n\n public confirmationWithTitle(titleKey: string, callback: () => any) {\n Swal.fire({\n title: titleKey,\n type: 'info',\n showCancelButton: true,\n confirmButtonColor: '#00afb7',\n cancelButtonColor: '#b73100',\n confirmButtonText: this.translator.instant('app.yes'),\n cancelButtonText: this.translator.instant('app.no'),\n }).then((result) => {\n if (result.value) {\n callback();\n }\n });\n }\n\n\n public successMessage(message: string = 'Done') {\n Swal.fire({\n type: 'success',\n title: this.translator.instant(message),\n showConfirmButton: false,\n timer: 1500\n });\n\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\n\ndeclare var $;\n\n@Injectable()\nexport class LanguageService {\n\n constructor(private translator: TranslateService) {\n\n }\n\n public setAppLanguage() {\n let appLanguage = this.getAppLanguage();\n if (appLanguage === null) {\n appLanguage = 'ar';\n localStorage.setItem('language', 'ar');\n }\n this.translator.setDefaultLang(appLanguage);\n this.translator.use(appLanguage);\n const html = $('html');\n html.prop('lang', appLanguage);\n if (appLanguage === 'ar') {\n html.prop('dir', 'rtl');\n html.removeClass('ltr');\n html.addClass('rtl');\n } else {\n html.prop('dir', 'ltr');\n html.removeClass('rtl');\n html.addClass('ltr');\n }\n }\n\n public changeLanguage() {\n const currentLanguage = this.getAppLanguage();\n let newLanguage = '';\n if (currentLanguage === null) {\n newLanguage = 'en';\n } else if (currentLanguage === 'ar') {\n newLanguage = 'en';\n } else {\n newLanguage = 'ar';\n }\n localStorage.setItem('language', newLanguage);\n this.setAppLanguage();\n }\n\n\n public getAppLanguage() {\n return localStorage.getItem('language');\n }\n\n}\n","import {Injectable} from '@angular/core';\n\ndeclare var $;\n\n@Injectable()\nexport class ModalService {\n\n\n public open(id: string) {\n $(`#${id}`).modal('show');\n }\n\n public close(id: string) {\n $(`#${id}`).modal('hide');\n }\n}\n","import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {CommonService} from './common-service';\nimport {AdminService} from './admin-service';\nimport {tap} from 'rxjs/internal/operators/tap';\nimport {DialogService} from './dialog-service';\nimport {Injectable} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {LanguageService} from './language-service';\nimport {ToastService} from './toast-service';\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class NetworkInterceptor implements HttpInterceptor {\n\n constructor(private commonService: CommonService,\n private adminService: AdminService,\n private dialogService: DialogService,\n private langService: LanguageService,\n private toastService: ToastService,\n private router: Router) {\n\n }\n\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n // modify request\n this.commonService.showLoader();\n const admin = this.adminService.getAdmin();\n\n if (admin) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${admin.token}`\n }\n });\n }\n\n const appLang = this.langService.getAppLanguage();\n request = request.clone({\n setHeaders: {\n 'Accept-Language': appLang\n }\n });\n\n return next.handle(request)\n .pipe(\n tap(event => {\n if (event instanceof HttpResponse) {\n this.commonService.hideLoader();\n }\n }, error => {\n this.commonService.hideLoader();\n if (error.status === 401) {\n // unauthorized.\n this.toastService.showErrorToast(error.error.message);\n this.adminService.removeAdmin();\n this.router.navigateByUrl('guest/login');\n } else {\n this.dialogService.showErrorDialog(error.error.message);\n }\n })\n );\n\n }\n\n}\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PageHeaderInfoService {\n public icon = '';\n public title = '';\n public subTitle = '';\n\n public setData(icon: string, title: string, subTitle: string) {\n this.icon = icon;\n this.title = title;\n this.subTitle = subTitle;\n }\n\n}\n","import {NgModule} from '@angular/core';\nimport {AdminService} from './admin-service';\nimport {CommonService} from './common-service';\nimport {NetworkInterceptor} from './network-interceptor';\nimport {DialogService} from './dialog-service';\nimport {ModalService} from './modal-service';\nimport {PageHeaderInfoService} from './page-header-info-service';\nimport {LanguageService} from './language-service';\nimport {ToastService} from './toast-service';\n\n@NgModule(\n {\n providers: [\n AdminService,\n CommonService,\n NetworkInterceptor,\n DialogService,\n ModalService,\n PageHeaderInfoService,\n LanguageService,\n ToastService\n ]\n }\n)\nexport class ServiceModule {\n\n}\n","import {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ToastrManager} from 'ng6-toastr-notifications';\n\n@Injectable()\nexport class ToastService {\n\n constructor(private toaster: ToastrManager, private translator: TranslateService) {\n }\n\n public showErrorToast(message) {\n this.toaster.errorToastr(message);\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vYWRtaW5zL2FkbWlucy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"<!--admin counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCountersView\\\" [class.fa-chevron-up]=\\\"showCountersView\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCountersView =!showCountersView\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCountersView\\\">\\n <p class=\\\"text-muted mb-1 tx-20 font-weight-bold\\\">{{'app.admins'|translate}}</p>\\n <div class=\\\"row row-sm\\\">\\n\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.admins.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.admins.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.admins.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n\\n <p class=\\\"text-muted mb-1 tx-20 font-weight-bold\\\">{{'app.nurses'|translate}}</p>\\n <div class=\\\"row row-sm\\\">\\n\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.nurses.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.nurses.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.nurses.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n\\n <p class=\\\"text-muted mb-1 tx-20 font-weight-bold\\\">{{'app.super_admins'|translate}}</p>\\n <div class=\\\"row row-sm\\\">\\n\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.superAdmins.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.superAdmins.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{adminCounters?.superAdmins.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n<!--add admin view-->\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-row mb-2\\\">\\n <button class=\\\"btn btn-primary col-2\\\" (click)=\\\"addAdminClick()\\\">{{'app.add_admin'|translate}}</button>\\n </div>\\n\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"admins\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n <mfDefaultSorter by=\\\"fullName\\\">{{'table.full_name'|translate}}</mfDefaultSorter>\\n </th>\\n\\n <th>\\n <mfDefaultSorter by=\\\"email\\\">{{'table.email'|translate}}</mfDefaultSorter>\\n </th>\\n\\n <th>\\n <mfDefaultSorter by=\\\"phone\\\">{{'table.phone'|translate}}</mfDefaultSorter>\\n </th>\\n\\n <th>\\n <mfDefaultSorter by=\\\"adminType\\\">{{'table.type'|translate}}</mfDefaultSorter>\\n </th>\\n\\n <th>\\n {{'table.created_at'|translate}}\\n </th>\\n\\n <th>\\n {{'table.image'|translate}}\\n </th>\\n\\n <th>\\n {{'table.edit_image'|translate}}\\n </th>\\n\\n <th>\\n {{'table.change_password'|translate}}\\n </th>\\n\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n\\n <th>\\n {{'table.deleted'|translate}}\\n </th>\\n\\n <th>\\n {{'table.edit'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let admin of admins;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{admin.fullName}}</td>\\n <td>{{admin.email}}</td>\\n <td>{{admin.phone}}</td>\\n <td>{{admin.adminType}}</td>\\n <td>\\n {{admin.createdAt}}\\n </td>\\n <td><img [src]=\\\"getAdminImage(admin.avatar)\\\" class=\\\"img-thumbnail rounded-circle\\\"\\n style=\\\"width: 40px;height: 40px\\\">\\n </td>\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\" (click)=\\\"editImageClick(i, admin)\\\">\\n <i class=\\\"fa fa-edit\\\"></i>{{'app.edit'|translate}}</span>\\n </td>\\n\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\" (click)=\\\"changePasswordClick(i, admin)\\\">\\n <i class=\\\"fa fa-lock-open\\\"></i>{{'app.change'|translate}}</span>\\n </td>\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"admin.isActive\\\" (click)=\\\"changeAdminActivationClick(i , admin)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n <td>\\n <i class=\\\"fa text-primary fa-2x\\\" [class.fa-check-circle]=\\\"admin.isDeleted\\\"\\n [class.fa-times-circle]=\\\"!admin.isDeleted\\\"></i>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-edit text-success\\\" (click)=\\\"editAdminClick(i, admin)\\\"></i>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!--add edit admin modal-->\\n<div class=\\\"modal fade\\\" id=\\\"adminModal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4\\n class=\\\"modal-title\\\">{{((admin.index > -1 ? 'app.edit_admin' : 'app.add_admin'))|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n\\n <div class=\\\"row\\\">\\n <div class=\\\"col-12\\\">\\n <form novalidate #adminForm=\\\"ngForm\\\">\\n\\n <div class=\\\"form-group\\\">\\n <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"admin.fullName\\\"\\n placeholder=\\\"{{'input.enter_name' |translate}}\\\" required=\\\"required\\\" name=\\\"full_name\\\"\\n minlength=\\\"6\\\">\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['full_name'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['full_name'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length_6'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <input type=\\\"email\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"admin.email\\\"\\n placeholder=\\\"{{'input.enter_email' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"email\\\"\\n pattern=\\\"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{1,63}$\\\">\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['email'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['email'].errors?.pattern\\\"\\n class=\\\"text-danger\\\">{{'validation.invalid_email'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <input appNumberOnly type=\\\"phone\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"admin.phone\\\"\\n placeholder=\\\"{{'input.enter_phone' |translate}}\\\" required=\\\"required\\\" name=\\\"phone\\\" minlength=\\\"6\\\">\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['phone'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['phone'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length_6'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group\\\" *ngIf=\\\"admin.id==''\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"admin.password\\\"\\n placeholder=\\\"{{'input.enter_password' |translate}}\\\" required=\\\"required\\\" name=\\\"password\\\"\\n minlength=\\\"7\\\">\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"admin.submitForm && adminForm.controls['password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length_7'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group\\\">\\n <label>{{'app.admin_type'|translate}}</label>\\n <select name=\\\"type\\\" class=\\\"form-control\\\" (change)=\\\"admin.type = $event.target['value']\\\">\\n <option value=\\\"SUPER_ADMIN\\\" selected>{{'admin_type.super_admin'|translate}}</option>\\n <option value=\\\"ADMIN\\\">{{'admin_type.admin'|translate}}</option>\\n <option value=\\\"NURSE\\\">{{'admin_type.nurse'|translate}}</option>\\n </select>\\n </div>\\n\\n <div class=\\\"form-group\\\" *ngIf=\\\"admin.type !='SUPER_ADMIN'\\\">\\n <label>{{'app.center'|translate}}</label>\\n <select name=\\\"type\\\" class=\\\"form-control\\\" (change)=\\\"admin.center = $event.target['value']\\\">\\n <option selected value=\\\"\\\">{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let center of centers\\\" [value]=\\\"center._id\\\">{{center.name |lang}}</option>\\n </select>\\n\\n <p *ngIf=\\\"admin.submitForm && admin.type !='SUPER_ADMIN' && admin.center==''\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n </form>\\n </div>\\n </div>\\n </div>\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button class=\\\"btn btn-primary\\\" (click)=\\\"saveAdmin(adminForm)\\\">{{'app.save'|translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n\\n<app-edit-image #editImageComponent></app-edit-image>\\n<app-change-password-component #changePasswordComponentComponent></app-change-password-component>\\n\\n\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {Admin} from '../../../data/response/login/admin-response';\nimport {AdminApi} from '../../../data/api/admin-api';\nimport {environment} from '../../../environments/environment';\nimport {CenterApi} from '../../../data/api/center-api';\nimport {Center} from '../../../data/response/centers/centers-response';\nimport {NgForm} from '@angular/forms';\nimport {ModalService} from '../../../service/modal-service';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {DialogService} from '../../../service/dialog-service';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\nimport {ChangePasswordComponent} from '../../../component/change-password-component/change-password.component';\nimport {AdminCountrs, AdminsCountersResponse} from '../../../data/response/admins/admins-counters-response';\n\ndeclare var $;\n\n@Component({\n selector: 'app-admins',\n templateUrl: './admins.component.html',\n styleUrls: ['./admins.component.css']\n})\nexport class AdminsComponent implements OnInit {\n\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n @ViewChild('changePasswordComponentComponent')\n changePasswordComponentComponent: ChangePasswordComponent;\n\n admins: Admin[] = [];\n centers: Center[] = [];\n adminCounters: AdminCountrs;\n showCountersView = false;\n\n admin: {\n fullName: string, email: string, type: string, center: string, id: string,\n index: number, submitForm: boolean, phone: string, password: string\n };\n oldAdminData: {\n fullName: string, email: string, type: string, center: string, id: string, phone: string\n };\n\n\n constructor(private adminApi: AdminApi, private centerApi: CenterApi, private modalService: ModalService,\n private headerInfoService: PageHeaderInfoService,\n private dialogService: DialogService) {\n headerInfoService.setData('fa-users', 'app.admins', '');\n }\n\n ngOnInit() {\n this.loadCenters();\n this.loadAdmins();\n this.loadAdminStatistics();\n this.setDefaultAdmin();\n }\n\n private loadAdmins() {\n this.adminApi.admins(1, 1000000)\n .subscribe(res => {\n this.admins = res.data;\n });\n }\n\n getAdminImage(avatar: string) {\n return environment.baseLink.concat(avatar);\n }\n\n changeAdminActivationClick(i: number, admin: Admin) {\n if (admin.isActive) {\n // deactivate.\n this.adminApi.deActivate(admin._id).subscribe(res => {\n admin.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate.\n this.adminApi.activate(admin._id).subscribe(res => {\n admin.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n editAdminClick(i: number, admin: Admin) {\n this.admin = {\n id: admin._id, submitForm: false, center: '',\n type: admin.adminType, phone: admin.phone, password: '', fullName: admin.fullName, index: i, email: admin.email\n };\n this.oldAdminData = {\n center: this.admin.center, email: this.admin.email,\n fullName: this.admin.fullName, id: this.admin.id, phone: this.admin.phone, type: this.admin.type\n };\n this.modalService.open('adminModal');\n }\n\n private setDefaultAdmin() {\n this.admin = {\n center: '', email: '', fullName: '', id: '', index: -1,\n submitForm: false, type: 'SUPER_ADMIN', phone: '', password: ''\n };\n this.oldAdminData = {\n center: '', email: '', fullName: '', id: '', type: 'SUPER_ADMIN', phone: ''\n };\n }\n\n private loadCenters() {\n this.centerApi.centers(1, 100000).subscribe(res => {\n this.centers = res.data;\n });\n }\n\n saveAdmin(adminForm: NgForm) {\n this.admin.submitForm = true;\n if (!adminForm.valid || (this.admin.type !== 'SUPER_ADMIN' && this.admin.center === '')) {\n return;\n }\n\n // call APi.\n if (this.admin.id !== '') {\n // edit.\n const body = this.getChangedAdminData();\n this.adminApi.update(this.admin.id, body).subscribe(res => {\n this.admins[this.admin.index] = res.data[0];\n this.modalService.close('adminModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultAdmin();\n });\n } else {\n // add admin.\n const body: any = {};\n body.fullName = this.admin.fullName;\n body.phone = this.admin.phone;\n body.email = this.admin.email;\n body.adminType = this.admin.type;\n body.password = this.admin.password;\n if (this.admin.center !== '') {\n body.centerId = this.admin.center;\n }\n this.adminApi.save(body).subscribe(res => {\n this.admins.push(res.data[0]);\n this.modalService.close('adminModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultAdmin();\n });\n }\n }\n\n addAdminClick() {\n this.setDefaultAdmin();\n this.modalService.open('adminModal');\n }\n\n editImageClick(i: number, admin: Admin) {\n this.editImageComponent.setImage(admin.avatar, admin._id, 'admin', link => {\n admin.avatar = link;\n });\n this.editImageComponent.open();\n }\n\n private getChangedAdminData() {\n const body: any = {};\n if (this.oldAdminData.fullName !== this.admin.fullName) {\n body.fullName = this.admin.fullName;\n }\n\n if (this.oldAdminData.email !== this.admin.email) {\n body.email = this.admin.email;\n }\n\n if (this.oldAdminData.phone !== this.admin.phone) {\n body.phone = this.admin.phone;\n }\n\n if (this.oldAdminData.type !== this.admin.type) {\n body.adminType = this.admin.type;\n }\n\n if (this.admin.type !== 'SUPER_ADMIN') {\n body.centerId = this.admin.center;\n }\n return body;\n }\n\n changePasswordClick(i: number, admin: Admin) {\n this.changePasswordComponentComponent.setAdminId(admin._id);\n this.changePasswordComponentComponent.open();\n }\n\n private loadAdminStatistics() {\n this.adminApi.statistics().subscribe(res => {\n this.adminCounters = res.data[0];\n });\n }\n}\n","module.exports = \".menu-item-label{\\n display: inline-block;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9iYXNlLWFkbWluL2Jhc2UtYWRtaW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFxQjtBQUN2QiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vYmFzZS1hZG1pbi9iYXNlLWFkbWluLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWVudS1pdGVtLWxhYmVse1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4iXX0= */\"","module.exports = \"<!-- ########## START: LEFT PANEL ########## -->\\n<div class=\\\"br-logo\\\"><a href=\\\"\\\">\\n <img src=\\\"assets/images/ic_app_logo.png\\\" class=\\\"mx-2\\\" style=\\\"width: 35px;height: 35px;border-radius: 50%\\\">\\n <h4 class=\\\"d-inline-block\\\">{{'app.my_clinic'|translate}}</h4>\\n</a>\\n</div>\\n<div class=\\\"br-sideleft sideleft-scrollbar\\\">\\n <label class=\\\"sidebar-label pd-x-10 mg-t-20 op-3\\\">{{'app.navigation'|translate}}</label>\\n <ul class=\\\"br-sideleft-menu\\\">\\n\\n <!-- dashboard -->\\n <li class=\\\"br-menu-item\\\">\\n <a routerLinkActive=\\\"active\\\" routerLink=\\\"/dashboard\\\" class=\\\"br-menu-link\\\">\\n <i class=\\\"fa fa-chart-line tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.dashboard'|translate}}</span>\\n </a>\\n </li>\\n\\n <li class=\\\"br-menu-item show-sub\\\">\\n <span class=\\\"br-menu-link with-sub mouse-cursor\\\">\\n <i class=\\\"menu-item-icon icon ion-ios-photos-outline tx-20\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.lookups'|translate}}</span>\\n </span><!-- br-menu-link -->\\n\\n <ul class=\\\"br-menu-sub\\\" style=\\\"display: block;\\\">\\n <!-- countries -->\\n <li class=\\\"sub-item\\\" >\\n <a routerLink=\\\"/countries\\\" class=\\\"sub-link\\\" routerLinkActive=\\\"active\\\">\\n <i class=\\\"fa fa-globe tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.countries'|translate}}</span>\\n </a>\\n </li>\\n\\n <!-- cities -->\\n <li class=\\\"sub-item\\\" >\\n <a routerLink=\\\"/cities\\\" class=\\\"sub-link\\\" routerLinkActive=\\\"active\\\">\\n <i class=\\\"fa fa-building tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.cities'|translate}}</span>\\n </a>\\n </li>\\n\\n <!-- nationalities -->\\n <li class=\\\"sub-item\\\" >\\n <a routerLink=\\\"/nationalities\\\" class=\\\"sub-link\\\" routerLinkActive=\\\"active\\\">\\n <i class=\\\"fa fa-flag-usa tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.nationalities'|translate}}</span>\\n </a>\\n </li>\\n\\n <!-- specializations -->\\n <li class=\\\"sub-item\\\" >\\n <a routerLink=\\\"/specializations\\\" class=\\\"sub-link\\\" routerLinkActive=\\\"active\\\">\\n <i class=\\\"fa fa-thermometer-half tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.specializations'|translate}}</span>\\n </a>\\n </li>\\n </ul>\\n </li>\\n\\n <!-- admins -->\\n <li class=\\\"br-menu-item\\\">\\n <a routerLinkActive=\\\"active\\\" routerLink=\\\"/admins\\\" class=\\\"br-menu-link\\\">\\n <i class=\\\"fa fa-users tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.admins'|translate}}</span>\\n </a>\\n </li>\\n\\n <!-- centers -->\\n <li class=\\\"br-menu-item\\\">\\n <a routerLinkActive=\\\"active\\\" routerLink=\\\"/centers\\\" class=\\\"br-menu-link\\\">\\n <i class=\\\"fa fa-hospital tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.hospitals'|translate}}</span>\\n </a>\\n </li>\\n\\n <!-- doctors -->\\n <li class=\\\"br-menu-item\\\">\\n <a routerLinkActive=\\\"active\\\" routerLink=\\\"/doctors\\\" class=\\\"br-menu-link\\\">\\n <i class=\\\"fa fa-stethoscope tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.doctors'|translate}}</span>\\n </a>\\n </li>\\n\\n <!-- users -->\\n <li class=\\\"br-menu-item\\\">\\n <a routerLinkActive=\\\"active\\\" routerLink=\\\"/users\\\" class=\\\"br-menu-link\\\">\\n <i class=\\\"fa fa-male tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.users'|translate}}</span>\\n </a>\\n </li>\\n\\n <!-- bookings -->\\n <li class=\\\"br-menu-item\\\">\\n <a routerLinkActive=\\\"active\\\" routerLink=\\\"/bookings\\\" class=\\\"br-menu-link\\\">\\n <i class=\\\"fa fa-coins tx-24\\\"></i>\\n <span class=\\\"menu-item-label\\\">{{'app.bookings'|translate}}</span>\\n </a>\\n </li>\\n\\n\\n </ul><!-- br-sideleft-menu -->\\n\\n <br>\\n</div><!-- br-sideleft -->\\n<!-- ########## END: LEFT PANEL ########## -->\\n\\n<!-- ########## START: HEAD PANEL ########## -->\\n<div class=\\\"br-header\\\">\\n <div class=\\\"br-header-left\\\">\\n <div class=\\\"navicon-left hidden-md-down\\\"><a id=\\\"btnLeftMenu\\\" href=\\\"\\\"><i class=\\\"icon ion-navicon-round\\\"></i></a>\\n </div>\\n <div class=\\\"navicon-left hidden-lg-up\\\"><a id=\\\"btnLeftMenuMobile\\\" href=\\\"\\\"><i class=\\\"icon ion-navicon-round\\\"></i></a>\\n </div>\\n <div class=\\\"transition\\\">\\n </div><!-- input-group -->\\n </div><!-- br-header-left -->\\n <div class=\\\"br-header-right\\\">\\n <nav class=\\\"nav\\\">\\n\\n <div class=\\\"dropdown\\\">\\n <a href=\\\"\\\" class=\\\"nav-link nav-link-profile\\\" data-toggle=\\\"dropdown\\\">\\n <span class=\\\"logged-name hidden-md-down\\\">{{admin.fullName}}</span>\\n <img [src]=\\\"getAdminImage()\\\"\\n src-fallback=\\\"{{ placeholderImage }}\\\"\\n class=\\\"wd-32 rounded-circle\\\" alt=\\\"\\\">\\n <span class=\\\"square-10 bg-success\\\"></span>\\n </a>\\n <div class=\\\"dropdown-menu dropdown-menu-header wd-250\\\">\\n <div class=\\\"tx-center\\\">\\n <a href=\\\"\\\">\\n <img [src]=\\\"getAdminImage()\\\"\\n src-fallback=\\\"{{ placeholderImage }}\\\"\\n class=\\\"wd-80 rounded-circle\\\" alt=\\\"\\\"></a>\\n <h6 class=\\\"logged-fullname\\\">{{admin.fullName}}</h6>\\n <p>{{admin.email}}</p>\\n </div>\\n <hr>\\n <ul class=\\\"list-unstyled user-profile-nav\\\">\\n <li class=\\\"mouse-cursor\\\" (click)=\\\"editProfile()\\\"><a><i class=\\\"icon ion-ios-person\\\"></i>{{'app.edit_profile'|translate}}</a></li>\\n <li (click)=\\\"changeLanguage()\\\" class=\\\"mouse-cursor\\\"><a><i class=\\\"icon ion-ios-gear\\\"></i> {{'app.change_language'|translate}}</a></li>\\n <li (click)=\\\"signOutClick()\\\" class=\\\"mouse-cursor\\\"><a><i class=\\\"icon ion-power\\\"></i>{{'app.sign_out'|translate}}</a></li>\\n </ul>\\n </div><!-- dropdown-menu -->\\n </div><!-- dropdown -->\\n </nav>\\n </div><!-- br-header-right -->\\n</div><!-- br-header -->\\n<!-- ########## END: HEAD PANEL ########## -->\\n\\n<div class=\\\"br-mainpanel\\\">\\n <div class=\\\"br-pagetitle\\\">\\n <i class=\\\"icon fa fa-2x \\\" [ngClass]=\\\"headerInfo.icon\\\"></i>\\n <div>\\n <h4>{{headerInfo.title |translate}}</h4>\\n <p class=\\\"mg-b-0\\\">{{headerInfo.subTitle |translate}}</p>\\n </div>\\n </div><!-- d-flex -->\\n\\n <div class=\\\"br-pagebody\\\">\\n <router-outlet></router-outlet>\\n </div>\\n</div>\\n\"","import {Component, OnInit} from '@angular/core';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {AdminService} from '../../../service/admin-service';\nimport {Admin} from '../../../data/response/login/admin-response';\nimport {environment} from '../../../environments/environment';\nimport {DialogService} from '../../../service/dialog-service';\nimport {TranslateService} from '@ngx-translate/core';\nimport {Router} from '@angular/router';\nimport {LanguageService} from '../../../service/language-service';\n\ndeclare var $;\n\n@Component({\n selector: 'app-base-admin',\n templateUrl: './base-admin.component.html',\n styleUrls: ['./base-admin.component.css']\n})\nexport class BaseAdminComponent implements OnInit {\n admin: Admin;\n placeholderImage = 'assets/images/ic_user_placeholder.png';\n\n constructor(public headerInfo: PageHeaderInfoService,\n private adminService: AdminService,\n private dialogService: DialogService,\n private translator: TranslateService,\n private languageService: LanguageService,\n private router: Router\n ) {\n this.admin = adminService.getAdmin();\n }\n\n ngOnInit() {\n $('.br-sideleft').on('click', '.br-menu-link', function(){\n // tslint:disable-next-line:prefer-const prefer-const\n var nextElem = $(this).next();\n var thisLink = $(this);\n\n if(nextElem.hasClass('br-menu-sub')) {\n\n if(nextElem.is(':visible')) {\n thisLink.removeClass('show-sub');\n nextElem.slideUp();\n } else {\n $('.br-menu-link').each(function(){\n $(this).removeClass('show-sub');\n });\n\n $('.br-menu-sub').each(function(){\n $(this).slideUp();\n });\n\n thisLink.addClass('show-sub');\n nextElem.slideDown();\n }\n return false;\n }\n });\n }\n\n getAdminImage() {\n return environment.baseLink.concat(this.admin.avatar);\n }\n\n signOutClick() {\n this.translator.get('dialog.sure_log_out').subscribe(value => {\n this.dialogService.confirmationWithTitle(value, () => {\n this.adminService.removeAdmin();\n this.router.navigateByUrl('guest/login');\n });\n });\n }\n\n changeLanguage() {\n this.languageService.changeLanguage();\n }\n\n editProfile() {\n this.router.navigate(['/profile']);\n }\n\n}\n","module.exports = \".item-disabled{\\n pointer-events: none;\\n opacity: .65\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9ib29raW5ncy9ib29raW5ncy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usb0JBQW9CO0VBQ3BCO0FBQ0YiLCJmaWxlIjoic3JjL3VpL2FkbWluL2Jvb2tpbmdzL2Jvb2tpbmdzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaXRlbS1kaXNhYmxlZHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IC42NVxufVxuIl19 */\"","module.exports = \"<!--Bookings counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{bookingsCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-ios-flask tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.booked'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{bookingsCounters?.booked}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-transfile rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-ios-checkmark-outline tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.confirmed'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{bookingsCounters?.confirmed}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-close-circled tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.cancelled'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{bookingsCounters?.cancelled}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-wrap mb-2 flex-row mb-4\\\">\\n\\n <div class=\\\"form-group col-md-3\\\">\\n <label for=\\\"center\\\">{{\\\"app.center\\\"|translate}}</label>\\n <select class=\\\"form-control\\\" id=\\\"center\\\" name=\\\"center\\\" [(ngModel)]=\\\"searchBy.centerId\\\">\\n <option value=\\\"\\\">{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let center of centers\\\" [value]=\\\"center._id\\\">{{center.name|lang}}</option>\\n </select>\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\">\\n <label for=\\\"doctor\\\">{{\\\"app.doctors\\\"|translate}}</label>\\n <select class=\\\"form-control\\\" id=\\\"doctor\\\" name=\\\"doctor\\\" [(ngModel)]=\\\"searchBy.doctorId\\\">\\n <option value=\\\"\\\">{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let doctor of doctors\\\" [value]=\\\"doctor._id\\\">{{doctor.name|lang}}</option>\\n </select>\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\">\\n <label for=\\\"booking_date\\\">{{\\\"app.booking_date\\\"|translate}}</label>\\n <input class=\\\"form-control\\\" type=\\\"date\\\" id=\\\"booking_date\\\" name=\\\"booking_date\\\"\\n [(ngModel)]=\\\"searchBy.bookingDate\\\">\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\">\\n <label for=\\\"creation_date\\\">{{\\\"app.creation_date\\\"|translate}}</label>\\n <input class=\\\"form-control\\\" type=\\\"date\\\" id=\\\"creation_date\\\" name=\\\"creation_date\\\"\\n [(ngModel)]=\\\"searchBy.creatingDate\\\">\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\">\\n <label for=\\\"phone\\\">{{\\\"app.user_phone\\\"|translate}}</label>\\n <input class=\\\"form-control\\\" type=\\\"phone\\\" id=\\\"phone\\\" name=\\\"phone\\\" [(ngModel)]=\\\"searchBy.phone\\\">\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\">\\n <label for=\\\"booking_status\\\">{{\\\"app.booking_status\\\"|translate}}</label>\\n <select class=\\\"form-control\\\" name=\\\"booking_status\\\" id=\\\"booking_status\\\" [(ngModel)]=\\\"searchBy.bookingStatus\\\">\\n <option value=\\\"\\\">{{'app.select'|translate}}</option>\\n <option value=\\\"BOOKED\\\">{{'app.booked'|translate}}</option>\\n <option value=\\\"CONFIRMED\\\">{{'app.confirmed'|translate}}</option>\\n <option value=\\\"CANCELLED\\\">{{'app.cancelled'|translate}}</option>\\n </select>\\n </div>\\n <div class=\\\"w-100\\\"></div>\\n <button class=\\\"btn btn-primary col-md-1\\\" (click)=\\\"searchForBookings()\\\">{{'app.search'|translate}}</button>\\n <button class=\\\"btn btn-danger col-md-1 mx-2\\\" (click)=\\\"clearSearchCriteria()\\\">{{'app.clear'|translate}}</button>\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!--bookings table-->\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"bookings\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n {{'table.user_name'|translate}}\\n </th>\\n <th>\\n {{'table.phone'|translate}}\\n </th>\\n <th>\\n {{'table.doctor'|translate}}\\n </th>\\n <th>\\n {{'table.center'|translate}}\\n </th>\\n <th>\\n {{'table.booking_time'|translate}}\\n </th>\\n <th>\\n {{'table.status'|translate}}\\n </th>\\n <th>\\n {{'table.type'|translate}}\\n </th>\\n <th>\\n {{'table.confirm'|translate}}\\n </th>\\n <th>\\n {{'table.cancel'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let booking of bookings;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{booking.user.fullName}}</td>\\n <td>{{booking.user.phone.value}}</td>\\n <td>{{booking.doctor.name |lang}}</td>\\n <td>{{booking.doctor.center.name |lang}}</td>\\n <td>{{booking.bookedAt | date:'dd/MM/yyyy'}}</td>\\n <td>{{booking.status |booking_status}}</td>\\n <td>{{booking.type | booking_type}}</td>\\n <td>\\n <span class=\\\"badge badge-success text-white p-2 mouse-cursor\\\"\\n [class.item-disabled]=\\\"booking.status=='CANCELLED' || booking.status=='CONFIRMED'\\\"\\n (click)=\\\"confirmBooking(i, booking)\\\">\\n <i class=\\\"fa fa-check\\\"></i>{{'app.confirm'|translate}}</span>\\n </td>\\n <td>\\n <span class=\\\"badge badge-danger text-white p-2 mouse-cursor\\\"\\n [class.item-disabled]=\\\"booking.status== 'CONFIRMED' || booking.status=='CANCELLED'\\\"\\n (click)=\\\"cancelBooking(i, booking)\\\">\\n <i class=\\\"fa fa-times\\\"></i>{{'app.cancel'|translate}}</span>\\n </td>\\n\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n</div>\\n\\n\"","import {Component, OnInit} from '@angular/core';\nimport {Booking} from '../../../data/response/bookings/bookings-response';\nimport {BookingApi} from '../../../data/api/booking-api';\nimport {DialogService} from '../../../service/dialog-service';\nimport {ModalService} from '../../../service/modal-service';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {BookingsCounters} from '../../../data/response/bookings/bookings-counters-response';\nimport {CenterApi} from '../../../data/api/center-api';\nimport {DoctorApi} from '../../../data/api/doctor-api';\nimport {Center} from '../../../data/response/centers/centers-response';\nimport {Doctor} from '../../../data/response/doctors/doctors-response';\nimport {formatDate} from '@angular/common';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'app-bookings',\n templateUrl: './bookings.component.html',\n styleUrls: ['./bookings.component.css']\n})\nexport class BookingsComponent implements OnInit {\n\n bookings: Booking [] = [];\n bookingsCounters: BookingsCounters;\n showCounters = false;\n centers: Center[] = [];\n doctors: Doctor [] = [];\n searchBy: { centerId: string, doctorId: string, bookingDate: string, creatingDate: string, phone: string, bookingStatus: string };\n\n\n constructor(private bookingApi: BookingApi, private dialogService: DialogService,\n private modalService: ModalService, private headerService: PageHeaderInfoService,\n private centerApi: CenterApi, private doctorApi: DoctorApi, private translator: TranslateService) {\n this.headerService.setData('fa-coins', 'app.bookings', '');\n }\n\n ngOnInit() {\n this.loadBookingsCounters();\n this.loadCenters();\n this.loadDoctors();\n this.setDefaultSearchBy();\n this.searchForBookings();\n }\n\n confirmBooking(i: number, book: Booking) {\n this.translator.get('dialog.confirm_booking').subscribe(value => {\n this.dialogService.confirmationWithTitle(value, () => {\n this.bookingApi.confirm(book._id).subscribe(res => {\n this.dialogService.successMessage(res.message);\n book.status = 'CONFIRMED';\n });\n });\n });\n }\n\n cancelBooking(i: number, book: Booking) {\n this.translator.get('dialog.cancel_booking').subscribe(value => {\n this.dialogService.confirmationWithTitle(value, () => {\n this.bookingApi.cancel(book._id).subscribe(res => {\n this.dialogService.successMessage(res.message);\n book.status = 'CANCELLED';\n });\n });\n });\n }\n\n private loadBookingsCounters() {\n this.bookingApi.statistics().subscribe(res => {\n this.bookingsCounters = res.data[0];\n });\n }\n\n private loadCenters() {\n this.centerApi.centers(1, 1000000).subscribe(res => {\n this.centers = res.data;\n });\n }\n\n private loadDoctors() {\n this.doctorApi.doctors(1, 10000000).subscribe(res => {\n this.doctors = res.data;\n });\n }\n\n private setDefaultSearchBy() {\n this.searchBy = {bookingDate: '', bookingStatus: '', centerId: '', creatingDate: '', doctorId: '', phone: ''};\n }\n\n clearSearchCriteria() {\n this.setDefaultSearchBy();\n }\n\n public searchForBookings() {\n let criteria = '';\n let appendWhere = false;\n if (this.searchBy.bookingStatus) {\n if (appendWhere) {\n criteria += '&bookingStatus=' + this.searchBy.bookingStatus;\n } else {\n criteria += '?bookingStatus=' + this.searchBy.bookingStatus;\n appendWhere = true;\n }\n }\n\n if (this.searchBy.creatingDate) {\n const date = formatDate(this.searchBy.creatingDate, 'dd/MM/yyyy', 'en-US');\n if (appendWhere) {\n criteria += '&creatingDate=' + date;\n } else {\n criteria += '?creatingDate=' + date;\n appendWhere = true;\n }\n }\n\n if (this.searchBy.bookingDate) {\n const date = formatDate(this.searchBy.bookingDate, 'dd/MM/yyyy', 'en-US');\n if (appendWhere) {\n criteria += '&bookingDate=' + date;\n } else {\n criteria += '?bookingDate=' + date;\n appendWhere = true;\n }\n }\n\n if (this.searchBy.doctorId) {\n if (appendWhere) {\n criteria += '&doctorId=' + this.searchBy.doctorId;\n } else {\n criteria += '?doctorId=' + this.searchBy.doctorId;\n appendWhere = true;\n }\n }\n\n if (this.searchBy.centerId) {\n if (appendWhere) {\n criteria += '¢erId=' + this.searchBy.centerId;\n } else {\n criteria += '?centerId=' + this.searchBy.centerId;\n appendWhere = true;\n }\n }\n\n if (this.searchBy.phone) {\n if (appendWhere) {\n criteria += '&phone=' + this.searchBy.phone;\n } else {\n criteria += '?phone=' + this.searchBy.phone;\n appendWhere = true;\n }\n }\n\n if (appendWhere) {\n criteria += '&page=1&size=10000000';\n } else {\n criteria += '?page=1&size=10000000';\n }\n\n this.bookingApi.bookings(criteria).subscribe(res => {\n this.bookings = res.data;\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vY2VudGVycy9jZW50ZXJzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"<!--centers counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{centersCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{centersCounters?.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{centersCounters?.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-row mb-2\\\">\\n <button class=\\\"btn btn-primary col-2\\\" (click)=\\\"addCenterClick()\\\">{{'app.add_center'|translate}}</button>\\n </div>\\n\\n <div class=\\\"table-responsive\\\">\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"centers\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n {{'table.name_en'|translate}}\\n </th>\\n\\n <th>\\n {{'table.name_ar'|translate}}\\n </th>\\n <th>\\n {{'table.region_en'|translate}}\\n </th>\\n <th>\\n {{'table.region_ar'|translate}}\\n </th>\\n <th>\\n {{'table.street_en'|translate}}\\n </th>\\n <th>\\n {{'table.street_ar'|translate}}\\n </th>\\n <th>\\n {{'table.building_en'|translate}}\\n </th>\\n <th>\\n {{'table.building_ar'|translate}}\\n </th>\\n <th>\\n {{'table.show_location'|translate}}\\n </th>\\n <th>\\n {{'table.show_phones'|translate}}\\n </th>\\n <th>\\n {{'table.show_mails'|translate}}\\n </th>\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n <th>\\n {{'table.image'|translate}}\\n </th>\\n <th>\\n {{'table.edit_image'|translate}}\\n </th>\\n <th>\\n {{'table.edit'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let cen of centers;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{cen.name.en}}</td>\\n <td>{{cen.name.ar}}</td>\\n <td>{{cen.address.regoin.en}}</td>\\n <td>{{cen.address.regoin.ar}}</td>\\n <td>{{cen.address.street.en}}</td>\\n <td>{{cen.address.street.ar}}</td>\\n <td>{{cen.address.building?.en}}</td>\\n <td>{{cen.address.building?.ar}}</td>\\n <td>\\n <a\\n href=\\\"{{getLocation(cen)}}\\\" target=\\\"_blank\\\"\\n class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\">\\n <i class=\\\"fa fa-edit\\\"></i>{{'app.show'|translate}}</a>\\n </td>\\n <td>\\n <span href=\\\"\\\" class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\" (click)=\\\"showCenterPhones(cen)\\\">\\n <i class=\\\"fa fa-edit\\\"></i>{{'app.show'|translate}}</span>\\n </td>\\n <td>\\n <span href=\\\"\\\" class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\" (click)=\\\"showCenterMails(cen)\\\">\\n <i class=\\\"fa fa-edit\\\"></i>{{'app.show'|translate}}</span>\\n </td>\\n\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"cen.isActive\\\" (click)=\\\"changeCenterActivationClick(i , cen)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n <td>\\n <img [src]=\\\"getCenterImage(cen.avatar)\\\" class=\\\"img-thumbnail rounded-circle\\\"\\n style=\\\"width: 40px;height: 40px\\\">\\n </td>\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\" (click)=\\\"editImageClick(i, cen)\\\">\\n <i class=\\\"fa fa-edit\\\"></i>{{'app.edit'|translate}}</span>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-edit text-success\\\" (click)=\\\"editCenterClick(i, cen)\\\"></i>\\n </td>\\n\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!--add edit center modal-->\\n<div class=\\\"modal fade\\\" id=\\\"centerModal\\\">\\n <div class=\\\"modal-dialog modal-lg\\\">\\n <div class=\\\"modal-content\\\">\\n\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4\\n class=\\\"modal-title\\\">{{((center.index > -1 ? 'app.edit_center' : 'app.add_center'))|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n\\n <form novalidate #centerForm=\\\"ngForm\\\" class=\\\"form-row\\\">\\n\\n <div class=\\\"col-12 row\\\">\\n <h4 class=\\\"col-12 border-bottom border-secondary p-2\\\">{{'app.center_info'|translate}}</h4>\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"name_ar\\\">{{'input.name_ar' |translate}}</label>\\n <input id=\\\"name_ar\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"center.name.ar\\\"\\n required=\\\"required\\\"\\n name=\\\"name_ar\\\">\\n <p *ngIf=\\\"center.submitForm && centerForm.controls['name_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"name_en\\\">{{'input.name_en' |translate}}</label>\\n <input id=\\\"name_en\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"center.name.en\\\"\\n required=\\\"required\\\"\\n name=\\\"name_en\\\">\\n <p *ngIf=\\\"center.submitForm && centerForm.controls['name_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label>{{'app.countries'|translate}}</label>\\n <select name=\\\"country\\\" class=\\\"form-control\\\" (change)=\\\"loadCountryCities($event.target['value'])\\\">\\n <option value=\\\"\\\" selected>{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let coun of countries\\\" [value]=\\\"coun._id\\\">{{coun.name |lang}}</option>\\n </select>\\n <p *ngIf=\\\"center.submitForm && countryId==''\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label>{{'app.cities'|translate}}</label>\\n <select name=\\\"city\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"cityId\\\">\\n <option value=\\\"\\\" selected>{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let cit of cities\\\" [value]=\\\"cit._id\\\">{{cit.name |lang}}</option>\\n </select>\\n <p *ngIf=\\\"center.submitForm && cityId==''\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n </div>\\n\\n <div class=\\\"col-12 row\\\">\\n <h4 class=\\\"col-12 border-bottom border-secondary p-2\\\">{{'app.address_description' |translate}}</h4>\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"region_ar\\\">{{'input.region_ar' |translate}}</label>\\n <input id=\\\"region_ar\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"regionAr\\\"\\n required=\\\"required\\\" name=\\\"region_ar\\\">\\n <p *ngIf=\\\"center.submitForm && centerForm.controls['region_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"region_en\\\">{{'input.region_en' |translate}}</label>\\n <input id=\\\"region_en\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"regionEn\\\"\\n required=\\\"required\\\" name=\\\"region_en\\\">\\n <p *ngIf=\\\"center.submitForm && centerForm.controls['region_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"street_ar\\\">{{'input.street_ar' |translate}}</label>\\n <input id=\\\"street_ar\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"streetAr\\\"\\n name=\\\"street_ar\\\">\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"street_en\\\">{{'input.street_en' |translate}}</label>\\n <input id=\\\"street_en\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"streetEn\\\"\\n name=\\\"street_en\\\">\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"building_ar\\\">{{'input.building_ar' |translate}}</label>\\n <input id=\\\"building_ar\\\" type=\\\"text\\\" class=\\\"form-control\\\"\\n [(ngModel)]=\\\"buildingAr\\\" name=\\\"building_ar\\\">\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"building_en\\\">{{'input.building_en' |translate}}</label>\\n <input id=\\\"building_en\\\" type=\\\"text\\\" class=\\\"form-control\\\"\\n [(ngModel)]=\\\"buildingEn\\\" name=\\\"building_en\\\">\\n </div>\\n\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"latitude\\\">{{'input.latitude' |translate}}</label>\\n <input id=\\\"latitude\\\" type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"locationLat\\\"\\n required=\\\"required\\\" name=\\\"latitude\\\">\\n <p *ngIf=\\\"center.submitForm && centerForm.controls['latitude'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"longitude\\\">{{'input.longitude' |translate}}</label>\\n <input id=\\\"longitude\\\" type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"locationLng\\\"\\n required=\\\"required\\\" name=\\\"longitude\\\">\\n <p *ngIf=\\\"center.submitForm && centerForm.controls['longitude'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n </div>\\n\\n <div class=\\\"col-12 row\\\">\\n <h4 class=\\\"col-12 border-bottom border-secondary p-2\\\">{{'app.contact_info'|translate}}</h4>\\n\\n <div class=\\\"form-group col-8\\\">\\n <label for=\\\"phones\\\">{{'input.phones'|translate}}</label>\\n <rl-tag-input id=\\\"phones\\\" [(ngModel)]=\\\"center.contacts.phones\\\" name=\\\"phones\\\"></rl-tag-input>\\n <p *ngIf=\\\"center.submitForm && center.contacts.phones.length==0\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-12\\\">\\n <label for=\\\"mails\\\">{{'input.mails'|translate}}</label>\\n <rl-tag-input id=\\\"mails\\\" [(ngModel)]=\\\"center.contacts.emails\\\" name=\\\"mails\\\"></rl-tag-input>\\n <p *ngIf=\\\"center.submitForm && center.contacts.emails.length==0\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n </div>\\n\\n </form>\\n </div>\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button class=\\\"btn btn-primary\\\" (click)=\\\"saveCenter(centerForm)\\\">{{'app.save'|translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n<app-edit-image #editImageComponent></app-edit-image>\\n\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {CenterApi} from '../../../data/api/center-api';\nimport {DialogService} from '../../../service/dialog-service';\nimport {ModalService} from '../../../service/modal-service';\nimport {Center} from '../../../data/response/centers/centers-response';\nimport {NgForm} from '@angular/forms';\nimport {CountryApi} from '../../../data/api/country-api';\nimport {CityApi} from '../../../data/api/city-api';\nimport {Country} from '../../../data/response/countries/countries-response';\nimport {City} from '../../../data/response/cities/cities-response';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\nimport {environment} from '../../../environments/environment';\nimport {TranslateService} from '@ngx-translate/core';\nimport {CentersCounters} from '../../../data/response/centers/centers-counters-response';\n\ndeclare var $;\n\n@Component({\n selector: 'app-centers',\n templateUrl: './centers.component.html',\n styleUrls: ['./centers.component.css']\n})\nexport class CentersComponent implements OnInit {\n\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n centers: Center[] = [];\n countries: Country [] = [];\n cities: City[] = [];\n\n center: {\n name: {\n ar: string,\n en: string\n }, contacts: {\n phones: string[],\n emails: string[]\n }, index: number, id: string, submitForm: boolean\n };\n\n regionAr: string;\n regionEn: string;\n streetAr: string;\n streetEn: string;\n buildingAr: string;\n buildingEn: string;\n locationLat: number;\n locationLng: number;\n countryId: string;\n cityId: string;\n\n showCounters = false;\n centersCounters: CentersCounters;\n\n constructor(private headerService: PageHeaderInfoService, private centerApi: CenterApi,\n private dialogService: DialogService, private modalService: ModalService,\n private countryApi: CountryApi, private cityApi: CityApi,\n private translator: TranslateService) {\n this.headerService.setData('fa-hospital', 'app.hospitals', '');\n }\n\n ngOnInit() {\n this.setDefaultCenter();\n this.loadCountries();\n this.loadCenters();\n this.translator.get('app.center_phones').subscribe(val => {\n const inputs = $('rl-tag-input form input');\n inputs.eq(0).attr('placeholder', val);\n inputs.eq(1).attr('placeholder', this.translator.instant('app.center_mails'));\n });\n this.loadCentersCounters();\n }\n\n addCenterClick() {\n this.setDefaultCenter();\n this.modalService.open('centerModal');\n }\n\n showCenterPhones(cen: Center) {\n const phones = cen.contacts.phones;\n let content = '<div class=\"row justify-content-center\">';\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < phones.length; i++) {\n content += `<button class=\"btn btn-oblong btn-primary m-1 text-white\">${phones[i]}</button>`;\n }\n content += '</div>';\n this.dialogService.showText(content);\n }\n\n showCenterMails(cen: Center) {\n const emails = cen.contacts.emails;\n let content = '<div class=\"row justify-content-center\">';\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < emails.length; i++) {\n content += `<button class=\"btn btn-oblong btn-primary m-1 text-white\">${emails[i]}</button>`;\n }\n content += '</div>';\n this.dialogService.showText(content);\n }\n\n changeCenterActivationClick(i: number, cen: Center) {\n // check if center is active or not.\n if (cen.isActive) {\n // deactivate.\n this.centerApi.deactivate(cen._id).subscribe(res => {\n cen.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate.\n this.centerApi.activate(cen._id).subscribe(res => {\n cen.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n editCenterClick(i: number, cen: Center) {\n this.countryId = cen.address.country._id;\n this.cityId = cen.address.city._id;\n this.regionAr = cen.address.regoin.ar;\n this.regionEn = cen.address.regoin.en;\n this.streetAr = cen.address.street.ar;\n this.streetEn = cen.address.street.en;\n this.locationLat = cen.address.mapLocation.latitude;\n this.locationLng = cen.address.mapLocation.longitude;\n this.buildingEn = cen.address.building.en;\n this.buildingAr = cen.address.building.ar;\n const center = {\n id: cen._id,\n index: i,\n name: cen.name,\n contacts: {\n phones: cen.contacts.phones,\n emails: cen.contacts.emails\n },\n submitForm: false\n };\n\n this.center = center;\n this.modalService.open('centerModal');\n }\n\n saveCenter(centerForm: NgForm) {\n this.center.submitForm = true;\n if (!centerForm.valid || this.center.contacts.phones.length === 0\n || this.center.contacts.emails.length === 0 || this.countryId === '' || this.cityId === '') {\n return;\n }\n // check if add or edit form\n const body: any = {};\n body.name = {};\n body.name.ar = this.center.name.ar;\n body.name.en = this.center.name.en;\n body.address = {};\n body.address.countryId = this.countryId;\n body.address.cityId = this.cityId;\n body.address.regoin = {};\n body.address.regoin.ar = this.regionAr;\n body.address.regoin.en = this.regionEn;\n body.address.street = {};\n body.address.street.ar = this.streetAr;\n body.address.street.en = this.streetEn;\n body.address.mapLocation = {};\n body.address.mapLocation.latitude = this.locationLat;\n body.address.mapLocation.longitude = this.locationLng;\n body.address.building = {};\n body.address.building.ar = this.buildingAr;\n body.address.building.en = this.buildingEn;\n body.contacts = {};\n body.contacts.emails = this.center.contacts.emails;\n body.contacts.phones = this.center.contacts.phones;\n if (this.center.index > -1) {\n // edit\n this.centerApi.update(this.center.id, body).subscribe(res => {\n this.centers[this.center.index] = res.data[0];\n this.modalService.close('centerModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultCenter();\n });\n } else {\n // add\n this.centerApi.save(body).subscribe(res => {\n this.centers.push(res.data[0]);\n this.modalService.close('centerModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultCenter();\n });\n }\n }\n\n private loadCenters() {\n this.centerApi.centers(1, 1000000).subscribe(res => {\n this.centers = res.data;\n });\n }\n\n private setDefaultCenter() {\n this.center = {\n contacts: {\n emails: [], phones: []\n },\n id: '', index: -1, name: {ar: '', en: ''}, submitForm: false\n };\n this.countryId = '';\n this.cityId = '';\n this.buildingAr = '';\n this.buildingEn = '';\n this.locationLat = 0.0;\n this.locationLng = 0.0;\n this.regionAr = '';\n this.regionEn = '';\n this.streetAr = '';\n this.streetEn = '';\n }\n\n getLocation(cen: Center) {\n return `http://maps.apple.com/maps?q=${cen.address.mapLocation.latitude},${cen.address.mapLocation.latitude}`;\n }\n\n private loadCountries() {\n this.countryApi.activeCountries(1, 1000).subscribe(res => {\n this.countries = res.data;\n });\n }\n\n loadCountryCities(countryId: string) {\n this.countryId = countryId;\n this.cities = [];\n if (countryId !== '') {\n this.cityApi.activeCities(countryId, 1, 10000).subscribe(res => {\n this.cities = res.data;\n });\n }\n }\n\n editImageClick(i: number, cen: Center) {\n this.editImageComponent.setImage(cen.avatar, cen._id, 'center', (newLink) => {\n cen.avatar = newLink;\n });\n this.editImageComponent.open();\n }\n\n getCenterImage(avatar: string) {\n return environment.baseLink.concat(avatar);\n }\n\n private loadCentersCounters() {\n this.centerApi.statistics().subscribe(res => {\n this.centersCounters = res.data[0];\n });\n }\n}\n\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vY2l0aWVzL2NpdGllcy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"<!--cities counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{citiesCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{citiesCounters?.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{citiesCounters?.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-row mb-2\\\">\\n <button class=\\\"btn btn-primary col-2\\\"\\n (click)=\\\"addCityClick()\\\">{{'app.add_city'|translate}}</button>\\n <select class=\\\"form-control col-2 mx-2\\\" (change)=\\\"loadCountryCities($event.target['value'])\\\">\\n <option value=\\\"\\\">{{'app.all'|translate}}</option>\\n <option *ngFor=\\\"let coun of countries\\\" [value]=\\\"coun._id\\\">{{coun.name |lang}}</option>\\n </select>\\n </div>\\n\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"cities\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_en'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_ar'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n <th>\\n {{'table.delete'|translate}}\\n </th>\\n <th>\\n {{'table.edit'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let cit of cities;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{cit.name.en}}</td>\\n <td>{{cit.name.ar}}</td>\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"cit.isActive\\\" (click)=\\\"changeCityActiveClick(i , cit)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-trash text-danger\\\" (click)=\\\"deleteCityClick(i, cit)\\\"></i>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-edit text-success\\\" (click)=\\\"editCityClick(i, cit)\\\"></i>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!-- The Modal -->\\n<div class=\\\"modal fade\\\" id=\\\"cityModal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4\\n class=\\\"modal-title\\\">{{((city.id !== '' ? 'app.edit_city' : 'app.add_city'))|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n <form novalidate class=\\\"row\\\" #form=\\\"ngForm\\\">\\n <div class=\\\"form-group col-12\\\">\\n <input appArabicOnly type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"city.nameAr\\\"\\n placeholder=\\\"{{'input.name_ar' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_ar\\\">\\n <p *ngIf=\\\"city.submitForm && form.controls['name_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-12\\\">\\n <input appEnglishOnly type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"city.nameEn\\\"\\n placeholder=\\\"{{'input.name_en' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_en\\\">\\n <p *ngIf=\\\"city.submitForm && form.controls['name_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n </form>\\n </div>\\n\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\"\\n (click)=\\\"saveCityModalClick(form)\\\">{{'app.save'|translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {City} from '../../../data/response/cities/cities-response';\nimport {ModalService} from '../../../service/modal-service';\nimport {DialogService} from '../../../service/dialog-service';\nimport {CityApi} from '../../../data/api/city-api';\nimport {CountryApi} from '../../../data/api/country-api';\nimport {NgForm} from '@angular/forms';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {Country} from '../../../data/response/countries/countries-response';\nimport {CitiesCounters} from '../../../data/response/cities/cities-counters-response';\n\n@Component({\n selector: 'app-cities',\n templateUrl: './cities.component.html',\n styleUrls: ['./cities.component.css']\n})\nexport class CitiesComponent implements OnInit {\n\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n cities: City [] = [];\n countries: Country [] = [];\n selectedCountry = '';\n city: { nameAr: string, nameEn: string, id: string, index: number, submitForm: boolean };\n showCounters = false;\n citiesCounters: CitiesCounters;\n\n constructor(private modalService: ModalService, private dialogService: DialogService,\n private cityApi: CityApi, private countryApi: CountryApi,\n private headerInfoService: PageHeaderInfoService) {\n this.headerInfoService.setData('fa-building', 'app.cities', '');\n }\n\n ngOnInit() {\n this.setDefaultCity();\n this.loadAllActiveCities();\n this.loadAllCountries();\n this.loadCitiesCounters();\n }\n\n addCityClick() {\n if (this.selectedCountry === '') {\n this.dialogService.showErrorMessage('errors.select_country');\n } else {\n this.setDefaultCity();\n this.modalService.open('cityModal');\n }\n }\n\n private setDefaultCity() {\n this.city = {id: '', index: -1, nameAr: '', nameEn: '', submitForm: false};\n }\n\n changeCityActiveClick(i: number, cit: City) {\n // check if city is active or not.\n if (cit.isActive) {\n // deactivate.\n this.cityApi.deactivate(cit._id).subscribe(res => {\n cit.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate.\n this.cityApi.activate(cit._id).subscribe(res => {\n cit.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n editCityClick(i: number, cit: City) {\n this.city = {id: cit._id, index: i, nameEn: cit.name.en, nameAr: cit.name.ar, submitForm: false};\n this.modalService.open('cityModal');\n }\n\n saveCityModalClick(form: NgForm) {\n this.city.submitForm = true;\n if (!form.valid || this.selectedCountry === '') {\n return;\n }\n // call api.\n const body: any = {};\n body.name = {};\n body.name.ar = this.city.nameAr;\n body.name.en = this.city.nameEn;\n body.countryId = this.selectedCountry;\n // check if add or edit city.\n if (this.city.index > -1) {\n // edit\n this.cityApi.update(this.city.id, body).subscribe(res => {\n const cit: City = this.cities[this.city.index];\n cit.name = res.data[0].name;\n this.modalService.close('cityModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultCity();\n });\n } else {\n // add\n this.cityApi.save(body).subscribe(res => {\n this.cities.push(res.data[0]);\n this.modalService.close('cityModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultCity();\n });\n }\n }\n\n private loadAllActiveCities() {\n this.cityApi.allActiveCities().subscribe(res => {\n this.cities = res.data;\n });\n }\n\n\n public loadCountryCities(countryId: string) {\n this.selectedCountry = countryId;\n if (countryId === '') {\n this.loadAllActiveCities();\n } else {\n this.cityApi.cities(countryId, 1, 10000).subscribe(res => {\n this.cities = res.data;\n });\n }\n }\n\n deleteCityClick(i: number, cit: City) {\n this.dialogService.showDeleteItem(() => {\n this.cityApi.delete(cit._id).subscribe(res => {\n this.cities.splice(i, 1);\n this.dialogService.successMessage();\n });\n });\n }\n\n private loadAllCountries() {\n this.countryApi.activeCountries(1, 10000).subscribe(res => {\n this.countries = res.data;\n });\n }\n\n private loadCitiesCounters() {\n this.cityApi.statistics().subscribe(res => {\n this.citiesCounters = res.data[0];\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vY291bnRyaWVzL2NvdW50cmllcy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"<!--countries counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{countryCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{countryCounters?.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{countryCounters?.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-row mb-2\\\">\\n <button class=\\\"btn btn-primary col-2\\\"\\n (click)=\\\"addCountryClick()\\\">{{'app.add_country'|translate}}</button>\\n </div>\\n\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"countries\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_en'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_ar'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n <th>\\n {{'table.edit'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let coun of countries;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{coun.name.en}}</td>\\n <td>{{coun.name.ar}}</td>\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"coun.isActive\\\" (click)=\\\"changeCountryActiveClick(i , coun)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-edit text-success\\\" (click)=\\\"editCountryClick(i, coun)\\\"></i>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!-- The Modal -->\\n<div class=\\\"modal fade\\\" id=\\\"countryModal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4\\n class=\\\"modal-title\\\">{{((country.id !== '' ? 'app.edit_country' : 'app.add_country'))|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n <form novalidate class=\\\"row\\\" #form=\\\"ngForm\\\">\\n\\n <div class=\\\"form-group col-12\\\">\\n <input appArabicOnly type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"country.nameAr\\\"\\n placeholder=\\\"{{'input.name_ar' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_ar\\\">\\n <p *ngIf=\\\"country.submitForm && form.controls['name_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-12\\\">\\n <input appEnglishOnly type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"country.nameEn\\\"\\n placeholder=\\\"{{'input.name_en' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_en\\\">\\n <p *ngIf=\\\"country.submitForm && form.controls['name_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n </form>\\n </div>\\n\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\" (click)=\\\"saveCountryModalClick(form)\\\">{{'app.save'|translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n<app-edit-image #editImageComponent></app-edit-image>\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {Country} from '../../../data/response/countries/countries-response';\nimport {ModalService} from '../../../service/modal-service';\nimport {DialogService} from '../../../service/dialog-service';\nimport {CountryApi} from '../../../data/api/country-api';\nimport {environment} from '../../../environments/environment';\nimport {NgForm} from '@angular/forms';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {CountryCounter} from '../../../data/response/countries/countries-counters-response';\n\n@Component({\n selector: 'app-countries',\n templateUrl: './countries.component.html',\n styleUrls: ['./countries.component.css']\n})\nexport class CountriesComponent implements OnInit {\n\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n placeholderImage = 'assets/images/ic_country.png';\n countries: Country[] = [];\n country: { nameAr: string, nameEn: string, id: string, index: number, submitForm: boolean };\n showCounters = false;\n countryCounters: CountryCounter;\n\n constructor(private modalService: ModalService, private dialogService: DialogService,\n private countryAPi: CountryApi, private headerInfoService: PageHeaderInfoService) {\n this.headerInfoService.setData('fa-flag', 'app.countries', '');\n }\n\n ngOnInit() {\n this.setDefaultCountry();\n this.loadCountries();\n this.loadStatistics();\n }\n\n addCountryClick() {\n this.setDefaultCountry();\n this.modalService.open('countryModal');\n }\n\n private setDefaultCountry() {\n this.country = {id: '', index: -1, nameAr: '', nameEn: '', submitForm: false};\n }\n\n private loadCountries() {\n this.countryAPi.countries(1, 10000).subscribe(res => {\n this.countries = res.data;\n });\n }\n\n getCountryImage(avatar: string) {\n return environment.baseLink.concat(avatar);\n }\n\n changeCountryActiveClick(i: number, coun: Country) {\n // check if country is active or not.\n if (coun.isActive) {\n // deactivate\n this.countryAPi.deActivate(coun._id).subscribe(res => {\n coun.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate.\n this.countryAPi.activate(coun._id).subscribe(res => {\n coun.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n editImageClick(i: number, coun: Country) {\n this.editImageComponent.setImage(coun.avatar, coun._id, 'country', (link) => {\n this.countries[i].avatar = link;\n });\n this.editImageComponent.open();\n }\n\n editCountryClick(i: number, coun: Country) {\n this.country = {submitForm: false, nameEn: coun.name.en, nameAr: coun.name.ar, index: i, id: coun._id};\n this.modalService.open('countryModal');\n }\n\n saveCountryModalClick(form: NgForm) {\n this.country.submitForm = true;\n if (!form.valid) {\n return;\n }\n const body: any = {};\n body.name = {};\n body.name.ar = this.country.nameAr;\n body.name.en = this.country.nameEn;\n // check if user add or edit country.\n if (this.country.index > -1) {\n // edit\n this.countryAPi.update(this.country.id, body)\n .subscribe(res => {\n const coun = this.countries[this.country.index];\n coun.name = res.data[0].name;\n this.modalService.close('countryModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultCountry();\n });\n } else {\n // add\n this.countryAPi.save(body)\n .subscribe(res => {\n this.countries.push(res.data[0]);\n this.modalService.close('countryModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultCountry();\n });\n }\n }\n\n private loadStatistics() {\n this.countryAPi.statistics().subscribe(res => {\n this.countryCounters = res.data[0];\n });\n }\n}\n","module.exports = \".card-counter{\\n box-shadow: 2px 2px 10px #DADADA;\\n margin: 5px;\\n padding: 20px 10px;\\n background-color: #fff;\\n height: 100px;\\n border-radius: 5px;\\n transition: .3s linear all;\\n}\\n\\n.card-counter:hover{\\n box-shadow: 4px 4px 20px #DADADA;\\n transition: .3s linear all;\\n}\\n\\n.card-counter.primary{\\n background-color: #007bff;\\n color: #FFF;\\n}\\n\\n.card-counter.danger{\\n background-color: #ef5350;\\n color: #FFF;\\n}\\n\\n.card-counter.success{\\n background-color: #66bb6a;\\n color: #FFF;\\n}\\n\\n.card-counter.info{\\n background-color: #26c6da;\\n color: #FFF;\\n}\\n\\n.card-counter i{\\n font-size: 5em;\\n opacity: 0.2;\\n}\\n\\n.card-counter .count-numbers{\\n position: absolute;\\n right: 35px;\\n top: 20px;\\n font-size: 32px !important;\\n display: block;\\n}\\n\\n.card-counter .count-name{\\n position: absolute;\\n right: 35px;\\n top: 65px;\\n font-style: italic;\\n text-transform: capitalize;\\n opacity: 0.5;\\n display: block;\\n font-size: 24px !important;\\n}\\n\\np.col-12{\\n font-size: 1.2rem;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQ0FBZ0M7RUFDaEMsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFDdEIsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQiwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxnQ0FBZ0M7RUFDaEMsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixXQUFXO0FBQ2I7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsV0FBVztBQUNiOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFNBQVM7RUFDVCwwQkFBMEI7RUFDMUIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsU0FBUztFQUNULGtCQUFrQjtFQUNsQiwwQkFBMEI7RUFDMUIsWUFBWTtFQUNaLGNBQWM7RUFDZCwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkIiLCJmaWxlIjoic3JjL3VpL2FkbWluL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jYXJkLWNvdW50ZXJ7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMTBweCAjREFEQURBO1xuICBtYXJnaW46IDVweDtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IC4zcyBsaW5lYXIgYWxsO1xufVxuXG4uY2FyZC1jb3VudGVyOmhvdmVye1xuICBib3gtc2hhZG93OiA0cHggNHB4IDIwcHggI0RBREFEQTtcbiAgdHJhbnNpdGlvbjogLjNzIGxpbmVhciBhbGw7XG59XG5cbi5jYXJkLWNvdW50ZXIucHJpbWFyeXtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5jYXJkLWNvdW50ZXIuZGFuZ2Vye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWY1MzUwO1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLmNhcmQtY291bnRlci5zdWNjZXNze1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZiYjZhO1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLmNhcmQtY291bnRlci5pbmZve1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjZjNmRhO1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLmNhcmQtY291bnRlciBpe1xuICBmb250LXNpemU6IDVlbTtcbiAgb3BhY2l0eTogMC4yO1xufVxuXG4uY2FyZC1jb3VudGVyIC5jb3VudC1udW1iZXJze1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzNXB4O1xuICB0b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMzJweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcmQtY291bnRlciAuY291bnQtbmFtZXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMzVweDtcbiAgdG9wOiA2NXB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBvcGFjaXR5OiAwLjU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbn1cblxucC5jb2wtMTJ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuIl19 */\"","module.exports = \"<div class=\\\"row\\\" *ngIf=\\\"admin.adminType=='SUPER_ADMIN'\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n <div class=\\\"row\\\">\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"date\\\">{{'app.date'|translate}}</label>\\n <input id=\\\"date\\\" type=\\\"date\\\" name=\\\"date\\\" [(ngModel)]=\\\"filterDate\\\" class=\\\"form-control\\\">\\n </div>\\n <button class=\\\"btn btn-danger col-1\\\" style=\\\"height: 50px;margin-top: 28px\\\"\\n (click)=\\\"filterDate = ''\\\">{{'app.clear'|translate}}</button>\\n\\n <button class=\\\"btn btn-primary mx-2 col-1\\\" style=\\\"height: 50px; margin-top: 28px \\\"\\n (click)=\\\"loadSuperAdminCounters()\\\">{{'app.filter'|translate}}</button>\\n </div>\\n\\n <!-- bookings counters-->\\n <div class=\\\"row\\\">\\n <p class=\\\"col-12\\\">{{'app.bookings'|translate}}</p>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter primary\\\">\\n <i class=\\\"dashboard-image fa fa-clock\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.pending}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.booked'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter success\\\">\\n <i class=\\\"dashboard-image fa fa-check-circle\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.confirmed}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.confirmed'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter danger\\\">\\n <i class=\\\"dashboard-image fa fa-times-circle\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.cancelled}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.cancelled'|translate}}</span>\\n </div>\\n </div>\\n\\n </div>\\n\\n <!-- centers counters-->\\n <div class=\\\"row\\\">\\n <p class=\\\"col-12\\\">{{'app.center'|translate}}</p>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter success\\\">\\n <i class=\\\"dashboard-image fa fa-lock-open\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.centers.active}}</span>\\n <span class=\\\"count-name\\\">{{'app.active'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter danger\\\">\\n <i class=\\\"dashboard-image fa fa-lock\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.centers.inactive}}</span>\\n <span class=\\\"count-name\\\">{{'app.inactive'|translate}}</span>\\n </div>\\n </div>\\n\\n </div>\\n\\n\\n <!-- users counters-->\\n <div class=\\\"row\\\">\\n <p class=\\\"col-12\\\">{{'app.users'|translate}}</p>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter success\\\">\\n <i class=\\\"dashboard-image fa fa-lock-open\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.users.active}}</span>\\n <span class=\\\"count-name\\\">{{'app.active'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter danger\\\">\\n <i class=\\\"dashboard-image fa fa-lock\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.users.inactive}}</span>\\n <span class=\\\"count-name\\\">{{'app.inactive'|translate}}</span>\\n </div>\\n </div>\\n\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n\\n\\n<div class=\\\"row\\\" *ngIf=\\\"admin.adminType=='ADMIN'\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n <div class=\\\"row\\\">\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"date2\\\">{{'app.date'|translate}}</label>\\n <input id=\\\"date2\\\" type=\\\"date\\\" name=\\\"date\\\" [(ngModel)]=\\\"filterDate\\\" class=\\\"form-control\\\">\\n </div>\\n <button class=\\\"btn btn-danger col-1\\\" style=\\\"height: 50px;margin-top: 28px\\\"\\n (click)=\\\"filterDate = ''\\\">{{'app.clear'|translate}}</button>\\n\\n <button class=\\\"btn btn-primary mx-2 col-1\\\" style=\\\"height: 50px; margin-top: 28px \\\"\\n (click)=\\\"loadCenterAdminCounters()\\\">{{'app.filter'|translate}}</button>\\n </div>\\n\\n <!-- bookings counters-->\\n <div class=\\\"row\\\">\\n <p class=\\\"col-12\\\">{{'app.bookings'|translate}}</p>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter primary\\\">\\n <i class=\\\"dashboard-image fa fa-clock\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.pending}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.booked'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter success\\\">\\n <i class=\\\"dashboard-image fa fa-check-circle\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.confirmed}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.confirmed'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter danger\\\">\\n <i class=\\\"dashboard-image fa fa-times-circle\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.cancelled}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.cancelled'|translate}}</span>\\n </div>\\n </div>\\n\\n </div>\\n\\n <!-- users counters-->\\n <div class=\\\"row\\\">\\n <p class=\\\"col-12\\\">{{'app.users'|translate}}</p>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter success\\\">\\n <i class=\\\"dashboard-image fa fa-lock-open\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.users.active}}</span>\\n <span class=\\\"count-name\\\">{{'app.active'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter danger\\\">\\n <i class=\\\"dashboard-image fa fa-lock\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.users.inactive}}</span>\\n <span class=\\\"count-name\\\">{{'app.inactive'|translate}}</span>\\n </div>\\n </div>\\n\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n\\n<!--nurse counters-->\\n<div class=\\\"row\\\" *ngIf=\\\"admin.adminType=='ADMIN'\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n <div class=\\\"row\\\">\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"date3\\\">{{'app.date'|translate}}</label>\\n <input id=\\\"date3\\\" type=\\\"date\\\" name=\\\"date\\\" [(ngModel)]=\\\"filterDate\\\" class=\\\"form-control\\\">\\n </div>\\n <button class=\\\"btn btn-danger col-1\\\" style=\\\"height: 50px;margin-top: 28px\\\"\\n (click)=\\\"filterDate = ''\\\">{{'app.clear'|translate}}</button>\\n\\n <button class=\\\"btn btn-primary mx-2 col-1\\\" style=\\\"height: 50px; margin-top: 28px \\\"\\n (click)=\\\"loadNurseAdminCounters()\\\">{{'app.filter'|translate}}</button>\\n </div>\\n\\n <!-- bookings counters-->\\n <div class=\\\"row\\\">\\n <p class=\\\"col-12\\\">{{'app.bookings'|translate}}</p>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter primary\\\">\\n <i class=\\\"dashboard-image fa fa-clock\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.pending}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.booked'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter success\\\">\\n <i class=\\\"dashboard-image fa fa-check-circle\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.confirmed}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.confirmed'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter danger\\\">\\n <i class=\\\"dashboard-image fa fa-times-circle\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.bookings.cancelled}}</span>\\n <span class=\\\"count-name\\\">{{'booking_status.cancelled'|translate}}</span>\\n </div>\\n </div>\\n\\n </div>\\n\\n <!-- users counters-->\\n <div class=\\\"row\\\">\\n <p class=\\\"col-12\\\">{{'app.users'|translate}}</p>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter success\\\">\\n <i class=\\\"dashboard-image fa fa-lock-open\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.users.active}}</span>\\n <span class=\\\"count-name\\\">{{'app.active'|translate}}</span>\\n </div>\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <div class=\\\"card-counter danger\\\">\\n <i class=\\\"dashboard-image fa fa-lock\\\"></i>\\n <span class=\\\"count-numbers\\\">{{counters?.users.inactive}}</span>\\n <span class=\\\"count-name\\\">{{'app.inactive'|translate}}</span>\\n </div>\\n </div>\\n\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n\\n\"","import {Component, OnInit} from '@angular/core';\nimport {DashboardApi} from '../../../data/api/dashboard-api';\nimport {Admin} from '../../../data/response/login/admin-response';\nimport {AdminService} from '../../../service/admin-service';\nimport {Counters} from '../../../data/response/dashboard/admin-dashboard-counters';\nimport {formatDate} from '@angular/common';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css']\n})\nexport class DashboardComponent implements OnInit {\n admin: Admin;\n filterDate = '';\n counters: Counters;\n\n constructor(private dashboardApi: DashboardApi, private adminService: AdminService\n , private headerService: PageHeaderInfoService) {\n this.admin = adminService.getAdmin();\n headerService.setData('fa-chart-line', 'app.dashboard', '');\n\n }\n\n ngOnInit() {\n if (this.admin.adminType === 'SUPER_ADMIN') {\n this.loadSuperAdminCounters();\n } else if (this.admin.adminType === 'ADMIN') {\n this.loadCenterAdminCounters();\n }\n }\n\n private loadSuperAdminCounters() {\n let date = '';\n if (this.filterDate) {\n date = formatDate(this.filterDate, 'dd/MM/yyyy', 'en-US');\n }\n this.dashboardApi.superAdminDashboard(date).subscribe(res => {\n this.counters = res.data[0];\n });\n }\n\n private loadCenterAdminCounters() {\n let date = '';\n if (this.filterDate) {\n date = formatDate(this.filterDate, 'dd/MM/yyyy', 'en-US');\n }\n this.dashboardApi.centerAdminDashboard(date).subscribe(res => {\n this.counters = res.data[0];\n });\n }\n\n private loadNurseAdminCounters() {\n let date = '';\n if (this.filterDate) {\n date = formatDate(this.filterDate, 'dd/MM/yyyy', 'en-US');\n }\n this.dashboardApi.nurseAdminDashboard(date).subscribe(res => {\n this.counters = res.data[0];\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vZG9jdG9ycy9kb2N0b3ItdGltZXMvZG9jdG9yLXRpbWVzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"<div class=\\\"modal\\\" id=\\\"timesModal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4 class=\\\"modal-title\\\">{{'app.doctor_times'|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n <div class=\\\"row \\\">\\n <div class=\\\"col-12\\\">\\n <div class=\\\"row m-0\\\">\\n <p class=\\\"col-3 text-center\\\">{{'input.day' |translate}}</p>\\n <p class=\\\"col-3 text-center\\\">{{'input.from' |translate}}</p>\\n <p class=\\\"col-3 text-center\\\">{{'input.to' |translate}}</p>\\n <p class=\\\"col-3 text-center\\\">{{'input.max_bookings' |translate}}</p>\\n </div>\\n <div class=\\\"row m-0\\\">\\n <div *ngFor=\\\"let time of times\\\" class=\\\"border-bottom col-12 row m-0\\\">\\n <p class=\\\"col-3 text-center\\\">{{time.day}}</p>\\n <p class=\\\"col-3 text-center\\\">{{time.times[0].from}}</p>\\n <p class=\\\"col-3 text-center\\\">{{time.times[0].to}}</p>\\n <p class=\\\"col-3 text-center\\\">{{time.maxBookings}}</p>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n\\n\\n </div>\\n </div>\\n</div>\\n\"","import {Component, OnInit} from '@angular/core';\nimport {Availablity} from '../../../../data/response/doctors/doctors-response';\nimport {ModalService} from '../../../../service/modal-service';\n\n@Component({\n selector: 'app-doctor-times',\n templateUrl: './doctor-times.component.html',\n styleUrls: ['./doctor-times.component.css']\n})\nexport class DoctorTimesComponent implements OnInit {\n times: Availablity[] = [];\n\n constructor(private modalService: ModalService) {\n }\n\n ngOnInit() {\n }\n\n public setTimes(times: Availablity[]) {\n this.times = times;\n }\n\n public open() {\n this.modalService.open('timesModal');\n }\n\n public close() {\n this.modalService.close('timesModal');\n }\n\n}\n","module.exports = \"div.row > input[type='checkbox']{\\n width: 15px;\\n margin: 0 10px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9kb2N0b3JzL2RvY3RvcnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVc7RUFDWCxjQUFjO0FBQ2hCIiwiZmlsZSI6InNyYy91aS9hZG1pbi9kb2N0b3JzL2RvY3RvcnMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImRpdi5yb3cgPiBpbnB1dFt0eXBlPSdjaGVja2JveCdde1xuICB3aWR0aDogMTVweDtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG4iXX0= */\"","module.exports = \"<!--doctors counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{doctorsCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{doctorsCounters?.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{doctorsCounters?.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n<!--search card-->\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n <h4>{{'app.search'|translate}}</h4>\\n <div *ngIf=\\\"searchBy.validation!=''\\\" class=\\\"alert alert-warning fade show\\\" role=\\\"alert\\\">\\n {{searchBy.validation |translate}}\\n </div>\\n\\n <div class=\\\"d-flex flex-row mt-2\\\">\\n <div class=\\\"form-group col-md-3\\\">\\n <label for=\\\"search_by\\\">{{'app.search_by'|translate}}</label>\\n <select id=\\\"search_by\\\" name=\\\"search_by\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"searchBy.type\\\">\\n <option value=\\\"0\\\" selected>{{'app.all_doctors'|translate}}</option>\\n <option value=\\\"1\\\">{{'app.speciality'|translate}}</option>\\n <option value=\\\"2\\\">{{'app.hospitals'|translate}}</option>\\n <option value=\\\"3\\\">{{'app.nationality'|translate}}</option>\\n <option value=\\\"4\\\">{{'app.center_name'|translate}}</option>\\n </select>\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\" *ngIf=\\\"searchBy.type=='1'\\\">\\n <label for=\\\"speciality\\\">{{'app.speciality'|translate}}</label>\\n <select id=\\\"speciality\\\" class=\\\"form-control\\\" name=\\\"speciality\\\" [(ngModel)]=\\\"searchBy.speciality\\\">\\n <option value=\\\"\\\" selected>{{'app.select' |translate}}</option>\\n <option *ngFor=\\\"let spec of specializations\\\" [value]=\\\"spec._id\\\">{{spec.name |lang}}</option>\\n </select>\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\" *ngIf=\\\"searchBy.type=='2'\\\">\\n <label for=\\\"hospitals\\\">{{'app.hospitals'|translate}}</label>\\n <select id=\\\"hospitals\\\" class=\\\"form-control\\\" name=\\\"hospital\\\" [(ngModel)]=\\\"searchBy.centerId\\\">\\n <option value=\\\"\\\" selected>{{'app.select' |translate}}</option>\\n <option *ngFor=\\\"let hos of hospitals\\\" [value]=\\\"hos._id\\\">{{hos.name |lang}}</option>\\n </select>\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\" *ngIf=\\\"searchBy.type=='3'\\\">\\n <label for=\\\"nationality\\\">{{'app.nationality'|translate}}</label>\\n <select id=\\\"nationality\\\" class=\\\"form-control\\\" name=\\\"city\\\" [(ngModel)]=\\\"searchBy.nationality\\\">\\n <option value=\\\"\\\" selected>{{'app.select' |translate}}</option>\\n <option *ngFor=\\\"let nat of filterNationalities\\\" [value]=\\\"nat._id\\\">{{nat.name |lang}}</option>\\n </select>\\n </div>\\n\\n <div class=\\\"form-group col-md-3\\\" *ngIf=\\\"searchBy.type=='4'\\\">\\n <label for=\\\"center_name\\\">{{'app.center'|translate}}</label>\\n <input class=\\\"form-control\\\" [(ngModel)]=\\\"searchBy.centerName\\\" name=\\\"center_name\\\" id=\\\"center_name\\\">\\n </div>\\n\\n <div class=\\\"col-md-3\\\">\\n <button class=\\\"btn btn-primary \\\" (click)=\\\"searchDoctors()\\\"\\n style=\\\"width: 170px;margin-top: 1.8rem\\\">{{'app.search'|translate}}</button>\\n </div>\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n<!-- doctors table-->\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-row mb-2\\\">\\n <button class=\\\"btn btn-primary col-2\\\" (click)=\\\"addDoctorClick()\\\">{{'app.add_doctor'|translate}}</button>\\n </div>\\n\\n <div class=\\\"table-responsive\\\">\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"doctors\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n {{'table.name_ar'|translate}}\\n </th>\\n <th>\\n {{'table.name_en'|translate}}\\n </th>\\n <th>\\n {{'table.title_ar'|translate}}\\n </th>\\n <th>\\n {{'table.title_en'|translate}}\\n </th>\\n <th>\\n {{'table.brief_ar'|translate}}\\n </th>\\n <th>\\n {{'table.brief_en'|translate}}\\n </th>\\n <th>\\n {{'table.fees'|translate}}\\n </th>\\n <th>\\n {{'table.speciality'|translate}}\\n </th>\\n <th>\\n {{'table.nationality'|translate}}\\n </th>\\n <th>\\n {{'table.rate'|translate}}\\n </th>\\n <th>\\n {{'table.working_times'|translate}}\\n </th>\\n <th>\\n {{'table.image'|translate}}\\n </th>\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n <th>\\n {{'table.edit_image'|translate}}\\n </th>\\n <th>\\n {{'table.edit'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let doc of doctors;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{doc.name.ar}}</td>\\n <td>{{doc.name.en}}</td>\\n <td>{{doc.title?.ar}}</td>\\n <td>{{doc.title?.en}}</td>\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\"\\n (click)=\\\"showContentInDialog(i, doc.brief?.ar)\\\">\\n {{'app.show'|translate}}</span>\\n </td>\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\"\\n (click)=\\\"showContentInDialog(i, doc.brief?.en)\\\">\\n {{'app.show'|translate}}</span>\\n </td>\\n\\n <td>{{doc.examinationFees}}</td>\\n <td>{{doc.speciality.name |lang}}</td>\\n <td>{{doc.nationality.name |lang}}</td>\\n <td>{{doc.rate}}</td>\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\"\\n (click)=\\\"showDoctorWorkingTimes(i, doc.availablity)\\\">\\n {{'app.show'|translate}}</span>\\n </td>\\n <td>\\n <img [src]=\\\"getDoctorImage(doc.avatar)\\\" class=\\\"img-thumbnail rounded-circle\\\"\\n style=\\\"width: 40px;height: 40px\\\"></td>\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"doc.isActive\\\" (click)=\\\"changeDoctorActivationClick(i , doc)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\" (click)=\\\"editImageClick(i, doc)\\\">\\n <i class=\\\"fa fa-edit\\\"></i>{{'app.edit'|translate}}</span>\\n </td>\\n\\n <td>\\n <i class=\\\"fa fa-2x fa-edit text-success\\\" (click)=\\\"editDoctorClick(i, doc)\\\"></i>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!--add edit doctor modal-->\\n<div class=\\\"modal fade\\\" id=\\\"doctorModal\\\">\\n <div class=\\\"modal-dialog modal-lg\\\">\\n <div class=\\\"modal-content\\\">\\n\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4 class=\\\"modal-title\\\">{{((index > -1 ? 'app.edit_doctor' : 'app.add_doctor'))| translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n\\n <form novalidate #doctorForm=\\\"ngForm\\\" class=\\\"form-row\\\">\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"name_ar\\\">{{'input.name_ar' |translate}}</label>\\n <input appArabicOnly id=\\\"name_ar\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"docNameAr\\\"\\n required=\\\"required\\\"\\n name=\\\"name_ar\\\">\\n <p *ngIf=\\\"submitForm && doctorForm.controls['name_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"name_en\\\">{{'input.name_en' |translate}}</label>\\n <input appEnglishOnly id=\\\"name_en\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"docNameEn\\\"\\n required=\\\"required\\\"\\n name=\\\"name_en\\\">\\n <p *ngIf=\\\"submitForm && doctorForm.controls['name_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <!-- doctor title-->\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"title_ar\\\">{{'input.title_ar' |translate}}</label>\\n <input appArabicOnly id=\\\"title_ar\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"docTitleAr\\\"\\n required=\\\"required\\\"\\n name=\\\"title_ar\\\">\\n <p *ngIf=\\\"submitForm && doctorForm.controls['title_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"title_en\\\">{{'input.title_en' |translate}}</label>\\n <input appEnglishOnly id=\\\"title_en\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"docTitleEn\\\"\\n required=\\\"required\\\"\\n name=\\\"title_en\\\">\\n <p *ngIf=\\\"submitForm && doctorForm.controls['title_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <!-- doctor breif-->\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"brief_ar\\\">{{'input.brief_ar' |translate}}</label>\\n <input appArabicOnly id=\\\"brief_ar\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"docBriefAr\\\"\\n required=\\\"required\\\"\\n name=\\\"brief_ar\\\">\\n <p *ngIf=\\\"submitForm && doctorForm.controls['brief_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"brief_en\\\">{{'input.brief_en' |translate}}</label>\\n <input appEnglishOnly id=\\\"brief_en\\\" type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"docBriefEn\\\"\\n required=\\\"required\\\"\\n name=\\\"brief_en\\\">\\n <p *ngIf=\\\"submitForm && doctorForm.controls['brief_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label>{{'app.nationalities'|translate}}</label>\\n <select name=\\\"nationality\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"nationalityId\\\">\\n <option value=\\\"\\\" selected>{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let nat of nationalities\\\" [value]=\\\"nat._id\\\">{{nat.name |lang}}</option>\\n </select>\\n <p *ngIf=\\\"submitForm && nationalityId==''\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label>{{'app.specializations'|translate}}</label>\\n <select name=\\\"speciality\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"specialityId\\\">\\n <option value=\\\"\\\" selected>{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let spec of specializations\\\" [value]=\\\"spec._id\\\">{{spec.name |lang}}</option>\\n </select>\\n <p *ngIf=\\\"submitForm && specialityId==''\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label>{{'app.hospitals'|translate}}</label>\\n <select name=\\\"center\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"centerId\\\">\\n <option value=\\\"\\\" selected>{{'app.select'|translate}}</option>\\n <option *ngFor=\\\"let cen of centers\\\" [value]=\\\"cen._id\\\">{{cen.name |lang}}</option>\\n </select>\\n <p *ngIf=\\\"submitForm && centerId==''\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-4\\\">\\n <label for=\\\"fees\\\">{{'input.fees' |translate}}</label>\\n <input id=\\\"fees\\\" type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"examinationFees\\\"\\n required=\\\"required\\\" name=\\\"fees\\\">\\n <p *ngIf=\\\"submitForm && doctorForm.controls['fees'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n <div class=\\\"w-100\\\"></div>\\n <h4 class=\\\"col-12\\\">{{'app.work_days'|translate}}</h4>\\n\\n <!-- day1 start-->\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day1\\\">{{'input.day' |translate}}</label>\\n <div class=\\\"row\\\">\\n <input name=\\\"check1\\\" type=\\\"checkbox\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"day1Availability\\\"\\n (change)=\\\"changeDayAvailability(0 , day1Availability)\\\"/>\\n <input id=\\\"day1\\\" type=\\\"text\\\" class=\\\"form-control w-75\\\" name=\\\"day1\\\"\\n placeholder=\\\"{{'input.day1' |translate}}\\\" disabled>\\n </div>\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day1_from\\\">{{'input.from' |translate}}</label>\\n <input id=\\\"day1_from\\\" time=\\\"\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[0].from\\\"\\n name=\\\"day1_from\\\" [disabled]=\\\"!day1Availability\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day1_to\\\">{{'input.to' |translate}}</label>\\n <input id=\\\"day1_to\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[0].to\\\"\\n [disabled]=\\\"!day1Availability\\\" name=\\\"day1_to\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day1_max\\\">{{'input.max_bookings' |translate}}</label>\\n <input id=\\\"day1_max\\\" type=\\\"number\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[0].maxBookings\\\"\\n [disabled]=\\\"!day1Availability\\\" name=\\\"day1_max\\\">\\n </div>\\n\\n <!--day 1 end-->\\n\\n <!-- day2 start-->\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day2\\\">{{'input.day' |translate}}</label>\\n <div class=\\\"row\\\">\\n <input name=\\\"check2\\\" type=\\\"checkbox\\\" class=\\\"form-control \\\" [(ngModel)]=\\\"day2Availability\\\"\\n (change)=\\\"changeDayAvailability(1 , day2Availability)\\\"/>\\n <input id=\\\"day2\\\" type=\\\"text\\\" class=\\\"form-control w-75\\\" name=\\\"day2\\\"\\n placeholder=\\\"{{'input.day2' |translate}}\\\" disabled>\\n </div>\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day2_from\\\">{{'input.from' |translate}}</label>\\n <input id=\\\"day2_from\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[1].from\\\" name=\\\"day2_from\\\"\\n [disabled]=\\\"!day2Availability\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day2_to\\\">{{'input.to' |translate}}</label>\\n <input id=\\\"day2_to\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[1].to\\\"\\n [disabled]=\\\"!day2Availability\\\" name=\\\"day2_to\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day2_max\\\">{{'input.max_bookings' |translate}}</label>\\n <input id=\\\"day2_max\\\" type=\\\"number\\\" max=\\\"150\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[1].maxBookings\\\"\\n [disabled]=\\\"!day2Availability\\\" name=\\\"day2_max\\\">\\n </div>\\n <!--day 2 end-->\\n\\n <!-- day3 start-->\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day3\\\">{{'input.day' |translate}}</label>\\n <div class=\\\"row\\\">\\n <input name=\\\"check3\\\" type=\\\"checkbox\\\" class=\\\"form-control \\\" [(ngModel)]=\\\"day3Availability\\\"\\n (change)=\\\"changeDayAvailability(2 , day3Availability)\\\"/>\\n <input id=\\\"day3\\\" type=\\\"text\\\" class=\\\"form-control w-75\\\" name=\\\"day3\\\"\\n placeholder=\\\"{{'input.day3' |translate}}\\\" disabled>\\n </div>\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day3_from\\\">{{'input.from' |translate}}</label>\\n <input id=\\\"day3_from\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[2].from\\\" name=\\\"day3_from\\\"\\n [disabled]=\\\"!day3Availability\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day3_to\\\">{{'input.to' |translate}}</label>\\n <input id=\\\"day3_to\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[2].to\\\"\\n [disabled]=\\\"!day3Availability\\\" name=\\\"day3_to\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day3_max\\\">{{'input.max_bookings' |translate}}</label>\\n <input id=\\\"day3_max\\\" type=\\\"number\\\" max=\\\"150\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[2].maxBookings\\\"\\n [disabled]=\\\"!day3Availability\\\" name=\\\"day3_max\\\">\\n </div>\\n <!--day 3 end-->\\n\\n <!-- day4 start-->\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day4\\\">{{'input.day' |translate}}</label>\\n <div class=\\\"row\\\">\\n <input name=\\\"check4\\\" type=\\\"checkbox\\\" class=\\\"form-control \\\" [(ngModel)]=\\\"day4Availability\\\"\\n (change)=\\\"changeDayAvailability(3 , day4Availability)\\\"/>\\n <input id=\\\"day4\\\" type=\\\"text\\\" class=\\\"form-control w-75\\\" name=\\\"day4\\\"\\n placeholder=\\\"{{'input.day4' |translate}}\\\" disabled>\\n </div>\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day4_from\\\">{{'input.from' |translate}}</label>\\n <input id=\\\"day4_from\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[3].from\\\" name=\\\"day4_from\\\"\\n [disabled]=\\\"!day4Availability\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day4_to\\\">{{'input.to' |translate}}</label>\\n <input id=\\\"day4_to\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[3].to\\\"\\n [disabled]=\\\"!day4Availability\\\" name=\\\"day4_to\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day4_max\\\">{{'input.max_bookings' |translate}}</label>\\n <input id=\\\"day4_max\\\" type=\\\"number\\\" max=\\\"150\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[3].maxBookings\\\"\\n [disabled]=\\\"!day4Availability\\\" name=\\\"day4_max\\\">\\n </div>\\n <!--day 4 end-->\\n\\n <!-- day5 start-->\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day5\\\">{{'input.day' |translate}}</label>\\n <div class=\\\"row\\\">\\n <input name=\\\"check5\\\" type=\\\"checkbox\\\" class=\\\"form-control \\\" [(ngModel)]=\\\"day5Availability\\\"\\n (change)=\\\"changeDayAvailability(0 , day5Availability)\\\"/>\\n <input id=\\\"day5\\\" type=\\\"text\\\" class=\\\"form-control w-75\\\" name=\\\"day5\\\"\\n placeholder=\\\"{{'input.day5' |translate}}\\\" disabled>\\n </div>\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day5_from\\\">{{'input.from' |translate}}</label>\\n <input id=\\\"day5_from\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[4].from\\\" name=\\\"day5_from\\\"\\n [disabled]=\\\"!day5Availability\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day5_to\\\">{{'input.to' |translate}}</label>\\n <input id=\\\"day5_to\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[4].to\\\"\\n [disabled]=\\\"!day5Availability\\\" name=\\\"day5_to\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day5_max\\\">{{'input.max_bookings' |translate}}</label>\\n <input id=\\\"day5_max\\\" type=\\\"number\\\" max=\\\"150\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[4].maxBookings\\\"\\n [disabled]=\\\"!day5Availability\\\" name=\\\"day5_max\\\">\\n </div>\\n <!--day 5 end-->\\n\\n <!-- day6 start-->\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day6\\\">{{'input.day' |translate}}</label>\\n <div class=\\\"row\\\">\\n <input name=\\\"check6\\\" type=\\\"checkbox\\\" class=\\\"form-control \\\" [(ngModel)]=\\\"day6Availability\\\"\\n (change)=\\\"changeDayAvailability(5 , day6Availability)\\\"/>\\n <input id=\\\"day6\\\" type=\\\"text\\\" class=\\\"form-control w-75\\\" name=\\\"day6\\\"\\n placeholder=\\\"{{'input.day6' |translate}}\\\" disabled>\\n </div>\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day6_from\\\">{{'input.from' |translate}}</label>\\n <input id=\\\"day6_from\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[5].from\\\" name=\\\"day6_from\\\"\\n [disabled]=\\\"!day6Availability\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day6_to\\\">{{'input.to' |translate}}</label>\\n <input id=\\\"day6_to\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[5].to\\\"\\n [disabled]=\\\"!day6Availability\\\" name=\\\"day6_to\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day6_max\\\">{{'input.max_bookings' |translate}}</label>\\n <input id=\\\"day6_max\\\" type=\\\"number\\\" max=\\\"150\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[5].maxBookings\\\"\\n [disabled]=\\\"!day6Availability\\\" name=\\\"day6_max\\\">\\n </div>\\n\\n <!--day 6 end-->\\n\\n <!-- day7 start-->\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day7\\\">{{'input.day' |translate}}</label>\\n <div class=\\\"row\\\">\\n <input name=\\\"check7\\\" type=\\\"checkbox\\\" class=\\\"form-control \\\" [(ngModel)]=\\\"day7Availability\\\"\\n (change)=\\\"changeDayAvailability(6 , day7Availability)\\\"/>\\n <input id=\\\"day7\\\" type=\\\"text\\\" class=\\\"form-control w-75\\\" name=\\\"day7\\\"\\n placeholder=\\\"{{'input.day7' |translate}}\\\" disabled>\\n </div>\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day7_from\\\">{{'input.from' |translate}}</label>\\n <input id=\\\"day7_from\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[6].from\\\" name=\\\"day7_from\\\"\\n [disabled]=\\\"!day7Availability\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day7_to\\\">{{'input.to' |translate}}</label>\\n <input id=\\\"day7_to\\\" type=\\\"time\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[6].to\\\"\\n [disabled]=\\\"!day7Availability\\\" name=\\\"day7_to\\\">\\n </div>\\n\\n <div class=\\\"form-group col-3\\\">\\n <label for=\\\"day7_max\\\">{{'input.max_bookings' |translate}}</label>\\n <input id=\\\"day7_max\\\" type=\\\"number\\\" max=\\\"150\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"availablity[6].maxBookings\\\"\\n [disabled]=\\\"!day7Availability\\\" name=\\\"day7_max\\\">\\n </div>\\n <!--day 7 end-->\\n\\n </form>\\n </div>\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button class=\\\"btn btn-primary\\\" (click)=\\\"saveDoctor(doctorForm)\\\">{{'app.save'|translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n\\n<app-edit-image #editImageComponent></app-edit-image>\\n<app-doctor-times #doctorTimes></app-doctor-times>\\n\\n\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {DoctorApi} from '../../../data/api/doctor-api';\nimport {DialogService} from '../../../service/dialog-service';\nimport {ModalService} from '../../../service/modal-service';\nimport {Availablity, Doctor} from '../../../data/response/doctors/doctors-response';\nimport {environment} from '../../../environments/environment';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\nimport {SpecializationApi} from '../../../data/api/specialization-api';\nimport {CenterApi} from '../../../data/api/center-api';\nimport {NationalityApi} from '../../../data/api/nationality-api';\nimport {Specialization} from '../../../data/response/specializations/specializations-response';\nimport {Center} from '../../../data/response/centers/centers-response';\nimport {Nationality} from '../../../data/response/nationalities/nationalities-response';\nimport {NgForm} from '@angular/forms';\nimport {DoctorTimesComponent} from './doctor-times/doctor-times.component';\nimport {DoctorsCounters} from '../../../data/response/doctors/doctors-counters-response';\n\n@Component({\n selector: 'app-doctors',\n templateUrl: './doctors.component.html',\n styleUrls: ['./doctors.component.css']\n})\nexport class DoctorsComponent implements OnInit {\n\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n @ViewChild('doctorTimes')\n doctorTimes: DoctorTimesComponent;\n\n doctors: Doctor[] = [];\n specializations: Specialization[] = [];\n centers: Center[] = [];\n nationalities: Nationality[] = [];\n hospitals: Center[] = [];\n docNameAr: string;\n docNameEn: string;\n docTitleAr: string;\n docTitleEn: string;\n docBriefAr: string;\n docBriefEn: string;\n specialityId: string;\n centerId: string;\n nationalityId: string;\n examinationFees: number;\n availablity: any[];\n index: number;\n id: string;\n submitForm: boolean;\n day1Availability: boolean;\n day2Availability: boolean;\n day3Availability: boolean;\n day4Availability: boolean;\n day5Availability: boolean;\n day6Availability: boolean;\n day7Availability: boolean;\n\n searchBy: {\n type: string, speciality: string, centerId: string,\n nationality: string, centerName: string, validation: string\n };\n filterNationalities: Nationality [ ] = [];\n showCounters = false;\n doctorsCounters: DoctorsCounters;\n\n constructor(private headerService: PageHeaderInfoService, private doctorApi: DoctorApi,\n private dialogService: DialogService,\n private modalService: ModalService, private specialityAPi: SpecializationApi,\n private centersApi: CenterApi, private nationalityApi: NationalityApi, private hospitalApi: CenterApi) {\n headerService.setData('fa-stethoscope', 'app.doctors', '');\n }\n\n ngOnInit() {\n this.loadDoctors();\n this.loadSpecializations();\n this.loadNationalities();\n this.loadCenters();\n this.loadHospitals();\n this.setDefaultDoctorData();\n this.searchBy = {type: '0', centerName: '', centerId: '', nationality: '', speciality: '', validation: ''};\n this.loadDoctorsCounters();\n }\n\n addDoctorClick() {\n this.setDefaultDoctorData();\n this.modalService.open('doctorModal');\n }\n\n getDoctorImage(avatar: string) {\n return environment.baseLink.concat(avatar);\n }\n\n changeDoctorActivationClick(i: number, doc: Doctor) {\n // check if doctor is active or not.\n if (doc.isActive) {\n // deactivate\n this.doctorApi.deactivate(doc._id).subscribe(res => {\n doc.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate\n this.doctorApi.activate(doc._id).subscribe(res => {\n doc.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n editImageClick(i: number, doctor: Doctor) {\n this.editImageComponent.setImage(doctor.avatar, doctor._id, 'doctor', link => {\n doctor.avatar = link;\n });\n this.editImageComponent.open();\n }\n\n editDoctorClick(i: number, doc: Doctor) {\n this.setDefaultDoctorData();\n this.index = i;\n this.docNameAr = doc.name.ar;\n this.docNameEn = doc.name.en;\n this.docTitleAr = doc.title.ar;\n this.docTitleEn = doc.title.en;\n this.docBriefAr = doc.brief.ar;\n this.docBriefEn = doc.brief.en;\n this.specialityId = doc.speciality._id;\n this.nationalityId = doc.nationality._id;\n this.id = doc._id;\n this.centerId = doc.center._id;\n this.examinationFees = doc.examinationFees;\n // get doctor times.\n doc.availablity.forEach(value => {\n if (value.day === 'saturday') {\n const time = this.availablity[0];\n this.day1Availability = true;\n time.isAvailable = true;\n time.from = value.times[0].from;\n time.to = value.times[0].to;\n time.maxBookings = value.maxBookings;\n } else if (value.day === 'sunday') {\n const time = this.availablity[1];\n this.day2Availability = true;\n time.isAvailable = true;\n time.from = value.times[0].from;\n time.to = value.times[0].to;\n time.maxBookings = value.maxBookings;\n } else if (value.day === 'monday') {\n const time = this.availablity[2];\n this.day3Availability = true;\n time.isAvailable = true;\n time.from = value.times[0].from;\n time.to = value.times[0].to;\n time.maxBookings = value.maxBookings;\n } else if (value.day === 'tuesday') {\n const time = this.availablity[3];\n this.day4Availability = true;\n time.isAvailable = true;\n time.from = value.times[0].from;\n time.to = value.times[0].to;\n time.maxBookings = value.maxBookings;\n } else if (value.day === 'wednesday') {\n const time = this.availablity[4];\n this.day5Availability = true;\n time.isAvailable = true;\n time.from = value.times[0].from;\n time.to = value.times[0].to;\n time.maxBookings = value.maxBookings;\n } else if (value.day === 'thursday') {\n const time = this.availablity[5];\n this.day6Availability = true;\n time.isAvailable = true;\n time.from = value.times[0].from;\n time.to = value.times[0].to;\n time.maxBookings = value.maxBookings;\n } else if (value.day === 'friday') {\n const time = this.availablity[6];\n this.day7Availability = true;\n time.isAvailable = true;\n time.from = value.times[0].from;\n time.to = value.times[0].to;\n time.maxBookings = value.maxBookings;\n }\n });\n this.modalService.open('doctorModal');\n }\n\n private loadDoctors() {\n this.doctorApi.doctors(1, 10000).subscribe(res => {\n this.doctors = res.data;\n });\n }\n\n showContentInDialog(i: number, text: string) {\n const content = `<div class=\"text-muted h4\">${text}</div>`;\n this.dialogService.showText(content);\n }\n\n private loadSpecializations() {\n this.specialityAPi.activeSpecializations(1, 1000).subscribe(res => {\n this.specializations = res.data;\n });\n }\n\n private loadCenters() {\n this.centersApi.activeCenters(1, 10000).subscribe(res => {\n this.centers = res.data;\n });\n }\n\n\n private loadHospitals() {\n this.hospitalApi.activeCenters(1, 10000).subscribe(res => {\n this.hospitals = res.data;\n });\n }\n\n private setDefaultDoctorData() {\n this.availablity = [{\n isAvailable: false,\n from: '10:00',\n to: '23:30',\n maxBookings: 10\n }, {\n isAvailable: false,\n from: '10:00',\n to: '23:30',\n maxBookings: 10\n }, {\n isAvailable: false,\n from: '10:00',\n to: '23:30',\n maxBookings: 10\n }, {\n isAvailable: false,\n from: '10:00',\n to: '23:30',\n maxBookings: 10\n }, {\n isAvailable: false,\n from: '10:00',\n to: '23:30',\n maxBookings: 10\n }, {\n isAvailable: false,\n from: '10:00',\n to: '23:30',\n maxBookings: 10\n }, {\n isAvailable: false,\n from: '10:00',\n to: '23:30',\n maxBookings: 10\n }];\n this.docNameAr = '';\n this.docNameEn = '';\n this.docTitleAr = '';\n this.docTitleEn = '';\n this.docBriefAr = '';\n this.docBriefEn = '';\n this.specialityId = '';\n this.centerId = '';\n this.nationalityId = '';\n this.examinationFees = 0;\n this.index = -1;\n this.id = '';\n this.submitForm = false;\n this.day1Availability = false;\n this.day2Availability = false;\n this.day3Availability = false;\n this.day4Availability = false;\n this.day5Availability = false;\n this.day6Availability = false;\n this.day7Availability = false;\n }\n\n saveDoctor(doctorForm: NgForm) {\n this.submitForm = true;\n if (!doctorForm.valid || this.nationalityId === '' || this.centerId === '' || this.specialityId === '') {\n return;\n }\n const body: any = {};\n body.name = {};\n body.name.ar = this.docNameAr;\n body.name.en = this.docNameEn;\n body.title = {};\n body.title.ar = this.docTitleAr;\n body.title.en = this.docTitleEn;\n body.brief = {};\n body.brief.ar = this.docBriefAr;\n body.brief.en = this.docBriefEn;\n body.specialityId = this.specialityId;\n body.centerId = this.centerId;\n body.nationalityId = this.nationalityId;\n body.examinationFees = this.examinationFees;\n body.availablity = this.getWorkingDays();\n // check if add or edit doctor.\n if (this.index > -1) {\n // edit\n this.doctorApi.update(this.id, body).subscribe(res => {\n this.modalService.close('doctorModal');\n this.doctors[this.index] = res.data[0];\n this.dialogService.successMessage(res.message);\n this.setDefaultDoctorData();\n });\n } else {\n // save.\n this.doctorApi.save(body).subscribe(res => {\n this.modalService.close('doctorModal');\n this.doctors.push(res.data[0]);\n this.dialogService.successMessage(res.message);\n this.setDefaultDoctorData();\n });\n }\n }\n\n changeDayAvailability(dayIndex: number, isAvailable: boolean) {\n this.availablity[dayIndex].isAvailable = isAvailable;\n }\n\n private getWorkingDays() {\n const days = [];\n this.availablity.forEach((value, index) => {\n if (index === 0 && value.isAvailable) {\n // saturady\n days.push({\n day: 'saturday',\n times: [\n {\n from: value.from,\n to: value.to\n }\n ],\n maxBookings: value.maxBookings\n });\n } else if (index === 1 && value.isAvailable) {\n // sunday\n days.push({\n day: 'sunday',\n times: [\n {\n from: value.from,\n to: value.to\n }\n ],\n maxBookings: value.maxBookings\n });\n } else if (index === 2 && value.isAvailable) {\n // monday\n days.push({\n day: 'monday',\n times: [\n {\n from: value.from,\n to: value.to\n }\n ],\n maxBookings: value.maxBookings\n });\n } else if (index === 3 && value.isAvailable) {\n // tuesday\n days.push({\n day: 'tuesday',\n times: [\n {\n from: value.from,\n to: value.to\n }\n ],\n maxBookings: value.maxBookings\n });\n } else if (index === 4 && value.isAvailable) {\n // wednesday\n days.push({\n day: 'wednesday',\n times: [\n {\n from: value.from,\n to: value.to\n }\n ],\n maxBookings: value.maxBookings\n });\n } else if (index === 5 && value.isAvailable) {\n // thursday\n days.push({\n day: 'thursday',\n times: [\n {\n from: value.from,\n to: value.to\n }\n ],\n maxBookings: value.maxBookings\n });\n } else if (index === 6 && value.isAvailable) {\n // friday\n days.push({\n day: 'friday',\n times: [\n {\n from: value.from,\n to: value.to\n }\n ],\n maxBookings: value.maxBookings\n });\n }\n });\n return days;\n }\n\n /* private convertTo12Hour(time: string) {\n const H = +time.substr(0, 2);\n let h: string | number = (H % 12) || 12;\n h = (h < 10) ? ('0' + h) : h; // leading 0 at the left for 1 digit hours\n const ampm = H < 12 ? ' AM' : ' PM';\n time = h + time.substr(2, 3) + ampm;\n return time;\n }*/\n showDoctorWorkingTimes(i: number, availablity: Availablity[]) {\n this.doctorTimes.setTimes(availablity);\n this.doctorTimes.open();\n }\n\n searchDoctors() {\n let search = '';\n this.searchBy.validation = '';\n if (this.searchBy.type === '0') {\n this.loadDoctors();\n return;\n } else if (this.searchBy.type === '1') {\n // search by specialization.\n if (this.searchBy.speciality === '') {\n this.searchBy.validation = 'errors.select_search_criteria';\n return;\n }\n search += '?specialityId=' + this.searchBy.speciality + '&lang=all';\n } else if (this.searchBy.type === '2') {\n // search by hospital.\n if (this.searchBy.centerId === '') {\n this.searchBy.validation = 'errors.select_search_criteria';\n return;\n }\n search += '?centerId=' + this.searchBy.centerId + '&lang=all';\n } else if (this.searchBy.type === '3') {\n // search by nationality.\n if (this.searchBy.nationality === '') {\n this.searchBy.validation = 'errors.select_search_criteria';\n return;\n }\n search += '?nationalityId=' + this.searchBy.nationality + '&lang=all';\n } else {\n // search by center name.\n if (this.searchBy.centerName === '') {\n this.searchBy.validation = 'errors.select_search_criteria';\n return;\n }\n search += '?keyword=' + this.searchBy.centerName + '&lang=all';\n }\n\n this.doctors = [];\n this.doctorApi.search(search).subscribe(res => {\n this.doctors = res.data;\n });\n }\n\n private loadNationalities() {\n this.nationalityApi.nationalities(1, 10000).subscribe(res => {\n this.nationalities = res.data;\n });\n }\n\n private loadDoctorsCounters() {\n this.doctorApi.statistics().subscribe(res => {\n this.doctorsCounters = res.data[0];\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vbmF0aW9uYWxpdGllcy9uYXRpb25hbGl0aWVzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"<!--nationalities counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{nationalitiesCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{nationalitiesCounters?.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{nationalitiesCounters?.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-row mb-2\\\">\\n <button class=\\\"btn btn-primary col-2\\\"\\n (click)=\\\"addNationalityClick()\\\">{{'app.add_nationality'|translate}}</button>\\n </div>\\n\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"nationalities\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_en'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_ar'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n <th>\\n {{'table.delete'|translate}}\\n </th>\\n <th>\\n {{'table.edit'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let nat of nationalities;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{nat.name.en}}</td>\\n <td>{{nat.name.ar}}</td>\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"nat.isActive\\\" (click)=\\\"changeNationalityActiveClick(i , nat)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-trash text-danger\\\" (click)=\\\"deleteNationalityClick(i, nat)\\\"></i>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-edit text-success\\\" (click)=\\\"editNationalityClick(i, nat)\\\"></i>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!-- The Modal -->\\n<div class=\\\"modal fade\\\" id=\\\"nationalityModal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4\\n class=\\\"modal-title\\\">{{((nationality.id !== '' ? 'app.edit_nationality' : 'app.add_nationality'))|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n <form novalidate class=\\\"row\\\" #form=\\\"ngForm\\\">\\n <div class=\\\"form-group col-12\\\">\\n <input appArabicOnly type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"nationality.nameAr\\\"\\n placeholder=\\\"{{'input.name_ar' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_ar\\\">\\n <p *ngIf=\\\"nationality.submitForm && form.controls['name_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-12\\\">\\n <input appEnglishOnly type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"nationality.nameEn\\\"\\n placeholder=\\\"{{'input.name_en' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_en\\\">\\n <p *ngIf=\\\"nationality.submitForm && form.controls['name_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n </form>\\n </div>\\n\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\"\\n (click)=\\\"saveNationalityModalClick(form)\\\">{{'app.save'|translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n<app-edit-image #editImageComponent></app-edit-image>\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {DialogService} from '../../../service/dialog-service';\nimport {ModalService} from '../../../service/modal-service';\nimport {NationalityApi} from '../../../data/api/nationality-api';\nimport {Nationality} from '../../../data/response/nationalities/nationalities-response';\nimport {environment} from '../../../environments/environment';\nimport {NgForm} from '@angular/forms';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {NationalitiesCounters} from '../../../data/response/nationalities/nationalities-counters-response';\n\n@Component({\n selector: 'app-nationalities',\n templateUrl: './nationalities.component.html',\n styleUrls: ['./nationalities.component.css']\n})\nexport class NationalitiesComponent implements OnInit {\n\n // GUI.\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n // Data\n nationality: { nameAr: string, nameEn: string, id: string, index: number, submitForm: boolean };\n nationalities: Nationality [] = [];\n showCounters = false;\n nationalitiesCounters: NationalitiesCounters;\n\n constructor(private dialogService: DialogService, private modalService: ModalService,\n private nationalityApi: NationalityApi,\n private headerInfoService: PageHeaderInfoService) {\n this.headerInfoService.setData('fa-flag-usa', 'app.nationalities', '');\n }\n\n ngOnInit() {\n this.setDefaultNationality();\n this.loadAllNationalities();\n this.loadNationalitiesCounters();\n }\n\n addNationalityClick() {\n this.setDefaultNationality();\n this.modalService.open('nationalityModal');\n }\n\n private setDefaultNationality() {\n this.nationality = {id: '', index: -1, nameAr: '', nameEn: '', submitForm: false};\n }\n\n getNationalityImage(avatar: any) {\n return environment.baseLink.concat(avatar);\n }\n\n changeNationalityActiveClick(i: number, nat: Nationality) {\n // check if nationality is active or not.\n if (nat.isActive) {\n // deactivate\n this.nationalityApi.deActivate(nat._id).subscribe(res => {\n nat.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate.\n this.nationalityApi.activate(nat._id).subscribe(res => {\n nat.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n editImageClick(i: number, nat: Nationality) {\n this.editImageComponent.setImage(nat.avatar, nat._id, 'nationality', link => {\n nat.avatar = link;\n });\n this.editImageComponent.open();\n }\n\n editNationalityClick(i: number, nat: Nationality) {\n this.nationality = {\n submitForm: false,\n nameEn: nat.name.en,\n nameAr: nat.name.ar,\n index: i,\n id: nat._id\n };\n this.modalService.open('nationalityModal');\n }\n\n saveNationalityModalClick(form: NgForm) {\n this.nationality.submitForm = true;\n if (!form.valid) {\n return;\n }\n const body: any = {};\n body.name = {};\n body.name.ar = this.nationality.nameAr;\n body.name.en = this.nationality.nameEn;\n // check if add or edit .\n if (this.nationality.index > -1) {\n // edit.\n this.nationalityApi.update(this.nationality.id, body).subscribe(res => {\n const nat = this.nationalities[this.nationality.index];\n nat.name = res.data[0].name;\n this.modalService.close('nationalityModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultNationality();\n });\n } else {\n // add\n this.nationalityApi.save(body).subscribe(res => {\n this.nationalities.push(res.data[0]);\n this.modalService.close('nationalityModal');\n this.dialogService.successMessage(res.message);\n this.setDefaultNationality();\n });\n }\n }\n\n private loadAllNationalities() {\n this.nationalityApi.nationalities(1, 10000).subscribe(res => {\n this.nationalities = res.data;\n });\n }\n\n deleteNationalityClick(i: number, nat: Nationality) {\n this.dialogService.showDeleteItem(() => {\n this.nationalityApi.delete(nat._id).subscribe(res => {\n this.nationalities.splice(i, 1);\n this.dialogService.successMessage();\n });\n });\n }\n\n private loadNationalitiesCounters() {\n this.nationalityApi.statistics().subscribe(res => {\n this.nationalitiesCounters = res.data[0];\n });\n }\n}\n","module.exports = \"#pick_image{\\n width: 35px;\\n height: 35px;\\n margin-right: -10px;\\n position: absolute;\\n margin-top: 4px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixlQUFlO0FBQ2pCIiwiZmlsZSI6InNyYy91aS9hZG1pbi9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNwaWNrX2ltYWdle1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbiJdfQ== */\"","module.exports = \"<div class=\\\"card bd-0\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"text-center\\\" (click)=\\\"changeProfileImageClick()\\\">\\n <img id=\\\"pick_image\\\" src=\\\"assets/images/ic_pick_image.png\\\"\\n style=\\\"width: 30px;height: 30px\\\"/>\\n <img [src]=\\\"getAdminImage()\\\"\\n src-fallback=\\\"{{ placeholderImage }}\\\"\\n class=\\\"img-thumbnail\\\" style=\\\"width: 100px;height: 100px ; border-radius: 50%\\\">\\n\\n <h4 class=\\\"tx-normal tx-roboto tx-inverse\\\">{{admin.fullName}}</h4>\\n <p class=\\\"mg-b-25\\\">{{admin.email}}</p>\\n </div>\\n\\n <div class=\\\"row mx-2\\\">\\n <form novalidate #passwordForm=\\\"ngForm\\\" (ngSubmit)=\\\"changePassword(passwordForm)\\\" class=\\\"w-100\\\">\\n\\n <div class=\\\"form-group text-right\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"password.oldPassword\\\"\\n placeholder=\\\"{{'input.enter_old_password' |translate}}\\\" required=\\\"required\\\"\\n name=\\\"old_password\\\" minlength=\\\"7\\\">\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['old_password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['old_password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length7'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group text-right\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"password.newPassword\\\"\\n placeholder=\\\"{{'input.enter_new_password' |translate}}\\\" required=\\\"required\\\"\\n name=\\\"new_password\\\" minlength=\\\"7\\\">\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['new_password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['new_password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length7'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && password.newPassword!=password.retypedPassword\\\"\\n class=\\\"text-danger\\\">{{'validation.passwords_not_match'|translate}}</p>\\n </div>\\n\\n\\n <div class=\\\"form-group text-right\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"password.retypedPassword\\\"\\n placeholder=\\\"{{'input.retyped_new_password' |translate}}\\\" required=\\\"required\\\"\\n name=\\\"retyped_password\\\" minlength=\\\"7\\\">\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['retyped_password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && passwordForm.controls['retyped_password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length7'|translate}}</p>\\n <p *ngIf=\\\"password.submitForm && password.newPassword!=password.retypedPassword\\\"\\n class=\\\"text-danger\\\">{{'validation.passwords_not_match'|translate}}</p>\\n </div>\\n\\n\\n <div class=\\\"form-group\\\">\\n <button class=\\\"btn btn-primary col-3\\\" type=\\\"submit\\\">{{'app.save'|translate}}</button>\\n </div>\\n\\n </form>\\n </div>\\n\\n </div><!-- card-body -->\\n <div class=\\\"card-footer tx-14 d-sm-flex justify-content-sm-center\\\">\\n <nav class=\\\"nav nav-inline flex-column flex-sm-row\\\">\\n </nav>\\n </div><!-- card-footer -->\\n</div><!-- card -->\\n\\n\\n<app-edit-image #editImageComponent></app-edit-image>\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {AdminApi} from '../../../data/api/admin-api';\nimport {DialogService} from '../../../service/dialog-service';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {Admin} from '../../../data/response/login/admin-response';\nimport {AdminService} from '../../../service/admin-service';\nimport {NgForm} from '@angular/forms';\nimport {environment} from '../../../environments/environment';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.css']\n})\nexport class ProfileComponent implements OnInit {\n\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n placeholderImage = 'assets/images/ic_user_placeholder.png';\n admin: Admin;\n password: { oldPassword: string, newPassword: string, retypedPassword: string, adminId: string, submitForm: boolean };\n\n constructor(private adminApi: AdminApi, private dialogService: DialogService,\n private headerInfo: PageHeaderInfoService, private adminService: AdminService) {\n headerInfo.setData('fa-user', 'app.edit_profile', '');\n }\n\n ngOnInit() {\n this.admin = this.adminService.getAdmin();\n this.setDefaultPassword();\n }\n\n changePassword(passwordForm: NgForm) {\n this.password.submitForm = true;\n if (!passwordForm.valid || this.password.newPassword !== this.password.retypedPassword) {\n return;\n }\n const body: any = {};\n body.oldPassword = this.password.oldPassword;\n body.newPassword = this.password.newPassword;\n body.confirmNewPassword = this.password.retypedPassword;\n this.adminApi.changePassword(body)\n .subscribe(res => {\n this.dialogService.successMessage(res.message);\n });\n }\n\n private setDefaultPassword() {\n this.password = {adminId: this.admin._id, newPassword: '', oldPassword: '', retypedPassword: '', submitForm: false};\n }\n\n getAdminImage() {\n return environment.baseLink.concat(this.admin.avatar);\n }\n\n changeProfileImageClick() {\n this.editImageComponent.setImage(this.admin.avatar, this.admin._id, 'admin', link => {\n this.admin.avatar = link;\n });\n this.editImageComponent.open();\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vc3BlY2lhbGl6YXRpb25zL3NwZWNpYWxpemF0aW9ucy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"<!--nationalities counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{specializationsCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{specializationsCounters?.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{specializationsCounters?.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <div class=\\\"d-flex flex-row mb-2\\\">\\n <button class=\\\"btn btn-primary col-2\\\"\\n (click)=\\\"addSpecializationClick()\\\">{{'app.add_specialization'|translate}}</button>\\n </div>\\n\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"specializations\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_en'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.name_ar'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n {{'table.image'|translate}}\\n </th>\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n <th>\\n {{'table.edit_image'|translate}}\\n </th>\\n <th>\\n {{'table.delete'|translate}}\\n </th>\\n <th>\\n {{'table.edit'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let spec of specializations;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{spec.name.en}}</td>\\n <td>{{spec.name.ar}}</td>\\n <td><img [src]=\\\"getSpecializationImage(spec.avatar)\\\" class=\\\"img-thumbnail rounded-circle\\\"\\n style=\\\"width: 40px;height: 40px\\\"></td>\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"spec.isActive\\\" (click)=\\\"changeSpecializationActiveClick(i , spec)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n <td>\\n <span class=\\\"badge badge-secondary text-white p-2 mouse-cursor\\\" (click)=\\\"editImageClick(i, spec)\\\">\\n <i class=\\\"fa fa-edit\\\"></i>{{'app.edit'|translate}}</span>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-trash text-danger\\\" (click)=\\\"deleteSpecializationClick(i, spec)\\\"></i>\\n </td>\\n <td>\\n <i class=\\\"fa fa-2x fa-edit text-success\\\" (click)=\\\"editSpecializationClick(i, spec)\\\"></i>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n</div>\\n\\n\\n<!-- The Modal -->\\n<div class=\\\"modal fade\\\" id=\\\"specMdoal\\\">\\n <div class=\\\"modal-dialog\\\">\\n <div class=\\\"modal-content\\\">\\n\\n <!-- Modal Header -->\\n <div class=\\\"modal-header\\\">\\n <h4\\n class=\\\"modal-title\\\">{{((specialization.id !== '' ? 'app.edit_specialization' : 'app.add_specialization'))|translate}}</h4>\\n <button type=\\\"button\\\" class=\\\"close\\\" data-dismiss=\\\"modal\\\">×</button>\\n </div>\\n\\n <!-- Modal body -->\\n <div class=\\\"modal-body\\\">\\n <form novalidate class=\\\"row\\\" #form=\\\"ngForm\\\">\\n\\n <div class=\\\"form-group col-12\\\">\\n <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"specialization.nameAr\\\"\\n placeholder=\\\"{{'input.name_ar' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_ar\\\">\\n <p *ngIf=\\\"specialization.submitForm && form.controls['name_ar'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n\\n <div class=\\\"form-group col-12\\\">\\n <input type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"specialization.nameEn\\\"\\n placeholder=\\\"{{'input.name_en' |translate}}\\\"\\n required=\\\"required\\\" name=\\\"name_en\\\">\\n <p *ngIf=\\\"specialization.submitForm && form.controls['name_en'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n </div>\\n </form>\\n </div>\\n\\n <!-- Modal footer -->\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\"\\n (click)=\\\"saveSpecializationClick(form)\\\">{{'app.save'|translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-danger\\\" data-dismiss=\\\"modal\\\">{{'app.close'|translate}}</button>\\n </div>\\n\\n </div>\\n </div>\\n</div>\\n<app-edit-image #editImageComponent></app-edit-image>\\n\"","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {SpecializationApi} from '../../../data/api/specialization-api';\nimport {ModalService} from '../../../service/modal-service';\nimport {Specialization} from '../../../data/response/specializations/specializations-response';\nimport {environment} from '../../../environments/environment';\nimport {NgForm} from '@angular/forms';\nimport {DialogService} from '../../../service/dialog-service';\nimport {EditImageComponent} from '../../../component/edit-image/edit-image.component';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {\n SpecializationsCounters,\n SpecializationsCountersResponse\n} from '../../../data/response/specializations/specializations-counters-response';\n\n@Component({\n selector: 'app-specializations',\n templateUrl: './specializations.component.html',\n styleUrls: ['./specializations.component.css']\n})\nexport class SpecializationsComponent implements OnInit {\n\n @ViewChild('editImageComponent')\n editImageComponent: EditImageComponent;\n\n specialization: { nameAr: string, nameEn: string, id: string, index: number, submitForm: boolean };\n specializations: Specialization[] = [];\n showCounters = false;\n specializationsCounters: SpecializationsCounters;\n\n constructor(private specializationApi: SpecializationApi,\n private modalService: ModalService,\n private dialogService: DialogService, private headerInfoService: PageHeaderInfoService) {\n headerInfoService.setData('fa-thermometer-half', 'app.specializations', '');\n }\n\n ngOnInit() {\n this.setDefaultSpecialization();\n this.loadSpecializations();\n this.loadSpecializationsCounters();\n }\n\n private setDefaultSpecialization() {\n this.specialization = {id: '', index: -1, nameAr: '', nameEn: '', submitForm: false};\n }\n\n private loadSpecializations() {\n this.specializationApi.specializations(1, 10000).subscribe(res => {\n this.specializations = res.data;\n });\n }\n\n getSpecializationImage(avatar: string) {\n return environment.baseLink.concat(avatar);\n }\n\n changeSpecializationActiveClick(i: number, spec: Specialization) {\n // check if specialization is activated or not.\n if (spec.isActive) {\n // deactivate\n this.specializationApi.deActivate(spec._id).subscribe(res => {\n spec.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate.\n this.specializationApi.activate(spec._id).subscribe(res => {\n spec.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n editSpecializationClick(i: number, spec: Specialization) {\n this.specialization = {index: i, id: spec._id, nameEn: spec.name.en, nameAr: spec.name.ar, submitForm: false};\n this.modalService.open('specMdoal');\n }\n\n saveSpecializationClick(form: NgForm) {\n this.specialization.submitForm = true;\n if (!form.valid) {\n return;\n }\n // check if add or edit specialization.\n const body: any = {};\n body.name = {};\n body.name.ar = this.specialization.nameAr;\n body.name.en = this.specialization.nameEn;\n if (this.specialization.index > -1) {\n // edit.\n this.specializationApi.update(this.specialization.id, body)\n .subscribe(res => {\n this.modalService.close('specMdoal');\n const spec = this.specializations[this.specialization.index];\n spec.name = res.data[0].name;\n this.dialogService.successMessage(res.message);\n this.setDefaultSpecialization();\n });\n } else {\n // add\n this.specializationApi.save(body)\n .subscribe(res => {\n this.modalService.close('specMdoal');\n this.specializations.unshift(res.data[0]);\n this.dialogService.successMessage(res.message);\n this.setDefaultSpecialization();\n });\n }\n }\n\n addSpecializationClick() {\n this.setDefaultSpecialization();\n this.modalService.open('specMdoal');\n }\n\n editImageClick(i: number, spec: Specialization) {\n this.editImageComponent.setImage(spec.avatar, spec._id, 'speciality', (newLink) => {\n spec.avatar = newLink;\n });\n this.editImageComponent.open();\n }\n\n deleteSpecializationClick(i: number, spec: Specialization) {\n this.dialogService.showDeleteItem(() => {\n this.specializationApi.delete(spec._id).subscribe(res => {\n this.specializations.splice(i, 1);\n this.dialogService.successMessage(res.message);\n });\n });\n }\n\n private loadSpecializationsCounters() {\n this.specializationApi.statistics().subscribe(res => {\n this.specializationsCounters = res.data[0];\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vdXNlcnMvdXNlcnMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"<!--Users counters-->\\n<div class=\\\"row justify-content-end\\\">\\n <span><i [class.fa-chevron-down]=\\\"!showCounters\\\" [class.fa-chevron-up]=\\\"showCounters\\\"\\n class=\\\"fa text-info fa-2x\\\" (click)=\\\"showCounters =!showCounters\\\"></i></span>\\n</div>\\n\\n<div *ngIf=\\\"showCounters\\\">\\n\\n <div class=\\\"row row-sm\\\">\\n <div class=\\\"col-sm-6 col-xl-3\\\">\\n <div class=\\\"bg-info rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-clipboard tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.total'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{usersCounters?.total}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-sm-t-0\\\">\\n <div class=\\\"bg-primary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-unlocked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.active'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{usersCounters?.active}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n <div class=\\\"col-sm-6 col-xl-3 mg-t-20 mg-xl-t-0\\\">\\n <div class=\\\"bg-secondary rounded overflow-hidden\\\">\\n <div class=\\\"pd-x-20 pd-t-20 d-flex align-items-center\\\">\\n <i class=\\\"ion ion-locked tx-60 lh-0 tx-white op-7\\\"></i>\\n <div class=\\\"mx-2\\\">\\n <p\\n class=\\\"tx-24 tx-spacing-1 tx-mont tx-semibold tx-uppercase tx-white-8 mg-b-10\\\">{{'app.inactive'|translate}}</p>\\n <p class=\\\"tx-24 tx-white tx-lato tx-bold mg-b-0 lh-1\\\">{{usersCounters?.inactive}}</p>\\n </div>\\n </div>\\n <div class=\\\"ht-50 tr-y-1\\\"></div>\\n </div>\\n </div><!-- col-3 -->\\n\\n </div><!-- row -->\\n</div>\\n\\n\\n<div class=\\\"row mg-t-20\\\">\\n <div class=\\\"card shadow-base w-100\\\">\\n <div class=\\\"card-body\\\">\\n\\n <table class=\\\"table table-striped\\\" [mfData]=\\\"users\\\" #mf=\\\"mfDataTable\\\" [mfRowsOnPage]=\\\"10\\\">\\n <thead class=\\\"bg-info text-info\\\">\\n <tr>\\n <th>\\n <mfDefaultSorter by=\\\"fullName\\\">{{'table.name'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n <mfDefaultSorter by=\\\"name\\\">{{'table.phone'|translate}}</mfDefaultSorter>\\n </th>\\n <th>\\n {{'table.country_code'|translate}}\\n </th>\\n <th>\\n {{'table.image'|translate}}\\n </th>\\n <th>\\n {{'table.active'|translate}}\\n </th>\\n </tr>\\n </thead>\\n <tbody>\\n <tr *ngFor=\\\"let user of users;let i=index\\\" class=\\\"text-center\\\">\\n <td>{{user.fullName}}</td>\\n <td>{{user.phone.value}}</td>\\n <td>{{user.countryCode}}</td>\\n <td>\\n <img [src]=\\\"getUserImage(user.avatar)\\\" class=\\\"img-thumbnail rounded-circle\\\"\\n style=\\\"width: 40px;height: 40px\\\">\\n </td>\\n <td>\\n <div class=\\\"br-toggle br-toggle-rounded br-toggle-primary\\\"\\n [class.on]=\\\"user.isActive\\\" (click)=\\\"changeUserActiveClick(i , user)\\\">\\n <div class=\\\"br-toggle-switch\\\"></div>\\n </div>\\n </td>\\n </tr>\\n </tbody>\\n </table>\\n </div>\\n </div>\\n</div>\\n\\n\"","import {Component, OnInit} from '@angular/core';\nimport {UserApi} from '../../../data/api/user-api';\nimport {PageHeaderInfoService} from '../../../service/page-header-info-service';\nimport {DialogService} from '../../../service/dialog-service';\nimport {User} from '../../../data/response/users/users-response';\nimport {UsersCounters} from '../../../data/response/users/users-counters-response';\nimport {environment} from '../../../environments/environment';\n\n@Component({\n selector: 'app-users',\n templateUrl: './users.component.html',\n styleUrls: ['./users.component.css']\n})\nexport class UsersComponent implements OnInit {\n\n users: User[] = [];\n usersCounters: UsersCounters;\n showCounters = false;\n\n constructor(private headerService: PageHeaderInfoService,\n private userApi: UserApi, private dialogService: DialogService) {\n headerService.setData('fa-male', 'app.users', '');\n\n }\n\n ngOnInit() {\n this.loadUsers();\n this.loadUsersCounters();\n }\n\n private loadUsers() {\n this.userApi.users(1, 10000000).subscribe(res => {\n this.users = res.data;\n });\n }\n\n private loadUsersCounters() {\n this.userApi.statistics().subscribe(res => {\n this.usersCounters = res.data[0];\n });\n }\n\n changeUserActiveClick(i: number, user: User) {\n // check if user is active or not,\n if (user.isActive) {\n // de activate\n this.userApi.deactivate(user._id).subscribe(res => {\n user.isActive = false;\n this.dialogService.successMessage(res.message);\n });\n } else {\n // activate.\n this.userApi.activate(user._id).subscribe(res => {\n user.isActive = true;\n this.dialogService.successMessage(res.message);\n });\n }\n }\n\n getUserImage(avatar: string) {\n return environment.baseLink.concat(avatar);\n }\n}\n","module.exports = \"<div class=\\\"d-flex align-items-center justify-content-center bg-br-primary ht-100v\\\">\\n\\n <div class=\\\"login-wrapper wd-300 wd-xs-350 pd-25 pd-xs-40 bg-white rounded shadow-base\\\">\\n <div class=\\\"signin-logo tx-center tx-28 tx-bold tx-inverse\\\">\\n <img src=\\\"assets/images/ic_app_logo.png\\\" class=\\\"mb-2\\\" style=\\\"width: 70px;height: 70px\\\"/>\\n </div>\\n <div class=\\\"tx-center mg-b-60\\\">{{'app.sign_to_admin_panel'|translate}}</div>\\n\\n <form novalidate #form=\\\"ngForm\\\" (ngSubmit)=\\\"loginClick(form)\\\">\\n <div class=\\\"form-group\\\">\\n <input appNumberOnly type=\\\"text\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"admin.email\\\"\\n placeholder=\\\"{{'input.enter_user_name'|translate}}\\\" required=\\\"required\\\" name=\\\"user_name\\\" minlength=\\\"6\\\">\\n <p *ngIf=\\\"admin.submit && form.controls['user_name'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"admin.submit && form.controls['user_name'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length_6'|translate}}</p>\\n </div><!-- form-group -->\\n <div class=\\\"form-group\\\">\\n <input type=\\\"password\\\" class=\\\"form-control\\\" [(ngModel)]=\\\"admin.password\\\"\\n placeholder=\\\"{{'input.enter_password' |translate}}\\\" required=\\\"required\\\" name=\\\"password\\\" minlength=\\\"7\\\">\\n <p *ngIf=\\\"admin.submit && form.controls['password'].errors?.required\\\"\\n class=\\\"text-danger\\\">{{'validation.required'|translate}}</p>\\n <p *ngIf=\\\"admin.submit && form.controls['password'].errors?.minlength\\\"\\n class=\\\"text-danger\\\">{{'validation.min_length_7'|translate}}</p>\\n </div><!-- form-group -->\\n <div class=\\\"form-group\\\">\\n <a href=\\\"\\\" class=\\\"tx-info tx-12 d-block mg-t-10\\\">{{'app.forget_password'|translate}}</a>\\n </div>\\n <button type=\\\"submit\\\" class=\\\"btn btn-info btn-block\\\">{{'app.sign_in'|translate}}</button>\\n </form>\\n\\n </div><!-- login-wrapper -->\\n</div><!-- d-flex -->\\n\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvZ3Vlc3QvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MifQ== */\"","import {Component, OnInit} from '@angular/core';\nimport {NgForm} from '@angular/forms';\nimport {LoginApi} from '../../../data/api/login-api';\nimport {AdminService} from '../../../service/admin-service';\nimport {Router} from '@angular/router';\n\ndeclare var $;\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n admin: { email: string, password: string, submit: boolean };\n\n constructor(private loginApi: LoginApi, private adminService: AdminService, private router: Router) {\n this.setDefaultData();\n }\n\n ngOnInit() {\n const modal = $('div.modal-backdrop.fade.show');\n if (modal) {\n modal.hide();\n }\n }\n\n loginClick(form: NgForm) {\n this.admin.submit = true;\n if (!form.valid) {\n return;\n }\n // call api.\n this.loginApi.login(this.admin.email, this.admin.password)\n .subscribe(res => {\n const admin = res.data[0];\n admin.token = res.token;\n admin.refreshToken = res.refreshToken;\n this.adminService.setAdmin(admin, true);\n this.router.navigateByUrl(''); // navigate to home.\n });\n }\n\n private setDefaultData() {\n this.admin = {email: '', password: '', submit: false};\n }\n}\n"],"sourceRoot":""}Save