Edit file File name : main.js Content :(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["main"],{ /***/ "./src/$$_lazy_route_resource lazy recursive": /*!**********************************************************!*\ !*** ./src/$$_lazy_route_resource lazy namespace object ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function webpackEmptyAsyncContext(req) { // Here Promise.resolve().then() is used instead of new Promise() to prevent // uncaught exception popping up in devtools return Promise.resolve().then(function() { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; }); } webpackEmptyAsyncContext.keys = function() { return []; }; webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; module.exports = webpackEmptyAsyncContext; webpackEmptyAsyncContext.id = "./src/$$_lazy_route_resource lazy recursive"; /***/ }), /***/ "./src/app/app-routing.module.ts": /*!***************************************!*\ !*** ./src/app/app-routing.module.ts ***! \***************************************/ /*! exports provided: AppRoutingModule */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppRoutingModule", function() { return AppRoutingModule; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); /* harmony import */ var _ui_guest_login_login_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui/guest/login/login.component */ "./src/ui/guest/login/login.component.ts"); /* harmony import */ var _ui_admin_base_admin_base_admin_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui/admin/base-admin/base-admin.component */ "./src/ui/admin/base-admin/base-admin.component.ts"); /* harmony import */ var _guard_must_be_guest_guard__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../guard/must-be-guest-guard */ "./src/guard/must-be-guest-guard.ts"); /* harmony import */ var _guard_must_login_guard__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../guard/must-login-guard */ "./src/guard/must-login-guard.ts"); /* harmony import */ var _ui_admin_admins_admins_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../ui/admin/admins/admins.component */ "./src/ui/admin/admins/admins.component.ts"); /* harmony import */ var _ui_admin_specializations_specializations_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../ui/admin/specializations/specializations.component */ "./src/ui/admin/specializations/specializations.component.ts"); /* harmony import */ var _ui_admin_countries_countries_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../ui/admin/countries/countries.component */ "./src/ui/admin/countries/countries.component.ts"); /* harmony import */ var _ui_admin_cities_cities_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../ui/admin/cities/cities.component */ "./src/ui/admin/cities/cities.component.ts"); /* harmony import */ var _ui_admin_nationalities_nationalities_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../ui/admin/nationalities/nationalities.component */ "./src/ui/admin/nationalities/nationalities.component.ts"); /* harmony import */ var _ui_admin_profile_profile_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../ui/admin/profile/profile.component */ "./src/ui/admin/profile/profile.component.ts"); /* harmony import */ var _ui_admin_centers_centers_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../ui/admin/centers/centers.component */ "./src/ui/admin/centers/centers.component.ts"); /* harmony import */ var _ui_admin_doctors_doctors_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../ui/admin/doctors/doctors.component */ "./src/ui/admin/doctors/doctors.component.ts"); /* harmony import */ var _ui_admin_bookings_bookings_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ui/admin/bookings/bookings.component */ "./src/ui/admin/bookings/bookings.component.ts"); /* harmony import */ var _ui_admin_users_users_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../ui/admin/users/users.component */ "./src/ui/admin/users/users.component.ts"); /* harmony import */ var _ui_admin_dashboard_dashboard_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../ui/admin/dashboard/dashboard.component */ "./src/ui/admin/dashboard/dashboard.component.ts"); var routes = [ { path: '', component: _ui_admin_base_admin_base_admin_component__WEBPACK_IMPORTED_MODULE_4__["BaseAdminComponent"], canActivate: [_guard_must_login_guard__WEBPACK_IMPORTED_MODULE_6__["MustLoginGuard"]], children: [ { path: '', redirectTo: 'dashboard', pathMatch: 'full' }, { path: 'dashboard', component: _ui_admin_dashboard_dashboard_component__WEBPACK_IMPORTED_MODULE_17__["DashboardComponent"] }, { path: 'admins', component: _ui_admin_admins_admins_component__WEBPACK_IMPORTED_MODULE_7__["AdminsComponent"] }, { path: 'specializations', component: _ui_admin_specializations_specializations_component__WEBPACK_IMPORTED_MODULE_8__["SpecializationsComponent"] }, { path: 'countries', component: _ui_admin_countries_countries_component__WEBPACK_IMPORTED_MODULE_9__["CountriesComponent"] }, { path: 'cities', component: _ui_admin_cities_cities_component__WEBPACK_IMPORTED_MODULE_10__["CitiesComponent"] }, { path: 'nationalities', component: _ui_admin_nationalities_nationalities_component__WEBPACK_IMPORTED_MODULE_11__["NationalitiesComponent"] }, { path: 'profile', component: _ui_admin_profile_profile_component__WEBPACK_IMPORTED_MODULE_12__["ProfileComponent"] }, { path: 'centers', component: _ui_admin_centers_centers_component__WEBPACK_IMPORTED_MODULE_13__["CentersComponent"] }, { path: 'doctors', component: _ui_admin_doctors_doctors_component__WEBPACK_IMPORTED_MODULE_14__["DoctorsComponent"] }, { path: 'bookings', component: _ui_admin_bookings_bookings_component__WEBPACK_IMPORTED_MODULE_15__["BookingsComponent"] }, { path: 'users', component: _ui_admin_users_users_component__WEBPACK_IMPORTED_MODULE_16__["UsersComponent"] } ] }, { path: 'guest/login', component: _ui_guest_login_login_component__WEBPACK_IMPORTED_MODULE_3__["LoginComponent"], canActivate: [_guard_must_be_guest_guard__WEBPACK_IMPORTED_MODULE_5__["MustBeGuestGuard"]] }, ]; var AppRoutingModule = /** @class */ (function () { function AppRoutingModule() { } AppRoutingModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({ imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forRoot(routes)], exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]] }) ], AppRoutingModule); return AppRoutingModule; }()); /***/ }), /***/ "./src/app/app.component.html": /*!************************************!*\ !*** ./src/app/app.component.html ***! \************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "<router-outlet></router-outlet>\n\n\n" /***/ }), /***/ "./src/app/app.component.scss": /*!************************************!*\ !*** ./src/app/app.component.scss ***! \************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */" /***/ }), /***/ "./src/app/app.component.ts": /*!**********************************!*\ !*** ./src/app/app.component.ts ***! \**********************************/ /*! exports provided: AppComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppComponent", function() { return AppComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); /* harmony import */ var _service_common_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../service/common-service */ "./src/service/common-service.ts"); /* harmony import */ var _service_language_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../service/language-service */ "./src/service/language-service.ts"); var AppComponent = /** @class */ (function () { function AppComponent(router, commonService, languageService) { this.router = router; this.commonService = commonService; this.languageService = languageService; languageService.setAppLanguage(); } // Shows and hides the loading spinner during RouterEvent changes AppComponent.prototype._navigationInterceptor = function (event) { // find loader. if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_2__["NavigationStart"]) { this.commonService.showLoader(); } if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_2__["NavigationEnd"]) { this.commonService.hideLoader(); } if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_2__["NavigationCancel"]) { this.commonService.hideLoader(); } if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_2__["NavigationError"]) { this.commonService.hideLoader(); } }; AppComponent.prototype.ngOnInit = function () { var _this = this; this.subscription = this.router.events.subscribe(function (event) { _this._navigationInterceptor(event); }); }; AppComponent.prototype.ngOnDestroy = function () { if (this.subscription != null) { this.subscription.unsubscribe(); this.subscription = null; } }; AppComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-index', template: __webpack_require__(/*! ./app.component.html */ "./src/app/app.component.html"), styles: [__webpack_require__(/*! ./app.component.scss */ "./src/app/app.component.scss")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"], _service_common_service__WEBPACK_IMPORTED_MODULE_3__["CommonService"], _service_language_service__WEBPACK_IMPORTED_MODULE_4__["LanguageService"]]) ], AppComponent); return AppComponent; }()); /***/ }), /***/ "./src/app/app.module.ts": /*!*******************************!*\ !*** ./src/app/app.module.ts ***! \*******************************/ /*! exports provided: createTranslateLoader, components, directives, pipes, AppModule */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createTranslateLoader", function() { return createTranslateLoader; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "directives", function() { return directives; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pipes", function() { return pipes; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppModule", function() { return AppModule; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ "./node_modules/@angular/platform-browser/fesm5/platform-browser.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app-routing.module */ "./src/app/app-routing.module.ts"); /* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./app.component */ "./src/app/app.component.ts"); /* harmony import */ var _service_service_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../service/service-module */ "./src/service/service-module.ts"); /* harmony import */ var _data_api_api_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../data/api/api-module */ "./src/data/api/api-module.ts"); /* harmony import */ var _guard_guard_module__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../guard/guard-module */ "./src/guard/guard-module.ts"); /* harmony import */ var _ui_guest_login_login_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../ui/guest/login/login.component */ "./src/ui/guest/login/login.component.ts"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); /* harmony import */ var _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ngx-translate/http-loader */ "./node_modules/@ngx-translate/http-loader/fesm5/ngx-translate-http-loader.js"); /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); /* harmony import */ var _ui_admin_base_admin_base_admin_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../ui/admin/base-admin/base-admin.component */ "./src/ui/admin/base-admin/base-admin.component.ts"); /* harmony import */ var _ui_admin_admins_admins_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ui/admin/admins/admins.component */ "./src/ui/admin/admins/admins.component.ts"); /* harmony import */ var angular_6_datatable__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! angular-6-datatable */ "./node_modules/angular-6-datatable/index.js"); /* harmony import */ var angular_6_datatable__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(angular_6_datatable__WEBPACK_IMPORTED_MODULE_16__); /* harmony import */ var ng6_toastr_notifications__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ng6-toastr-notifications */ "./node_modules/ng6-toastr-notifications/fesm5/ng6-toastr-notifications.js"); /* harmony import */ var _ui_admin_specializations_specializations_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../ui/admin/specializations/specializations.component */ "./src/ui/admin/specializations/specializations.component.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _ui_admin_countries_countries_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../ui/admin/countries/countries.component */ "./src/ui/admin/countries/countries.component.ts"); /* harmony import */ var _ui_admin_cities_cities_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../ui/admin/cities/cities.component */ "./src/ui/admin/cities/cities.component.ts"); /* harmony import */ var _ui_admin_nationalities_nationalities_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../ui/admin/nationalities/nationalities.component */ "./src/ui/admin/nationalities/nationalities.component.ts"); /* harmony import */ var _ui_admin_profile_profile_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../ui/admin/profile/profile.component */ "./src/ui/admin/profile/profile.component.ts"); /* harmony import */ var _ui_admin_centers_centers_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../ui/admin/centers/centers.component */ "./src/ui/admin/centers/centers.component.ts"); /* harmony import */ var angular2_tag_input_dist__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! angular2-tag-input/dist */ "./node_modules/angular2-tag-input/dist/index.js"); /* harmony import */ var angular2_tag_input_dist__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(angular2_tag_input_dist__WEBPACK_IMPORTED_MODULE_25__); /* harmony import */ var _ui_admin_doctors_doctors_component__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../ui/admin/doctors/doctors.component */ "./src/ui/admin/doctors/doctors.component.ts"); /* harmony import */ var _ui_admin_bookings_bookings_component__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../ui/admin/bookings/bookings.component */ "./src/ui/admin/bookings/bookings.component.ts"); /* harmony import */ var ngx_img_fallback__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ngx-img-fallback */ "./node_modules/ngx-img-fallback/esm5/ngx-img-fallback.js"); /* harmony import */ var _directive_number_only_directive__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../directive/number_only_directive */ "./src/directive/number_only_directive.ts"); /* harmony import */ var _directive_arabic_only_directive__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../directive/arabic_only_directive */ "./src/directive/arabic_only_directive.ts"); /* harmony import */ var _directive_english_only_directive__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../directive/english_only_directive */ "./src/directive/english_only_directive.ts"); /* harmony import */ var _component_change_password_component_change_password_component__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../component/change-password-component/change-password.component */ "./src/component/change-password-component/change-password.component.ts"); /* harmony import */ var _pipe_LangPipe__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../pipe/LangPipe */ "./src/pipe/LangPipe.ts"); /* harmony import */ var _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! @angular/platform-browser/animations */ "./node_modules/@angular/platform-browser/fesm5/animations.js"); /* harmony import */ var _ui_admin_doctors_doctor_times_doctor_times_component__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../ui/admin/doctors/doctor-times/doctor-times.component */ "./src/ui/admin/doctors/doctor-times/doctor-times.component.ts"); /* harmony import */ var _ui_admin_users_users_component__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../ui/admin/users/users.component */ "./src/ui/admin/users/users.component.ts"); /* harmony import */ var _pipe_BookingStatusPipe__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../pipe/BookingStatusPipe */ "./src/pipe/BookingStatusPipe.ts"); /* harmony import */ var _pipe_BookingTypePipe__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../pipe/BookingTypePipe */ "./src/pipe/BookingTypePipe.ts"); /* harmony import */ var _ui_admin_dashboard_dashboard_component__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../ui/admin/dashboard/dashboard.component */ "./src/ui/admin/dashboard/dashboard.component.ts"); function createTranslateLoader(http) { return new _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_12__["TranslateHttpLoader"](http, './assets/i18n/', '.json'); } var components = [ _app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"], _ui_guest_login_login_component__WEBPACK_IMPORTED_MODULE_8__["LoginComponent"], _ui_admin_base_admin_base_admin_component__WEBPACK_IMPORTED_MODULE_14__["BaseAdminComponent"], _ui_admin_admins_admins_component__WEBPACK_IMPORTED_MODULE_15__["AdminsComponent"], _ui_admin_specializations_specializations_component__WEBPACK_IMPORTED_MODULE_18__["SpecializationsComponent"], _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_19__["EditImageComponent"], _ui_admin_countries_countries_component__WEBPACK_IMPORTED_MODULE_20__["CountriesComponent"], _ui_admin_cities_cities_component__WEBPACK_IMPORTED_MODULE_21__["CitiesComponent"], _ui_admin_nationalities_nationalities_component__WEBPACK_IMPORTED_MODULE_22__["NationalitiesComponent"], _ui_admin_profile_profile_component__WEBPACK_IMPORTED_MODULE_23__["ProfileComponent"], _ui_admin_centers_centers_component__WEBPACK_IMPORTED_MODULE_24__["CentersComponent"], _ui_admin_doctors_doctors_component__WEBPACK_IMPORTED_MODULE_26__["DoctorsComponent"], _ui_admin_bookings_bookings_component__WEBPACK_IMPORTED_MODULE_27__["BookingsComponent"], _component_change_password_component_change_password_component__WEBPACK_IMPORTED_MODULE_32__["ChangePasswordComponent"], _ui_admin_doctors_doctor_times_doctor_times_component__WEBPACK_IMPORTED_MODULE_35__["DoctorTimesComponent"], _ui_admin_users_users_component__WEBPACK_IMPORTED_MODULE_36__["UsersComponent"], _ui_admin_dashboard_dashboard_component__WEBPACK_IMPORTED_MODULE_39__["DashboardComponent"] ]; var directives = [ _directive_number_only_directive__WEBPACK_IMPORTED_MODULE_29__["NumberOnlyDirective"], _directive_arabic_only_directive__WEBPACK_IMPORTED_MODULE_30__["ArabicOnlyDirective"], _directive_english_only_directive__WEBPACK_IMPORTED_MODULE_31__["EnglishOnlyDirective"] ]; var pipes = [ _pipe_LangPipe__WEBPACK_IMPORTED_MODULE_33__["LangPipe"], _pipe_BookingStatusPipe__WEBPACK_IMPORTED_MODULE_37__["BookingStatusPipe"], _pipe_BookingTypePipe__WEBPACK_IMPORTED_MODULE_38__["BookingTypePipe"] ]; var AppModule = /** @class */ (function () { function AppModule() { } AppModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_2__["NgModule"])({ declarations: components.concat(directives, pipes), imports: [ _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_34__["BrowserAnimationsModule"], _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__["BrowserModule"], ng6_toastr_notifications__WEBPACK_IMPORTED_MODULE_17__["ToastrModule"].forRoot(), _app_routing_module__WEBPACK_IMPORTED_MODULE_3__["AppRoutingModule"], _service_service_module__WEBPACK_IMPORTED_MODULE_5__["ServiceModule"], _angular_forms__WEBPACK_IMPORTED_MODULE_11__["FormsModule"], _angular_common_http__WEBPACK_IMPORTED_MODULE_10__["HttpClientModule"], _data_api_api_module__WEBPACK_IMPORTED_MODULE_6__["ApiModule"], _guard_guard_module__WEBPACK_IMPORTED_MODULE_7__["GuardModule"], angular_6_datatable__WEBPACK_IMPORTED_MODULE_16__["DataTableModule"], _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__["TranslateModule"].forRoot({ loader: { provide: _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__["TranslateLoader"], useFactory: (createTranslateLoader), deps: [_angular_common_http__WEBPACK_IMPORTED_MODULE_10__["HttpClient"]] } }), angular2_tag_input_dist__WEBPACK_IMPORTED_MODULE_25__["RlTagInputModule"], ngx_img_fallback__WEBPACK_IMPORTED_MODULE_28__["ImgFallbackModule"] ], providers: [ { provide: _angular_common__WEBPACK_IMPORTED_MODULE_13__["APP_BASE_HREF"], useValue: '/clinic/' } ], bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"]] }) ], AppModule); return AppModule; }()); /***/ }), /***/ "./src/component/change-password-component/change-password.component.css": /*!*******************************************************************************!*\ !*** ./src/component/change-password-component/change-password.component.css ***! \*******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tcG9uZW50L2NoYW5nZS1wYXNzd29yZC1jb21wb25lbnQvY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5jc3MifQ== */" /***/ }), /***/ "./src/component/change-password-component/change-password.component.html": /*!********************************************************************************!*\ !*** ./src/component/change-password-component/change-password.component.html ***! \********************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/component/change-password-component/change-password.component.ts": /*!******************************************************************************!*\ !*** ./src/component/change-password-component/change-password.component.ts ***! \******************************************************************************/ /*! exports provided: ChangePasswordComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ChangePasswordComponent", function() { return ChangePasswordComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_admin_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../data/api/admin-api */ "./src/data/api/admin-api.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../service/modal-service */ "./src/service/modal-service.ts"); var ChangePasswordComponent = /** @class */ (function () { function ChangePasswordComponent(adminApi, dialogService, modalService) { this.adminApi = adminApi; this.dialogService = dialogService; this.modalService = modalService; } ChangePasswordComponent.prototype.ngOnInit = function () { this.setDefaultData(); }; ChangePasswordComponent.prototype.setAdminId = function (adminId) { this.adminId = adminId; }; ChangePasswordComponent.prototype.changePassword = function (passwordForm) { var _this = this; this.password.submitForm = true; if (!passwordForm.valid || this.password.newPassword !== this.password.confirmedPassword) { return; } // call APi. var body = {}; body.oldPassword = this.password.oldPassword; body.newPassword = this.password.newPassword; body.confirmNewPassword = this.password.confirmedPassword; this.adminApi.changePassword(body) .subscribe(function (res) { _this.close(); _this.dialogService.successMessage(res.message); }); }; ChangePasswordComponent.prototype.open = function () { this.setDefaultData(); this.modalService.open('passwordModal'); }; ChangePasswordComponent.prototype.close = function () { this.modalService.close('passwordModal'); }; ChangePasswordComponent.prototype.setDefaultData = function () { this.password = { confirmedPassword: '', newPassword: '', oldPassword: '', submitForm: false }; }; ChangePasswordComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-change-password-component', template: __webpack_require__(/*! ./change-password.component.html */ "./src/component/change-password-component/change-password.component.html"), styles: [__webpack_require__(/*! ./change-password.component.css */ "./src/component/change-password-component/change-password.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_admin_api__WEBPACK_IMPORTED_MODULE_2__["AdminApi"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__["DialogService"], _service_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"]]) ], ChangePasswordComponent); return ChangePasswordComponent; }()); /***/ }), /***/ "./src/component/edit-image/edit-image.component.css": /*!***********************************************************!*\ !*** ./src/component/edit-image/edit-image.component.css ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvY29tcG9uZW50L2VkaXQtaW1hZ2UvZWRpdC1pbWFnZS5jb21wb25lbnQuY3NzIn0= */" /***/ }), /***/ "./src/component/edit-image/edit-image.component.html": /*!************************************************************!*\ !*** ./src/component/edit-image/edit-image.component.html ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/component/edit-image/edit-image.component.ts": /*!**********************************************************!*\ !*** ./src/component/edit-image/edit-image.component.ts ***! \**********************************************************/ /*! exports provided: EditImageComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EditImageComponent", function() { return EditImageComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _data_api_upload_image_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../data/api/upload-image-api */ "./src/data/api/upload-image-api.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../service/dialog-service */ "./src/service/dialog-service.ts"); var EditImageComponent = /** @class */ (function () { function EditImageComponent(uploadImageApi, modalService, dialogService) { this.uploadImageApi = uploadImageApi; this.modalService = modalService; this.dialogService = dialogService; this.image = null; this.uploadClick = false; } EditImageComponent.prototype.ngOnInit = function () { }; // tslint:disable-next-line:variable-name ban-types EditImageComponent.prototype.setImage = function (imageLink, imageId, type, callBack) { this.imageString = _environments_environment__WEBPACK_IMPORTED_MODULE_2__["environment"].baseLink.concat(imageLink); this.imageId = imageId; this.callBack = callBack; this.type = type; }; EditImageComponent.prototype.open = function () { this.modalService.open('imageModal'); }; EditImageComponent.prototype.close = function () { this.modalService.close('imageModal'); }; EditImageComponent.prototype.selectImage = function ($event) { var _this = this; this.uploadClick = false; this.image = $event.target.files[0]; var reader = new FileReader(); reader.readAsDataURL($event.target.files[0]); // read file as data url reader.onload = function (event) { _this.imageString = event.target.result; }; }; EditImageComponent.prototype.uploadImage = function () { var _this = this; this.uploadClick = true; if (this.image == null) { return; } // upload image. var data = new FormData(); data.append('avatar', this.image); this.uploadImageApi.uploadImage(this.imageId, this.type, data) .subscribe(function (res) { _this.callBack(res.data[0].avatar); _this.dialogService.successMessage(res.message); _this.close(); }); }; EditImageComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-edit-image', template: __webpack_require__(/*! ./edit-image.component.html */ "./src/component/edit-image/edit-image.component.html"), styles: [__webpack_require__(/*! ./edit-image.component.css */ "./src/component/edit-image/edit-image.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_upload_image_api__WEBPACK_IMPORTED_MODULE_3__["UploadImageApi"], _service_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_5__["DialogService"]]) ], EditImageComponent); return EditImageComponent; }()); /***/ }), /***/ "./src/data/api/admin-api.ts": /*!***********************************!*\ !*** ./src/data/api/admin-api.ts ***! \***********************************/ /*! exports provided: AdminApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AdminApi", function() { return AdminApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var AdminApi = /** @class */ (function () { function AdminApi(http) { this.http = http; } AdminApi.prototype.admins = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("admins?page=" + page + "&size=" + size)); }; AdminApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("admins/" + id + "/activate"), {}); }; AdminApi.prototype.deActivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("admins/" + id + "/deactivate"), {}); }; AdminApi.prototype.changePassword = function (data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat('admins/passwords/change'), data); }; AdminApi.prototype.save = function (body) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("admins"), body); }; AdminApi.prototype.update = function (id, body) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("admins/" + id), body); }; AdminApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("admins/statistics")); }; AdminApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], AdminApi); return AdminApi; }()); /***/ }), /***/ "./src/data/api/api-module.ts": /*!************************************!*\ !*** ./src/data/api/api-module.ts ***! \************************************/ /*! exports provided: ApiModule */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ApiModule", function() { return ApiModule; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_service_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../service/service-module */ "./src/service/service-module.ts"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _service_network_interceptor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../service/network-interceptor */ "./src/service/network-interceptor.ts"); /* harmony import */ var _login_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./login-api */ "./src/data/api/login-api.ts"); /* harmony import */ var _admin_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./admin-api */ "./src/data/api/admin-api.ts"); /* harmony import */ var _center_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./center-api */ "./src/data/api/center-api.ts"); /* harmony import */ var _specialization_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./specialization-api */ "./src/data/api/specialization-api.ts"); /* harmony import */ var _upload_image_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./upload-image-api */ "./src/data/api/upload-image-api.ts"); /* harmony import */ var _country_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./country-api */ "./src/data/api/country-api.ts"); /* harmony import */ var _city_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./city-api */ "./src/data/api/city-api.ts"); /* harmony import */ var _nationality_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./nationality-api */ "./src/data/api/nationality-api.ts"); /* harmony import */ var _doctor_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./doctor-api */ "./src/data/api/doctor-api.ts"); /* harmony import */ var _booking_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./booking-api */ "./src/data/api/booking-api.ts"); /* harmony import */ var _user_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./user-api */ "./src/data/api/user-api.ts"); /* harmony import */ var _dashboard_api__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./dashboard-api */ "./src/data/api/dashboard-api.ts"); var ApiModule = /** @class */ (function () { function ApiModule() { } ApiModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({ imports: [ _service_service_module__WEBPACK_IMPORTED_MODULE_2__["ServiceModule"], _angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HttpClientModule"] ], providers: [ { provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HTTP_INTERCEPTORS"], useClass: _service_network_interceptor__WEBPACK_IMPORTED_MODULE_4__["NetworkInterceptor"], multi: true }, _login_api__WEBPACK_IMPORTED_MODULE_5__["LoginApi"], _admin_api__WEBPACK_IMPORTED_MODULE_6__["AdminApi"], _center_api__WEBPACK_IMPORTED_MODULE_7__["CenterApi"], _specialization_api__WEBPACK_IMPORTED_MODULE_8__["SpecializationApi"], _upload_image_api__WEBPACK_IMPORTED_MODULE_9__["UploadImageApi"], _country_api__WEBPACK_IMPORTED_MODULE_10__["CountryApi"], _city_api__WEBPACK_IMPORTED_MODULE_11__["CityApi"], _nationality_api__WEBPACK_IMPORTED_MODULE_12__["NationalityApi"], _doctor_api__WEBPACK_IMPORTED_MODULE_13__["DoctorApi"], _booking_api__WEBPACK_IMPORTED_MODULE_14__["BookingApi"], _user_api__WEBPACK_IMPORTED_MODULE_15__["UserApi"], _dashboard_api__WEBPACK_IMPORTED_MODULE_16__["DashboardApi"] ] }) ], ApiModule); return ApiModule; }()); /***/ }), /***/ "./src/data/api/booking-api.ts": /*!*************************************!*\ !*** ./src/data/api/booking-api.ts ***! \*************************************/ /*! exports provided: BookingApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BookingApi", function() { return BookingApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var BookingApi = /** @class */ (function () { function BookingApi(http) { this.http = http; } BookingApi.prototype.bookings = function (searchBy) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("bookings" + searchBy)); }; BookingApi.prototype.confirm = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("bookings/" + id + "/confirm"), {}); }; BookingApi.prototype.cancel = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("bookings/" + id + "/cancel"), {}); }; BookingApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("bookings/statistics")); }; BookingApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], BookingApi); return BookingApi; }()); /***/ }), /***/ "./src/data/api/center-api.ts": /*!************************************!*\ !*** ./src/data/api/center-api.ts ***! \************************************/ /*! exports provided: CenterApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CenterApi", function() { return CenterApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var CenterApi = /** @class */ (function () { function CenterApi(http) { this.http = http; } CenterApi.prototype.centers = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("centers?page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; CenterApi.prototype.activeCenters = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("centers?page=" + page + "&size=" + size + "&lang=all")); }; CenterApi.prototype.save = function (data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat('centers?lang=all'), data); }; CenterApi.prototype.update = function (id, data) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("centers/" + id + "/?lang=all"), data); }; CenterApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("centers/" + id + "/activate?lang=all"), {}); }; CenterApi.prototype.deactivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("centers/" + id + "/deactivate?lang=all"), {}); }; CenterApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("centers/statistics")); }; CenterApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], CenterApi); return CenterApi; }()); /***/ }), /***/ "./src/data/api/city-api.ts": /*!**********************************!*\ !*** ./src/data/api/city-api.ts ***! \**********************************/ /*! exports provided: CityApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CityApi", function() { return CityApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var CityApi = /** @class */ (function () { function CityApi(http) { this.http = http; } CityApi.prototype.cities = function (countryId, page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink .concat("cities?countryId=" + countryId + "&page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; CityApi.prototype.activeCities = function (countryId, page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink .concat("cities?countryId=" + countryId + "&page=" + page + "&size=" + size + "&lang=all")); }; CityApi.prototype.allActiveCities = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink .concat("cities/all_active_cities")); }; CityApi.prototype.save = function (data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("cities?lang=all"), data); }; CityApi.prototype.update = function (id, data) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("cities/" + id + "/?lang=all"), data); }; CityApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("cities/" + id + "/activate/?lang=all"), {}); }; CityApi.prototype.deactivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("cities/" + id + "/deactivate/?lang=all"), {}); }; CityApi.prototype.delete = function (id) { return this.http.delete(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("cities/" + id), {}); }; CityApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("cities/statistics")); }; CityApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], CityApi); return CityApi; }()); /***/ }), /***/ "./src/data/api/country-api.ts": /*!*************************************!*\ !*** ./src/data/api/country-api.ts ***! \*************************************/ /*! exports provided: CountryApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CountryApi", function() { return CountryApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var CountryApi = /** @class */ (function () { function CountryApi(http) { this.http = http; } CountryApi.prototype.countries = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("countries?page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; CountryApi.prototype.activeCountries = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("countries?page=" + page + "&size=" + size + "&lang=all")); }; CountryApi.prototype.save = function (data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("countries?lang=all"), data); }; CountryApi.prototype.update = function (id, data) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("countries/" + id + "/?lang=all"), data); }; CountryApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("countries/" + id + "/activate?lang=all"), {}); }; CountryApi.prototype.deActivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("countries/" + id + "/deactivate?lang=all"), {}); }; CountryApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("countries/statistics"), {}); }; CountryApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], CountryApi); return CountryApi; }()); /***/ }), /***/ "./src/data/api/dashboard-api.ts": /*!***************************************!*\ !*** ./src/data/api/dashboard-api.ts ***! \***************************************/ /*! exports provided: DashboardApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DashboardApi", function() { return DashboardApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var DashboardApi = /** @class */ (function () { function DashboardApi(http) { this.http = http; } DashboardApi.prototype.superAdminDashboard = function (filterDate) { if (filterDate === void 0) { filterDate = null; } var link = _environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("dashboard/super_admin_dashboard"); if (filterDate != null && filterDate !== '') { link = link.concat('?filterDate=').concat(filterDate); } return this.http.get(link); }; DashboardApi.prototype.centerAdminDashboard = function (filterDate) { if (filterDate === void 0) { filterDate = null; } var link = _environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("dashboard/center_admin_dashboard"); if (filterDate != null && filterDate !== '') { link = link.concat('?filterDate=').concat(filterDate); } return this.http.get(link); }; DashboardApi.prototype.nurseAdminDashboard = function (filterDate) { if (filterDate === void 0) { filterDate = null; } var link = _environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("dashboard/nurse_admin_dashboard"); if (filterDate != null && filterDate !== '') { link = link.concat('?filterDate=').concat(filterDate); } return this.http.get(link); }; DashboardApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], DashboardApi); return DashboardApi; }()); /***/ }), /***/ "./src/data/api/doctor-api.ts": /*!************************************!*\ !*** ./src/data/api/doctor-api.ts ***! \************************************/ /*! exports provided: DoctorApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DoctorApi", function() { return DoctorApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var DoctorApi = /** @class */ (function () { function DoctorApi(http) { this.http = http; } DoctorApi.prototype.save = function (data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat('doctors?lang=all'), data); }; DoctorApi.prototype.doctors = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("doctors?page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; DoctorApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("doctors/" + id + "/activate"), {}); }; DoctorApi.prototype.deactivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("doctors/" + id + "/deactivate"), {}); }; DoctorApi.prototype.search = function (searchBy) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("doctors/search" + searchBy)); }; DoctorApi.prototype.update = function (id, data) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("doctors/" + id + "/?lang=all"), data); }; DoctorApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("doctors/statistics")); }; DoctorApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], DoctorApi); return DoctorApi; }()); /***/ }), /***/ "./src/data/api/login-api.ts": /*!***********************************!*\ !*** ./src/data/api/login-api.ts ***! \***********************************/ /*! exports provided: LoginApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginApi", function() { return LoginApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var LoginApi = /** @class */ (function () { function LoginApi(http) { this.http = http; } LoginApi.prototype.login = function (email, password) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat('admins/login'), { username: email, password: password }); }; LoginApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], LoginApi); return LoginApi; }()); /***/ }), /***/ "./src/data/api/nationality-api.ts": /*!*****************************************!*\ !*** ./src/data/api/nationality-api.ts ***! \*****************************************/ /*! exports provided: NationalityApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NationalityApi", function() { return NationalityApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var NationalityApi = /** @class */ (function () { function NationalityApi(http) { this.http = http; } NationalityApi.prototype.nationalities = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("nationalities?page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; NationalityApi.prototype.activeNationalities = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink .concat("nationalities?page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; NationalityApi.prototype.save = function (data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("nationalities?lang=all"), data); }; NationalityApi.prototype.update = function (id, data) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("nationalities/" + id + "/?lang=all"), data); }; NationalityApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("nationalities/" + id + "/activate/?lang=all"), {}); }; NationalityApi.prototype.deActivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("nationalities/" + id + "/deactivate/?lang=all"), {}); }; NationalityApi.prototype.delete = function (id) { return this.http.delete(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("nationalities/" + id), {}); }; NationalityApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("nationalities/statistics")); }; NationalityApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], NationalityApi); return NationalityApi; }()); /***/ }), /***/ "./src/data/api/specialization-api.ts": /*!********************************************!*\ !*** ./src/data/api/specialization-api.ts ***! \********************************************/ /*! exports provided: SpecializationApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecializationApi", function() { return SpecializationApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var SpecializationApi = /** @class */ (function () { function SpecializationApi(http) { this.http = http; } SpecializationApi.prototype.specializations = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("specialities?page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; SpecializationApi.prototype.activeSpecializations = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("specialities?page=" + page + "&size=" + size + "&lang=all")); }; SpecializationApi.prototype.save = function (data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat('specialities?lang=all'), data); }; SpecializationApi.prototype.update = function (id, data) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("specialities/" + id + "/?lang=all"), data); }; SpecializationApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("specialities/" + id + "/activate?lang=all"), {}); }; SpecializationApi.prototype.deActivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("specialities/" + id + "/deactivate?lang=all"), {}); }; SpecializationApi.prototype.delete = function (id) { return this.http.delete(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("specialities/" + id), {}); }; SpecializationApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("specialities/statistics")); }; SpecializationApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], SpecializationApi); return SpecializationApi; }()); /***/ }), /***/ "./src/data/api/upload-image-api.ts": /*!******************************************!*\ !*** ./src/data/api/upload-image-api.ts ***! \******************************************/ /*! exports provided: UploadImageApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UploadImageApi", function() { return UploadImageApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); var UploadImageApi = /** @class */ (function () { function UploadImageApi(http) { this.http = http; } UploadImageApi.prototype.uploadImage = function (id, type, data) { return this.http.post(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].apiLink.concat("avatars/" + id + "?type=" + type), data); }; UploadImageApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]]) ], UploadImageApi); return UploadImageApi; }()); /***/ }), /***/ "./src/data/api/user-api.ts": /*!**********************************!*\ !*** ./src/data/api/user-api.ts ***! \**********************************/ /*! exports provided: UserApi */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UserApi", function() { return UserApi; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var UserApi = /** @class */ (function () { function UserApi(http) { this.http = http; } UserApi.prototype.users = function (page, size) { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_2__["environment"].apiLink.concat("users?page=" + page + "&size=" + size + "&lang=all&status=ALL")); }; UserApi.prototype.statistics = function () { return this.http.get(_environments_environment__WEBPACK_IMPORTED_MODULE_2__["environment"].apiLink.concat("users/statistics")); }; UserApi.prototype.activate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_2__["environment"].apiLink.concat("users/" + id + "/activate/?lang=all"), {}); }; UserApi.prototype.deactivate = function (id) { return this.http.put(_environments_environment__WEBPACK_IMPORTED_MODULE_2__["environment"].apiLink.concat("users/" + id + "/deactivate/?lang=all"), {}); }; UserApi = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_3__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_1__["HttpClient"]]) ], UserApi); return UserApi; }()); /***/ }), /***/ "./src/directive/arabic_only_directive.ts": /*!************************************************!*\ !*** ./src/directive/arabic_only_directive.ts ***! \************************************************/ /*! exports provided: ArabicOnlyDirective */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ArabicOnlyDirective", function() { return ArabicOnlyDirective; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var ArabicOnlyDirective = /** @class */ (function () { function ArabicOnlyDirective(el) { this.el = el; this.AllowedString = ' Backspace لإإ‘ألأٍِـْآ ذضصثقفغعهخحجدطكمنتالبيسشظزوةىلارؤءئ'; this.specialKeys = ['Backspace', 'Tab', 'End', 'Home', '-']; } ArabicOnlyDirective.prototype.onKeyDown = function (event) { // Allow Backspace, tab, end, and home keys var current = this.el.nativeElement.value; var next = current.concat(event.key); if (this.AllowedString.indexOf(event.key) === -1) { event.preventDefault(); } }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["HostListener"])('keydown', ['$event']), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Function), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [KeyboardEvent]), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:returntype", void 0) ], ArabicOnlyDirective.prototype, "onKeyDown", null); ArabicOnlyDirective = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Directive"])({ selector: '[appArabicOnly]' }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_1__["ElementRef"]]) ], ArabicOnlyDirective); return ArabicOnlyDirective; }()); /***/ }), /***/ "./src/directive/english_only_directive.ts": /*!*************************************************!*\ !*** ./src/directive/english_only_directive.ts ***! \*************************************************/ /*! exports provided: EnglishOnlyDirective */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EnglishOnlyDirective", function() { return EnglishOnlyDirective; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var EnglishOnlyDirective = /** @class */ (function () { function EnglishOnlyDirective(el) { this.el = el; this.AllowedString = ' qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM Backspace'; this.specialKeys = ['Backspace', 'Tab', 'End', 'Home', '-']; } EnglishOnlyDirective.prototype.onKeyDown = function (event) { // Allow Backspace, tab, end, and home keys var current = this.el.nativeElement.value; var next = current.concat(event.key); if (this.AllowedString.indexOf(event.key) === -1) { event.preventDefault(); } }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["HostListener"])('keydown', ['$event']), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Function), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [KeyboardEvent]), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:returntype", void 0) ], EnglishOnlyDirective.prototype, "onKeyDown", null); EnglishOnlyDirective = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Directive"])({ selector: '[appEnglishOnly]' }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_1__["ElementRef"]]) ], EnglishOnlyDirective); return EnglishOnlyDirective; }()); /***/ }), /***/ "./src/directive/number_only_directive.ts": /*!************************************************!*\ !*** ./src/directive/number_only_directive.ts ***! \************************************************/ /*! exports provided: NumberOnlyDirective */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NumberOnlyDirective", function() { return NumberOnlyDirective; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var NumberOnlyDirective = /** @class */ (function () { function NumberOnlyDirective(el) { this.el = el; // Allow decimal numbers and negative values this.regex = new RegExp(/^-?[0-9]+(\.[0-9]*){0,1}$/g); // Allow key codes for special events. Reflect : // Backspace, tab, end, home this.specialKeys = ['Backspace', 'Tab', 'End', 'Home', '-']; } NumberOnlyDirective.prototype.onKeyDown = function (event) { // Allow Backspace, tab, end, and home keys if (this.specialKeys.indexOf(event.key) !== -1) { return; } var current = this.el.nativeElement.value; var next = current.concat(event.key); if (next !== 'Backspace') { if (next && !String(next).match(this.regex)) { event.preventDefault(); } } }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["HostListener"])('keydown', ['$event']), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Function), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [KeyboardEvent]), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:returntype", void 0) ], NumberOnlyDirective.prototype, "onKeyDown", null); NumberOnlyDirective = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Directive"])({ selector: '[appNumberOnly]' }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_1__["ElementRef"]]) ], NumberOnlyDirective); return NumberOnlyDirective; }()); /***/ }), /***/ "./src/environments/environment.ts": /*!*****************************************!*\ !*** ./src/environments/environment.ts ***! \*****************************************/ /*! exports provided: environment */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "environment", function() { return environment; }); // This file can be replaced during build by using the `fileReplacements` array. // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. // The list of file replacements can be found in `angular.json`. var environment = { production: false, /*apiLink: 'http://127.0.0.2:3000/api/v1/', baseLink: 'http://127.0.0.2:3000/uploads/'*/ apiLink: 'http://149.28.244.20/clinic_admin/api/v1/', baseLink: 'http://149.28.244.20/clinic_admin/' }; /* * For easier debugging in development mode, you can import the following file * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. * * This import should be commented out in production mode because it will have a negative impact * on performance if an error is thrown. */ // import 'zone.js/dist/zone-error'; // Included with Angular CLI. /***/ }), /***/ "./src/guard/guard-module.ts": /*!***********************************!*\ !*** ./src/guard/guard-module.ts ***! \***********************************/ /*! exports provided: GuardModule */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GuardModule", function() { return GuardModule; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _must_login_guard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./must-login-guard */ "./src/guard/must-login-guard.ts"); /* harmony import */ var _must_be_guest_guard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./must-be-guest-guard */ "./src/guard/must-be-guest-guard.ts"); var GuardModule = /** @class */ (function () { function GuardModule() { } GuardModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({ providers: [_must_login_guard__WEBPACK_IMPORTED_MODULE_2__["MustLoginGuard"], _must_be_guest_guard__WEBPACK_IMPORTED_MODULE_3__["MustBeGuestGuard"]] }) ], GuardModule); return GuardModule; }()); /***/ }), /***/ "./src/guard/must-be-guest-guard.ts": /*!******************************************!*\ !*** ./src/guard/must-be-guest-guard.ts ***! \******************************************/ /*! exports provided: MustBeGuestGuard */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MustBeGuestGuard", function() { return MustBeGuestGuard; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_admin_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../service/admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); var MustBeGuestGuard = /** @class */ (function () { function MustBeGuestGuard(adminService, router) { this.adminService = adminService; this.router = router; } MustBeGuestGuard.prototype.canActivate = function (route, state) { if (this.adminService.getAdmin()) { this.router.navigateByUrl('admin'); return false; } return true; }; MustBeGuestGuard = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_admin_service__WEBPACK_IMPORTED_MODULE_2__["AdminService"], _angular_router__WEBPACK_IMPORTED_MODULE_3__["Router"]]) ], MustBeGuestGuard); return MustBeGuestGuard; }()); /***/ }), /***/ "./src/guard/must-login-guard.ts": /*!***************************************!*\ !*** ./src/guard/must-login-guard.ts ***! \***************************************/ /*! exports provided: MustLoginGuard */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MustLoginGuard", function() { return MustLoginGuard; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); /* harmony import */ var _service_admin_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../service/admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var MustLoginGuard = /** @class */ (function () { function MustLoginGuard(adminService, router) { this.adminService = adminService; this.router = router; } MustLoginGuard.prototype.canActivate = function (route, state) { if (this.adminService.getAdmin()) { // admin is register. return true; } else { // no admin found. this.router.navigateByUrl('guest/login'); return false; } }; MustLoginGuard = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_3__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_admin_service__WEBPACK_IMPORTED_MODULE_2__["AdminService"], _angular_router__WEBPACK_IMPORTED_MODULE_1__["Router"]]) ], MustLoginGuard); return MustLoginGuard; }()); /***/ }), /***/ "./src/main.ts": /*!*********************!*\ !*** ./src/main.ts ***! \*********************/ /*! no exports provided */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser-dynamic */ "./node_modules/@angular/platform-browser-dynamic/fesm5/platform-browser-dynamic.js"); /* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app/app.module */ "./src/app/app.module.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./environments/environment */ "./src/environments/environment.ts"); if (_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].production) { Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["enableProdMode"])(); } Object(_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__["platformBrowserDynamic"])().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_2__["AppModule"]) .catch(function (err) { return console.error(err); }); /***/ }), /***/ "./src/pipe/BookingStatusPipe.ts": /*!***************************************!*\ !*** ./src/pipe/BookingStatusPipe.ts ***! \***************************************/ /*! exports provided: BookingStatusPipe */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BookingStatusPipe", function() { return BookingStatusPipe; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); var BookingStatusPipe = /** @class */ (function () { function BookingStatusPipe(translator) { this.translator = translator; } BookingStatusPipe.prototype.transform = function (value) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return this.translator.instant('booking_status.' + value.toLowerCase()); }; BookingStatusPipe = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Pipe"])({ name: 'booking_status', pure: false }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__["TranslateService"]]) ], BookingStatusPipe); return BookingStatusPipe; }()); /***/ }), /***/ "./src/pipe/BookingTypePipe.ts": /*!*************************************!*\ !*** ./src/pipe/BookingTypePipe.ts ***! \*************************************/ /*! exports provided: BookingTypePipe */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BookingTypePipe", function() { return BookingTypePipe; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); var BookingTypePipe = /** @class */ (function () { function BookingTypePipe(translator) { this.translator = translator; } BookingTypePipe.prototype.transform = function (value) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return this.translator.instant('booking_type.' + value.toLowerCase()); }; BookingTypePipe = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Pipe"])({ name: 'booking_type', pure: false }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__["TranslateService"]]) ], BookingTypePipe); return BookingTypePipe; }()); /***/ }), /***/ "./src/pipe/LangPipe.ts": /*!******************************!*\ !*** ./src/pipe/LangPipe.ts ***! \******************************/ /*! exports provided: LangPipe */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LangPipe", function() { return LangPipe; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_language_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../service/language-service */ "./src/service/language-service.ts"); var LangPipe = /** @class */ (function () { function LangPipe(translator) { this.translator = translator; this.appLanguage = null; this.appLanguage = translator.getAppLanguage(); } LangPipe.prototype.transform = function (value) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } if (value == null) { return ''; } if (this.appLanguage === 'ar') { return value.ar; } return value.en; }; LangPipe = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Pipe"])({ name: 'lang', pure: false }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_language_service__WEBPACK_IMPORTED_MODULE_2__["LanguageService"]]) ], LangPipe); return LangPipe; }()); /***/ }), /***/ "./src/service/admin-service.ts": /*!**************************************!*\ !*** ./src/service/admin-service.ts ***! \**************************************/ /*! exports provided: AdminService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AdminService", function() { return AdminService; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var AdminService = /** @class */ (function () { function AdminService() { } AdminService.prototype.setAdmin = function (admin, saveInCache) { this.admin = admin; if (saveInCache) { localStorage.setItem('admin', JSON.stringify(admin)); } }; AdminService.prototype.getAdmin = function () { if (this.admin == null) { var adminInCache = localStorage.getItem('admin'); if (adminInCache) { this.admin = JSON.parse(adminInCache); } } return this.admin; }; AdminService.prototype.removeAdmin = function () { this.admin = null; localStorage.removeItem('admin'); }; AdminService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({ providedIn: 'root' }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", []) ], AdminService); return AdminService; }()); /***/ }), /***/ "./src/service/common-service.ts": /*!***************************************!*\ !*** ./src/service/common-service.ts ***! \***************************************/ /*! exports provided: CommonService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CommonService", function() { return CommonService; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var CommonService = /** @class */ (function () { function CommonService(ngZone) { this.ngZone = ngZone; } CommonService.prototype.showLoader = function () { this.ngZone.runOutsideAngular(function () { var loader = $('#circle'); if (loader) { $(loader).show(); } }); }; CommonService.prototype.hideLoader = function () { this.ngZone.runOutsideAngular(function () { var loader = $('#circle'); if (loader) { $(loader).hide(); } }); }; CommonService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({ providedIn: 'root' }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgZone"]]) ], CommonService); return CommonService; }()); /***/ }), /***/ "./src/service/dialog-service.ts": /*!***************************************!*\ !*** ./src/service/dialog-service.ts ***! \***************************************/ /*! exports provided: DialogService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DialogService", function() { return DialogService; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sweetalert2 */ "./node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); // CommonJS var DialogService = /** @class */ (function () { function DialogService(translator) { this.translator = translator; } DialogService.prototype.showText = function (text) { sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire(text); }; DialogService.prototype.showErrorDialog = function (error) { var _this = this; this.translator.get('errors.error').subscribe(function (value) { sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire({ title: value, text: error, type: 'error', confirmButtonText: _this.translator.instant('app.ok') }); }); }; DialogService.prototype.showError = function (title, message) { if (title === void 0) { title = 'Error'; } if (message === void 0) { message = 'Error in server.'; } sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire(title, message, 'error'); }; DialogService.prototype.showErrorMessage = function (message) { if (message === void 0) { message = 'Error in server.'; } sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire(this.translator.instant('errors.error'), this.translator.instant(message), 'error'); }; DialogService.prototype.showDeleteItem = function (callback) { sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire({ title: this.translator.instant('dialog.delete_title'), text: this.translator.instant('dialog.delete_message'), type: 'error', showCancelButton: true, confirmButtonColor: '#00afb7', cancelButtonColor: '#b73100', confirmButtonText: this.translator.instant('dialog.yes'), cancelButtonText: this.translator.instant('dialog.no'), }).then(function (result) { if (result.value) { callback(); } }); }; DialogService.prototype.confirmation = function (titleKey, callback) { sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire({ title: this.translator.instant(titleKey), type: 'error', showCancelButton: true, confirmButtonColor: '#00afb7', cancelButtonColor: '#b73100', confirmButtonText: this.translator.instant('Yes'), cancelButtonText: this.translator.instant('No'), }).then(function (result) { if (result.value) { callback(); } }); }; DialogService.prototype.confirmationWithTitle = function (titleKey, callback) { sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire({ title: titleKey, type: 'info', showCancelButton: true, confirmButtonColor: '#00afb7', cancelButtonColor: '#b73100', confirmButtonText: this.translator.instant('app.yes'), cancelButtonText: this.translator.instant('app.no'), }).then(function (result) { if (result.value) { callback(); } }); }; DialogService.prototype.successMessage = function (message) { if (message === void 0) { message = 'Done'; } sweetalert2__WEBPACK_IMPORTED_MODULE_1___default.a.fire({ type: 'success', title: this.translator.instant(message), showConfirmButton: false, timer: 1500 }); }; DialogService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_2__["Injectable"])({ providedIn: 'root' }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__["TranslateService"]]) ], DialogService); return DialogService; }()); /***/ }), /***/ "./src/service/language-service.ts": /*!*****************************************!*\ !*** ./src/service/language-service.ts ***! \*****************************************/ /*! exports provided: LanguageService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LanguageService", function() { return LanguageService; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); var LanguageService = /** @class */ (function () { function LanguageService(translator) { this.translator = translator; } LanguageService.prototype.setAppLanguage = function () { var appLanguage = this.getAppLanguage(); if (appLanguage === null) { appLanguage = 'ar'; localStorage.setItem('language', 'ar'); } this.translator.setDefaultLang(appLanguage); this.translator.use(appLanguage); var html = $('html'); html.prop('lang', appLanguage); if (appLanguage === 'ar') { html.prop('dir', 'rtl'); html.removeClass('ltr'); html.addClass('rtl'); } else { html.prop('dir', 'ltr'); html.removeClass('rtl'); html.addClass('ltr'); } }; LanguageService.prototype.changeLanguage = function () { var currentLanguage = this.getAppLanguage(); var newLanguage = ''; if (currentLanguage === null) { newLanguage = 'en'; } else if (currentLanguage === 'ar') { newLanguage = 'en'; } else { newLanguage = 'ar'; } localStorage.setItem('language', newLanguage); this.setAppLanguage(); }; LanguageService.prototype.getAppLanguage = function () { return localStorage.getItem('language'); }; LanguageService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__["TranslateService"]]) ], LanguageService); return LanguageService; }()); /***/ }), /***/ "./src/service/modal-service.ts": /*!**************************************!*\ !*** ./src/service/modal-service.ts ***! \**************************************/ /*! exports provided: ModalService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModalService", function() { return ModalService; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var ModalService = /** @class */ (function () { function ModalService() { } ModalService.prototype.open = function (id) { $("#" + id).modal('show'); }; ModalService.prototype.close = function (id) { $("#" + id).modal('hide'); }; ModalService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])() ], ModalService); return ModalService; }()); /***/ }), /***/ "./src/service/network-interceptor.ts": /*!********************************************!*\ !*** ./src/service/network-interceptor.ts ***! \********************************************/ /*! exports provided: NetworkInterceptor */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NetworkInterceptor", function() { return NetworkInterceptor; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); /* harmony import */ var _common_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./common-service */ "./src/service/common-service.ts"); /* harmony import */ var _admin_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var rxjs_internal_operators_tap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs/internal/operators/tap */ "./node_modules/rxjs/internal/operators/tap.js"); /* harmony import */ var rxjs_internal_operators_tap__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(rxjs_internal_operators_tap__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _dialog_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); /* harmony import */ var _language_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./language-service */ "./src/service/language-service.ts"); /* harmony import */ var _toast_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toast-service */ "./src/service/toast-service.ts"); var NetworkInterceptor = /** @class */ (function () { function NetworkInterceptor(commonService, adminService, dialogService, langService, toastService, router) { this.commonService = commonService; this.adminService = adminService; this.dialogService = dialogService; this.langService = langService; this.toastService = toastService; this.router = router; } NetworkInterceptor.prototype.intercept = function (request, next) { var _this = this; // modify request this.commonService.showLoader(); var admin = this.adminService.getAdmin(); if (admin) { request = request.clone({ setHeaders: { Authorization: "Bearer " + admin.token } }); } var appLang = this.langService.getAppLanguage(); request = request.clone({ setHeaders: { 'Accept-Language': appLang } }); return next.handle(request) .pipe(Object(rxjs_internal_operators_tap__WEBPACK_IMPORTED_MODULE_4__["tap"])(function (event) { if (event instanceof _angular_common_http__WEBPACK_IMPORTED_MODULE_1__["HttpResponse"]) { _this.commonService.hideLoader(); } }, function (error) { _this.commonService.hideLoader(); if (error.status === 401) { // unauthorized. _this.toastService.showErrorToast(error.error.message); _this.adminService.removeAdmin(); _this.router.navigateByUrl('guest/login'); } else { _this.dialogService.showErrorDialog(error.error.message); } })); }; NetworkInterceptor = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_6__["Injectable"])({ providedIn: 'root' }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_common_service__WEBPACK_IMPORTED_MODULE_2__["CommonService"], _admin_service__WEBPACK_IMPORTED_MODULE_3__["AdminService"], _dialog_service__WEBPACK_IMPORTED_MODULE_5__["DialogService"], _language_service__WEBPACK_IMPORTED_MODULE_8__["LanguageService"], _toast_service__WEBPACK_IMPORTED_MODULE_9__["ToastService"], _angular_router__WEBPACK_IMPORTED_MODULE_7__["Router"]]) ], NetworkInterceptor); return NetworkInterceptor; }()); /***/ }), /***/ "./src/service/page-header-info-service.ts": /*!*************************************************!*\ !*** ./src/service/page-header-info-service.ts ***! \*************************************************/ /*! exports provided: PageHeaderInfoService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PageHeaderInfoService", function() { return PageHeaderInfoService; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var PageHeaderInfoService = /** @class */ (function () { function PageHeaderInfoService() { this.icon = ''; this.title = ''; this.subTitle = ''; } PageHeaderInfoService.prototype.setData = function (icon, title, subTitle) { this.icon = icon; this.title = title; this.subTitle = subTitle; }; PageHeaderInfoService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({ providedIn: 'root' }) ], PageHeaderInfoService); return PageHeaderInfoService; }()); /***/ }), /***/ "./src/service/service-module.ts": /*!***************************************!*\ !*** ./src/service/service-module.ts ***! \***************************************/ /*! exports provided: ServiceModule */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ServiceModule", function() { return ServiceModule; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _admin_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var _common_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./common-service */ "./src/service/common-service.ts"); /* harmony import */ var _network_interceptor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./network-interceptor */ "./src/service/network-interceptor.ts"); /* harmony import */ var _dialog_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _modal_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _page_header_info_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _language_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./language-service */ "./src/service/language-service.ts"); /* harmony import */ var _toast_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./toast-service */ "./src/service/toast-service.ts"); var ServiceModule = /** @class */ (function () { function ServiceModule() { } ServiceModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({ providers: [ _admin_service__WEBPACK_IMPORTED_MODULE_2__["AdminService"], _common_service__WEBPACK_IMPORTED_MODULE_3__["CommonService"], _network_interceptor__WEBPACK_IMPORTED_MODULE_4__["NetworkInterceptor"], _dialog_service__WEBPACK_IMPORTED_MODULE_5__["DialogService"], _modal_service__WEBPACK_IMPORTED_MODULE_6__["ModalService"], _page_header_info_service__WEBPACK_IMPORTED_MODULE_7__["PageHeaderInfoService"], _language_service__WEBPACK_IMPORTED_MODULE_8__["LanguageService"], _toast_service__WEBPACK_IMPORTED_MODULE_9__["ToastService"] ] }) ], ServiceModule); return ServiceModule; }()); /***/ }), /***/ "./src/service/toast-service.ts": /*!**************************************!*\ !*** ./src/service/toast-service.ts ***! \**************************************/ /*! exports provided: ToastService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ToastService", function() { return ToastService; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); /* harmony import */ var ng6_toastr_notifications__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ng6-toastr-notifications */ "./node_modules/ng6-toastr-notifications/fesm5/ng6-toastr-notifications.js"); var ToastService = /** @class */ (function () { function ToastService(toaster, translator) { this.toaster = toaster; this.translator = translator; } ToastService.prototype.showErrorToast = function (message) { this.toaster.errorToastr(message); }; ToastService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [ng6_toastr_notifications__WEBPACK_IMPORTED_MODULE_3__["ToastrManager"], _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__["TranslateService"]]) ], ToastService); return ToastService; }()); /***/ }), /***/ "./src/ui/admin/admins/admins.component.css": /*!**************************************************!*\ !*** ./src/ui/admin/admins/admins.component.css ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vYWRtaW5zL2FkbWlucy5jb21wb25lbnQuY3NzIn0= */" /***/ }), /***/ "./src/ui/admin/admins/admins.component.html": /*!***************************************************!*\ !*** ./src/ui/admin/admins/admins.component.html ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/admins/admins.component.ts": /*!*************************************************!*\ !*** ./src/ui/admin/admins/admins.component.ts ***! \*************************************************/ /*! exports provided: AdminsComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AdminsComponent", function() { return AdminsComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_admin_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/admin-api */ "./src/data/api/admin-api.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _data_api_center_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../data/api/center-api */ "./src/data/api/center-api.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _component_change_password_component_change_password_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../component/change-password-component/change-password.component */ "./src/component/change-password-component/change-password.component.ts"); var AdminsComponent = /** @class */ (function () { function AdminsComponent(adminApi, centerApi, modalService, headerInfoService, dialogService) { this.adminApi = adminApi; this.centerApi = centerApi; this.modalService = modalService; this.headerInfoService = headerInfoService; this.dialogService = dialogService; this.admins = []; this.centers = []; this.showCountersView = false; headerInfoService.setData('fa-users', 'app.admins', ''); } AdminsComponent.prototype.ngOnInit = function () { this.loadCenters(); this.loadAdmins(); this.loadAdminStatistics(); this.setDefaultAdmin(); }; AdminsComponent.prototype.loadAdmins = function () { var _this = this; this.adminApi.admins(1, 1000000) .subscribe(function (res) { _this.admins = res.data; }); }; AdminsComponent.prototype.getAdminImage = function (avatar) { return _environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].baseLink.concat(avatar); }; AdminsComponent.prototype.changeAdminActivationClick = function (i, admin) { var _this = this; if (admin.isActive) { // deactivate. this.adminApi.deActivate(admin._id).subscribe(function (res) { admin.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate. this.adminApi.activate(admin._id).subscribe(function (res) { admin.isActive = true; _this.dialogService.successMessage(res.message); }); } }; AdminsComponent.prototype.editAdminClick = function (i, admin) { this.admin = { id: admin._id, submitForm: false, center: '', type: admin.adminType, phone: admin.phone, password: '', fullName: admin.fullName, index: i, email: admin.email }; this.oldAdminData = { center: this.admin.center, email: this.admin.email, fullName: this.admin.fullName, id: this.admin.id, phone: this.admin.phone, type: this.admin.type }; this.modalService.open('adminModal'); }; AdminsComponent.prototype.setDefaultAdmin = function () { this.admin = { center: '', email: '', fullName: '', id: '', index: -1, submitForm: false, type: 'SUPER_ADMIN', phone: '', password: '' }; this.oldAdminData = { center: '', email: '', fullName: '', id: '', type: 'SUPER_ADMIN', phone: '' }; }; AdminsComponent.prototype.loadCenters = function () { var _this = this; this.centerApi.centers(1, 100000).subscribe(function (res) { _this.centers = res.data; }); }; AdminsComponent.prototype.saveAdmin = function (adminForm) { var _this = this; this.admin.submitForm = true; if (!adminForm.valid || (this.admin.type !== 'SUPER_ADMIN' && this.admin.center === '')) { return; } // call APi. if (this.admin.id !== '') { // edit. var body = this.getChangedAdminData(); this.adminApi.update(this.admin.id, body).subscribe(function (res) { _this.admins[_this.admin.index] = res.data[0]; _this.modalService.close('adminModal'); _this.dialogService.successMessage(res.message); _this.setDefaultAdmin(); }); } else { // add admin. var body = {}; body.fullName = this.admin.fullName; body.phone = this.admin.phone; body.email = this.admin.email; body.adminType = this.admin.type; body.password = this.admin.password; if (this.admin.center !== '') { body.centerId = this.admin.center; } this.adminApi.save(body).subscribe(function (res) { _this.admins.push(res.data[0]); _this.modalService.close('adminModal'); _this.dialogService.successMessage(res.message); _this.setDefaultAdmin(); }); } }; AdminsComponent.prototype.addAdminClick = function () { this.setDefaultAdmin(); this.modalService.open('adminModal'); }; AdminsComponent.prototype.editImageClick = function (i, admin) { this.editImageComponent.setImage(admin.avatar, admin._id, 'admin', function (link) { admin.avatar = link; }); this.editImageComponent.open(); }; AdminsComponent.prototype.getChangedAdminData = function () { var body = {}; if (this.oldAdminData.fullName !== this.admin.fullName) { body.fullName = this.admin.fullName; } if (this.oldAdminData.email !== this.admin.email) { body.email = this.admin.email; } if (this.oldAdminData.phone !== this.admin.phone) { body.phone = this.admin.phone; } if (this.oldAdminData.type !== this.admin.type) { body.adminType = this.admin.type; } if (this.admin.type !== 'SUPER_ADMIN') { body.centerId = this.admin.center; } return body; }; AdminsComponent.prototype.changePasswordClick = function (i, admin) { this.changePasswordComponentComponent.setAdminId(admin._id); this.changePasswordComponentComponent.open(); }; AdminsComponent.prototype.loadAdminStatistics = function () { var _this = this; this.adminApi.statistics().subscribe(function (res) { _this.adminCounters = res.data[0]; }); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_8__["EditImageComponent"]) ], AdminsComponent.prototype, "editImageComponent", void 0); tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('changePasswordComponentComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_change_password_component_change_password_component__WEBPACK_IMPORTED_MODULE_9__["ChangePasswordComponent"]) ], AdminsComponent.prototype, "changePasswordComponentComponent", void 0); AdminsComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-admins', template: __webpack_require__(/*! ./admins.component.html */ "./src/ui/admin/admins/admins.component.html"), styles: [__webpack_require__(/*! ./admins.component.css */ "./src/ui/admin/admins/admins.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_admin_api__WEBPACK_IMPORTED_MODULE_2__["AdminApi"], _data_api_center_api__WEBPACK_IMPORTED_MODULE_4__["CenterApi"], _service_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_6__["PageHeaderInfoService"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_7__["DialogService"]]) ], AdminsComponent); return AdminsComponent; }()); /***/ }), /***/ "./src/ui/admin/base-admin/base-admin.component.css": /*!**********************************************************!*\ !*** ./src/ui/admin/base-admin/base-admin.component.css ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = ".menu-item-label{\n display: inline-block;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9iYXNlLWFkbWluL2Jhc2UtYWRtaW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFxQjtBQUN2QiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vYmFzZS1hZG1pbi9iYXNlLWFkbWluLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWVudS1pdGVtLWxhYmVse1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4iXX0= */" /***/ }), /***/ "./src/ui/admin/base-admin/base-admin.component.html": /*!***********************************************************!*\ !*** ./src/ui/admin/base-admin/base-admin.component.html ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/base-admin/base-admin.component.ts": /*!*********************************************************!*\ !*** ./src/ui/admin/base-admin/base-admin.component.ts ***! \*********************************************************/ /*! exports provided: BaseAdminComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BaseAdminComponent", function() { return BaseAdminComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _service_admin_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); /* harmony import */ var _service_language_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../service/language-service */ "./src/service/language-service.ts"); var BaseAdminComponent = /** @class */ (function () { function BaseAdminComponent(headerInfo, adminService, dialogService, translator, languageService, router) { this.headerInfo = headerInfo; this.adminService = adminService; this.dialogService = dialogService; this.translator = translator; this.languageService = languageService; this.router = router; this.placeholderImage = 'assets/images/ic_user_placeholder.png'; this.admin = adminService.getAdmin(); } BaseAdminComponent.prototype.ngOnInit = function () { $('.br-sideleft').on('click', '.br-menu-link', function () { // tslint:disable-next-line:prefer-const prefer-const var nextElem = $(this).next(); var thisLink = $(this); if (nextElem.hasClass('br-menu-sub')) { if (nextElem.is(':visible')) { thisLink.removeClass('show-sub'); nextElem.slideUp(); } else { $('.br-menu-link').each(function () { $(this).removeClass('show-sub'); }); $('.br-menu-sub').each(function () { $(this).slideUp(); }); thisLink.addClass('show-sub'); nextElem.slideDown(); } return false; } }); }; BaseAdminComponent.prototype.getAdminImage = function () { return _environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].baseLink.concat(this.admin.avatar); }; BaseAdminComponent.prototype.signOutClick = function () { var _this = this; this.translator.get('dialog.sure_log_out').subscribe(function (value) { _this.dialogService.confirmationWithTitle(value, function () { _this.adminService.removeAdmin(); _this.router.navigateByUrl('guest/login'); }); }); }; BaseAdminComponent.prototype.changeLanguage = function () { this.languageService.changeLanguage(); }; BaseAdminComponent.prototype.editProfile = function () { this.router.navigate(['/profile']); }; BaseAdminComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-base-admin', template: __webpack_require__(/*! ./base-admin.component.html */ "./src/ui/admin/base-admin/base-admin.component.html"), styles: [__webpack_require__(/*! ./base-admin.component.css */ "./src/ui/admin/base-admin/base-admin.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_page_header_info_service__WEBPACK_IMPORTED_MODULE_2__["PageHeaderInfoService"], _service_admin_service__WEBPACK_IMPORTED_MODULE_3__["AdminService"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_5__["DialogService"], _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__["TranslateService"], _service_language_service__WEBPACK_IMPORTED_MODULE_8__["LanguageService"], _angular_router__WEBPACK_IMPORTED_MODULE_7__["Router"]]) ], BaseAdminComponent); return BaseAdminComponent; }()); /***/ }), /***/ "./src/ui/admin/bookings/bookings.component.css": /*!******************************************************!*\ !*** ./src/ui/admin/bookings/bookings.component.css ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = ".item-disabled{\n pointer-events: none;\n opacity: .65\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9ib29raW5ncy9ib29raW5ncy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usb0JBQW9CO0VBQ3BCO0FBQ0YiLCJmaWxlIjoic3JjL3VpL2FkbWluL2Jvb2tpbmdzL2Jvb2tpbmdzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaXRlbS1kaXNhYmxlZHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IC42NVxufVxuIl19 */" /***/ }), /***/ "./src/ui/admin/bookings/bookings.component.html": /*!*******************************************************!*\ !*** ./src/ui/admin/bookings/bookings.component.html ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/bookings/bookings.component.ts": /*!*****************************************************!*\ !*** ./src/ui/admin/bookings/bookings.component.ts ***! \*****************************************************/ /*! exports provided: BookingsComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BookingsComponent", function() { return BookingsComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_booking_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/booking-api */ "./src/data/api/booking-api.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _data_api_center_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../data/api/center-api */ "./src/data/api/center-api.ts"); /* harmony import */ var _data_api_doctor_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../data/api/doctor-api */ "./src/data/api/doctor-api.ts"); /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); var BookingsComponent = /** @class */ (function () { function BookingsComponent(bookingApi, dialogService, modalService, headerService, centerApi, doctorApi, translator) { this.bookingApi = bookingApi; this.dialogService = dialogService; this.modalService = modalService; this.headerService = headerService; this.centerApi = centerApi; this.doctorApi = doctorApi; this.translator = translator; this.bookings = []; this.showCounters = false; this.centers = []; this.doctors = []; this.headerService.setData('fa-coins', 'app.bookings', ''); } BookingsComponent.prototype.ngOnInit = function () { this.loadBookingsCounters(); this.loadCenters(); this.loadDoctors(); this.setDefaultSearchBy(); this.searchForBookings(); }; BookingsComponent.prototype.confirmBooking = function (i, book) { var _this = this; this.translator.get('dialog.confirm_booking').subscribe(function (value) { _this.dialogService.confirmationWithTitle(value, function () { _this.bookingApi.confirm(book._id).subscribe(function (res) { _this.dialogService.successMessage(res.message); book.status = 'CONFIRMED'; }); }); }); }; BookingsComponent.prototype.cancelBooking = function (i, book) { var _this = this; this.translator.get('dialog.cancel_booking').subscribe(function (value) { _this.dialogService.confirmationWithTitle(value, function () { _this.bookingApi.cancel(book._id).subscribe(function (res) { _this.dialogService.successMessage(res.message); book.status = 'CANCELLED'; }); }); }); }; BookingsComponent.prototype.loadBookingsCounters = function () { var _this = this; this.bookingApi.statistics().subscribe(function (res) { _this.bookingsCounters = res.data[0]; }); }; BookingsComponent.prototype.loadCenters = function () { var _this = this; this.centerApi.centers(1, 1000000).subscribe(function (res) { _this.centers = res.data; }); }; BookingsComponent.prototype.loadDoctors = function () { var _this = this; this.doctorApi.doctors(1, 10000000).subscribe(function (res) { _this.doctors = res.data; }); }; BookingsComponent.prototype.setDefaultSearchBy = function () { this.searchBy = { bookingDate: '', bookingStatus: '', centerId: '', creatingDate: '', doctorId: '', phone: '' }; }; BookingsComponent.prototype.clearSearchCriteria = function () { this.setDefaultSearchBy(); }; BookingsComponent.prototype.searchForBookings = function () { var _this = this; var criteria = ''; var appendWhere = false; if (this.searchBy.bookingStatus) { if (appendWhere) { criteria += '&bookingStatus=' + this.searchBy.bookingStatus; } else { criteria += '?bookingStatus=' + this.searchBy.bookingStatus; appendWhere = true; } } if (this.searchBy.creatingDate) { var date = Object(_angular_common__WEBPACK_IMPORTED_MODULE_8__["formatDate"])(this.searchBy.creatingDate, 'dd/MM/yyyy', 'en-US'); if (appendWhere) { criteria += '&creatingDate=' + date; } else { criteria += '?creatingDate=' + date; appendWhere = true; } } if (this.searchBy.bookingDate) { var date = Object(_angular_common__WEBPACK_IMPORTED_MODULE_8__["formatDate"])(this.searchBy.bookingDate, 'dd/MM/yyyy', 'en-US'); if (appendWhere) { criteria += '&bookingDate=' + date; } else { criteria += '?bookingDate=' + date; appendWhere = true; } } if (this.searchBy.doctorId) { if (appendWhere) { criteria += '&doctorId=' + this.searchBy.doctorId; } else { criteria += '?doctorId=' + this.searchBy.doctorId; appendWhere = true; } } if (this.searchBy.centerId) { if (appendWhere) { criteria += '¢erId=' + this.searchBy.centerId; } else { criteria += '?centerId=' + this.searchBy.centerId; appendWhere = true; } } if (this.searchBy.phone) { if (appendWhere) { criteria += '&phone=' + this.searchBy.phone; } else { criteria += '?phone=' + this.searchBy.phone; appendWhere = true; } } if (appendWhere) { criteria += '&page=1&size=10000000'; } else { criteria += '?page=1&size=10000000'; } this.bookingApi.bookings(criteria).subscribe(function (res) { _this.bookings = res.data; }); }; BookingsComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-bookings', template: __webpack_require__(/*! ./bookings.component.html */ "./src/ui/admin/bookings/bookings.component.html"), styles: [__webpack_require__(/*! ./bookings.component.css */ "./src/ui/admin/bookings/bookings.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_booking_api__WEBPACK_IMPORTED_MODULE_2__["BookingApi"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__["DialogService"], _service_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_5__["PageHeaderInfoService"], _data_api_center_api__WEBPACK_IMPORTED_MODULE_6__["CenterApi"], _data_api_doctor_api__WEBPACK_IMPORTED_MODULE_7__["DoctorApi"], _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__["TranslateService"]]) ], BookingsComponent); return BookingsComponent; }()); /***/ }), /***/ "./src/ui/admin/centers/centers.component.css": /*!****************************************************!*\ !*** ./src/ui/admin/centers/centers.component.css ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vY2VudGVycy9jZW50ZXJzLmNvbXBvbmVudC5jc3MifQ== */" /***/ }), /***/ "./src/ui/admin/centers/centers.component.html": /*!*****************************************************!*\ !*** ./src/ui/admin/centers/centers.component.html ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/centers/centers.component.ts": /*!***************************************************!*\ !*** ./src/ui/admin/centers/centers.component.ts ***! \***************************************************/ /*! exports provided: CentersComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CentersComponent", function() { return CentersComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _data_api_center_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../data/api/center-api */ "./src/data/api/center-api.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _data_api_country_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../data/api/country-api */ "./src/data/api/country-api.ts"); /* harmony import */ var _data_api_city_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../data/api/city-api */ "./src/data/api/city-api.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); var CentersComponent = /** @class */ (function () { function CentersComponent(headerService, centerApi, dialogService, modalService, countryApi, cityApi, translator) { this.headerService = headerService; this.centerApi = centerApi; this.dialogService = dialogService; this.modalService = modalService; this.countryApi = countryApi; this.cityApi = cityApi; this.translator = translator; this.centers = []; this.countries = []; this.cities = []; this.showCounters = false; this.headerService.setData('fa-hospital', 'app.hospitals', ''); } CentersComponent.prototype.ngOnInit = function () { var _this = this; this.setDefaultCenter(); this.loadCountries(); this.loadCenters(); this.translator.get('app.center_phones').subscribe(function (val) { var inputs = $('rl-tag-input form input'); inputs.eq(0).attr('placeholder', val); inputs.eq(1).attr('placeholder', _this.translator.instant('app.center_mails')); }); this.loadCentersCounters(); }; CentersComponent.prototype.addCenterClick = function () { this.setDefaultCenter(); this.modalService.open('centerModal'); }; CentersComponent.prototype.showCenterPhones = function (cen) { var phones = cen.contacts.phones; var content = '<div class="row justify-content-center">'; // tslint:disable-next-line:prefer-for-of for (var i = 0; i < phones.length; i++) { content += "<button class=\"btn btn-oblong btn-primary m-1 text-white\">" + phones[i] + "</button>"; } content += '</div>'; this.dialogService.showText(content); }; CentersComponent.prototype.showCenterMails = function (cen) { var emails = cen.contacts.emails; var content = '<div class="row justify-content-center">'; // tslint:disable-next-line:prefer-for-of for (var i = 0; i < emails.length; i++) { content += "<button class=\"btn btn-oblong btn-primary m-1 text-white\">" + emails[i] + "</button>"; } content += '</div>'; this.dialogService.showText(content); }; CentersComponent.prototype.changeCenterActivationClick = function (i, cen) { var _this = this; // check if center is active or not. if (cen.isActive) { // deactivate. this.centerApi.deactivate(cen._id).subscribe(function (res) { cen.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate. this.centerApi.activate(cen._id).subscribe(function (res) { cen.isActive = true; _this.dialogService.successMessage(res.message); }); } }; CentersComponent.prototype.editCenterClick = function (i, cen) { this.countryId = cen.address.country._id; this.cityId = cen.address.city._id; this.regionAr = cen.address.regoin.ar; this.regionEn = cen.address.regoin.en; this.streetAr = cen.address.street.ar; this.streetEn = cen.address.street.en; this.locationLat = cen.address.mapLocation.latitude; this.locationLng = cen.address.mapLocation.longitude; this.buildingEn = cen.address.building.en; this.buildingAr = cen.address.building.ar; var center = { id: cen._id, index: i, name: cen.name, contacts: { phones: cen.contacts.phones, emails: cen.contacts.emails }, submitForm: false }; this.center = center; this.modalService.open('centerModal'); }; CentersComponent.prototype.saveCenter = function (centerForm) { var _this = this; this.center.submitForm = true; if (!centerForm.valid || this.center.contacts.phones.length === 0 || this.center.contacts.emails.length === 0 || this.countryId === '' || this.cityId === '') { return; } // check if add or edit form var body = {}; body.name = {}; body.name.ar = this.center.name.ar; body.name.en = this.center.name.en; body.address = {}; body.address.countryId = this.countryId; body.address.cityId = this.cityId; body.address.regoin = {}; body.address.regoin.ar = this.regionAr; body.address.regoin.en = this.regionEn; body.address.street = {}; body.address.street.ar = this.streetAr; body.address.street.en = this.streetEn; body.address.mapLocation = {}; body.address.mapLocation.latitude = this.locationLat; body.address.mapLocation.longitude = this.locationLng; body.address.building = {}; body.address.building.ar = this.buildingAr; body.address.building.en = this.buildingEn; body.contacts = {}; body.contacts.emails = this.center.contacts.emails; body.contacts.phones = this.center.contacts.phones; if (this.center.index > -1) { // edit this.centerApi.update(this.center.id, body).subscribe(function (res) { _this.centers[_this.center.index] = res.data[0]; _this.modalService.close('centerModal'); _this.dialogService.successMessage(res.message); _this.setDefaultCenter(); }); } else { // add this.centerApi.save(body).subscribe(function (res) { _this.centers.push(res.data[0]); _this.modalService.close('centerModal'); _this.dialogService.successMessage(res.message); _this.setDefaultCenter(); }); } }; CentersComponent.prototype.loadCenters = function () { var _this = this; this.centerApi.centers(1, 1000000).subscribe(function (res) { _this.centers = res.data; }); }; CentersComponent.prototype.setDefaultCenter = function () { this.center = { contacts: { emails: [], phones: [] }, id: '', index: -1, name: { ar: '', en: '' }, submitForm: false }; this.countryId = ''; this.cityId = ''; this.buildingAr = ''; this.buildingEn = ''; this.locationLat = 0.0; this.locationLng = 0.0; this.regionAr = ''; this.regionEn = ''; this.streetAr = ''; this.streetEn = ''; }; CentersComponent.prototype.getLocation = function (cen) { return "http://maps.apple.com/maps?q=" + cen.address.mapLocation.latitude + "," + cen.address.mapLocation.latitude; }; CentersComponent.prototype.loadCountries = function () { var _this = this; this.countryApi.activeCountries(1, 1000).subscribe(function (res) { _this.countries = res.data; }); }; CentersComponent.prototype.loadCountryCities = function (countryId) { var _this = this; this.countryId = countryId; this.cities = []; if (countryId !== '') { this.cityApi.activeCities(countryId, 1, 10000).subscribe(function (res) { _this.cities = res.data; }); } }; CentersComponent.prototype.editImageClick = function (i, cen) { this.editImageComponent.setImage(cen.avatar, cen._id, 'center', function (newLink) { cen.avatar = newLink; }); this.editImageComponent.open(); }; CentersComponent.prototype.getCenterImage = function (avatar) { return _environments_environment__WEBPACK_IMPORTED_MODULE_9__["environment"].baseLink.concat(avatar); }; CentersComponent.prototype.loadCentersCounters = function () { var _this = this; this.centerApi.statistics().subscribe(function (res) { _this.centersCounters = res.data[0]; }); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_8__["EditImageComponent"]) ], CentersComponent.prototype, "editImageComponent", void 0); CentersComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-centers', template: __webpack_require__(/*! ./centers.component.html */ "./src/ui/admin/centers/centers.component.html"), styles: [__webpack_require__(/*! ./centers.component.css */ "./src/ui/admin/centers/centers.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_page_header_info_service__WEBPACK_IMPORTED_MODULE_2__["PageHeaderInfoService"], _data_api_center_api__WEBPACK_IMPORTED_MODULE_3__["CenterApi"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_4__["DialogService"], _service_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], _data_api_country_api__WEBPACK_IMPORTED_MODULE_6__["CountryApi"], _data_api_city_api__WEBPACK_IMPORTED_MODULE_7__["CityApi"], _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__["TranslateService"]]) ], CentersComponent); return CentersComponent; }()); /***/ }), /***/ "./src/ui/admin/cities/cities.component.css": /*!**************************************************!*\ !*** ./src/ui/admin/cities/cities.component.css ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vY2l0aWVzL2NpdGllcy5jb21wb25lbnQuY3NzIn0= */" /***/ }), /***/ "./src/ui/admin/cities/cities.component.html": /*!***************************************************!*\ !*** ./src/ui/admin/cities/cities.component.html ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/cities/cities.component.ts": /*!*************************************************!*\ !*** ./src/ui/admin/cities/cities.component.ts ***! \*************************************************/ /*! exports provided: CitiesComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CitiesComponent", function() { return CitiesComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _data_api_city_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../data/api/city-api */ "./src/data/api/city-api.ts"); /* harmony import */ var _data_api_country_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../data/api/country-api */ "./src/data/api/country-api.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); var CitiesComponent = /** @class */ (function () { function CitiesComponent(modalService, dialogService, cityApi, countryApi, headerInfoService) { this.modalService = modalService; this.dialogService = dialogService; this.cityApi = cityApi; this.countryApi = countryApi; this.headerInfoService = headerInfoService; this.cities = []; this.countries = []; this.selectedCountry = ''; this.showCounters = false; this.headerInfoService.setData('fa-building', 'app.cities', ''); } CitiesComponent.prototype.ngOnInit = function () { this.setDefaultCity(); this.loadAllActiveCities(); this.loadAllCountries(); this.loadCitiesCounters(); }; CitiesComponent.prototype.addCityClick = function () { if (this.selectedCountry === '') { this.dialogService.showErrorMessage('errors.select_country'); } else { this.setDefaultCity(); this.modalService.open('cityModal'); } }; CitiesComponent.prototype.setDefaultCity = function () { this.city = { id: '', index: -1, nameAr: '', nameEn: '', submitForm: false }; }; CitiesComponent.prototype.changeCityActiveClick = function (i, cit) { var _this = this; // check if city is active or not. if (cit.isActive) { // deactivate. this.cityApi.deactivate(cit._id).subscribe(function (res) { cit.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate. this.cityApi.activate(cit._id).subscribe(function (res) { cit.isActive = true; _this.dialogService.successMessage(res.message); }); } }; CitiesComponent.prototype.editCityClick = function (i, cit) { this.city = { id: cit._id, index: i, nameEn: cit.name.en, nameAr: cit.name.ar, submitForm: false }; this.modalService.open('cityModal'); }; CitiesComponent.prototype.saveCityModalClick = function (form) { var _this = this; this.city.submitForm = true; if (!form.valid || this.selectedCountry === '') { return; } // call api. var body = {}; body.name = {}; body.name.ar = this.city.nameAr; body.name.en = this.city.nameEn; body.countryId = this.selectedCountry; // check if add or edit city. if (this.city.index > -1) { // edit this.cityApi.update(this.city.id, body).subscribe(function (res) { var cit = _this.cities[_this.city.index]; cit.name = res.data[0].name; _this.modalService.close('cityModal'); _this.dialogService.successMessage(res.message); _this.setDefaultCity(); }); } else { // add this.cityApi.save(body).subscribe(function (res) { _this.cities.push(res.data[0]); _this.modalService.close('cityModal'); _this.dialogService.successMessage(res.message); _this.setDefaultCity(); }); } }; CitiesComponent.prototype.loadAllActiveCities = function () { var _this = this; this.cityApi.allActiveCities().subscribe(function (res) { _this.cities = res.data; }); }; CitiesComponent.prototype.loadCountryCities = function (countryId) { var _this = this; this.selectedCountry = countryId; if (countryId === '') { this.loadAllActiveCities(); } else { this.cityApi.cities(countryId, 1, 10000).subscribe(function (res) { _this.cities = res.data; }); } }; CitiesComponent.prototype.deleteCityClick = function (i, cit) { var _this = this; this.dialogService.showDeleteItem(function () { _this.cityApi.delete(cit._id).subscribe(function (res) { _this.cities.splice(i, 1); _this.dialogService.successMessage(); }); }); }; CitiesComponent.prototype.loadAllCountries = function () { var _this = this; this.countryApi.activeCountries(1, 10000).subscribe(function (res) { _this.countries = res.data; }); }; CitiesComponent.prototype.loadCitiesCounters = function () { var _this = this; this.cityApi.statistics().subscribe(function (res) { _this.citiesCounters = res.data[0]; }); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__["EditImageComponent"]) ], CitiesComponent.prototype, "editImageComponent", void 0); CitiesComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-cities', template: __webpack_require__(/*! ./cities.component.html */ "./src/ui/admin/cities/cities.component.html"), styles: [__webpack_require__(/*! ./cities.component.css */ "./src/ui/admin/cities/cities.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_modal_service__WEBPACK_IMPORTED_MODULE_2__["ModalService"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__["DialogService"], _data_api_city_api__WEBPACK_IMPORTED_MODULE_4__["CityApi"], _data_api_country_api__WEBPACK_IMPORTED_MODULE_5__["CountryApi"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__["PageHeaderInfoService"]]) ], CitiesComponent); return CitiesComponent; }()); /***/ }), /***/ "./src/ui/admin/countries/countries.component.css": /*!********************************************************!*\ !*** ./src/ui/admin/countries/countries.component.css ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vY291bnRyaWVzL2NvdW50cmllcy5jb21wb25lbnQuY3NzIn0= */" /***/ }), /***/ "./src/ui/admin/countries/countries.component.html": /*!*********************************************************!*\ !*** ./src/ui/admin/countries/countries.component.html ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/countries/countries.component.ts": /*!*******************************************************!*\ !*** ./src/ui/admin/countries/countries.component.ts ***! \*******************************************************/ /*! exports provided: CountriesComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CountriesComponent", function() { return CountriesComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _data_api_country_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../data/api/country-api */ "./src/data/api/country-api.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); var CountriesComponent = /** @class */ (function () { function CountriesComponent(modalService, dialogService, countryAPi, headerInfoService) { this.modalService = modalService; this.dialogService = dialogService; this.countryAPi = countryAPi; this.headerInfoService = headerInfoService; this.placeholderImage = 'assets/images/ic_country.png'; this.countries = []; this.showCounters = false; this.headerInfoService.setData('fa-flag', 'app.countries', ''); } CountriesComponent.prototype.ngOnInit = function () { this.setDefaultCountry(); this.loadCountries(); this.loadStatistics(); }; CountriesComponent.prototype.addCountryClick = function () { this.setDefaultCountry(); this.modalService.open('countryModal'); }; CountriesComponent.prototype.setDefaultCountry = function () { this.country = { id: '', index: -1, nameAr: '', nameEn: '', submitForm: false }; }; CountriesComponent.prototype.loadCountries = function () { var _this = this; this.countryAPi.countries(1, 10000).subscribe(function (res) { _this.countries = res.data; }); }; CountriesComponent.prototype.getCountryImage = function (avatar) { return _environments_environment__WEBPACK_IMPORTED_MODULE_5__["environment"].baseLink.concat(avatar); }; CountriesComponent.prototype.changeCountryActiveClick = function (i, coun) { var _this = this; // check if country is active or not. if (coun.isActive) { // deactivate this.countryAPi.deActivate(coun._id).subscribe(function (res) { coun.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate. this.countryAPi.activate(coun._id).subscribe(function (res) { coun.isActive = true; _this.dialogService.successMessage(res.message); }); } }; CountriesComponent.prototype.editImageClick = function (i, coun) { var _this = this; this.editImageComponent.setImage(coun.avatar, coun._id, 'country', function (link) { _this.countries[i].avatar = link; }); this.editImageComponent.open(); }; CountriesComponent.prototype.editCountryClick = function (i, coun) { this.country = { submitForm: false, nameEn: coun.name.en, nameAr: coun.name.ar, index: i, id: coun._id }; this.modalService.open('countryModal'); }; CountriesComponent.prototype.saveCountryModalClick = function (form) { var _this = this; this.country.submitForm = true; if (!form.valid) { return; } var body = {}; body.name = {}; body.name.ar = this.country.nameAr; body.name.en = this.country.nameEn; // check if user add or edit country. if (this.country.index > -1) { // edit this.countryAPi.update(this.country.id, body) .subscribe(function (res) { var coun = _this.countries[_this.country.index]; coun.name = res.data[0].name; _this.modalService.close('countryModal'); _this.dialogService.successMessage(res.message); _this.setDefaultCountry(); }); } else { // add this.countryAPi.save(body) .subscribe(function (res) { _this.countries.push(res.data[0]); _this.modalService.close('countryModal'); _this.dialogService.successMessage(res.message); _this.setDefaultCountry(); }); } }; CountriesComponent.prototype.loadStatistics = function () { var _this = this; this.countryAPi.statistics().subscribe(function (res) { _this.countryCounters = res.data[0]; }); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__["EditImageComponent"]) ], CountriesComponent.prototype, "editImageComponent", void 0); CountriesComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-countries', template: __webpack_require__(/*! ./countries.component.html */ "./src/ui/admin/countries/countries.component.html"), styles: [__webpack_require__(/*! ./countries.component.css */ "./src/ui/admin/countries/countries.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_modal_service__WEBPACK_IMPORTED_MODULE_2__["ModalService"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__["DialogService"], _data_api_country_api__WEBPACK_IMPORTED_MODULE_4__["CountryApi"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__["PageHeaderInfoService"]]) ], CountriesComponent); return CountriesComponent; }()); /***/ }), /***/ "./src/ui/admin/dashboard/dashboard.component.css": /*!********************************************************!*\ !*** ./src/ui/admin/dashboard/dashboard.component.css ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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 */" /***/ }), /***/ "./src/ui/admin/dashboard/dashboard.component.html": /*!*********************************************************!*\ !*** ./src/ui/admin/dashboard/dashboard.component.html ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/dashboard/dashboard.component.ts": /*!*******************************************************!*\ !*** ./src/ui/admin/dashboard/dashboard.component.ts ***! \*******************************************************/ /*! exports provided: DashboardComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DashboardComponent", function() { return DashboardComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_dashboard_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/dashboard-api */ "./src/data/api/dashboard-api.ts"); /* harmony import */ var _service_admin_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); var DashboardComponent = /** @class */ (function () { function DashboardComponent(dashboardApi, adminService, headerService) { this.dashboardApi = dashboardApi; this.adminService = adminService; this.headerService = headerService; this.filterDate = ''; this.admin = adminService.getAdmin(); headerService.setData('fa-chart-line', 'app.dashboard', ''); } DashboardComponent.prototype.ngOnInit = function () { if (this.admin.adminType === 'SUPER_ADMIN') { this.loadSuperAdminCounters(); } else if (this.admin.adminType === 'ADMIN') { this.loadCenterAdminCounters(); } }; DashboardComponent.prototype.loadSuperAdminCounters = function () { var _this = this; var date = ''; if (this.filterDate) { date = Object(_angular_common__WEBPACK_IMPORTED_MODULE_4__["formatDate"])(this.filterDate, 'dd/MM/yyyy', 'en-US'); } this.dashboardApi.superAdminDashboard(date).subscribe(function (res) { _this.counters = res.data[0]; }); }; DashboardComponent.prototype.loadCenterAdminCounters = function () { var _this = this; var date = ''; if (this.filterDate) { date = Object(_angular_common__WEBPACK_IMPORTED_MODULE_4__["formatDate"])(this.filterDate, 'dd/MM/yyyy', 'en-US'); } this.dashboardApi.centerAdminDashboard(date).subscribe(function (res) { _this.counters = res.data[0]; }); }; DashboardComponent.prototype.loadNurseAdminCounters = function () { var _this = this; var date = ''; if (this.filterDate) { date = Object(_angular_common__WEBPACK_IMPORTED_MODULE_4__["formatDate"])(this.filterDate, 'dd/MM/yyyy', 'en-US'); } this.dashboardApi.nurseAdminDashboard(date).subscribe(function (res) { _this.counters = res.data[0]; }); }; DashboardComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-dashboard', template: __webpack_require__(/*! ./dashboard.component.html */ "./src/ui/admin/dashboard/dashboard.component.html"), styles: [__webpack_require__(/*! ./dashboard.component.css */ "./src/ui/admin/dashboard/dashboard.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_dashboard_api__WEBPACK_IMPORTED_MODULE_2__["DashboardApi"], _service_admin_service__WEBPACK_IMPORTED_MODULE_3__["AdminService"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_5__["PageHeaderInfoService"]]) ], DashboardComponent); return DashboardComponent; }()); /***/ }), /***/ "./src/ui/admin/doctors/doctor-times/doctor-times.component.css": /*!**********************************************************************!*\ !*** ./src/ui/admin/doctors/doctor-times/doctor-times.component.css ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vZG9jdG9ycy9kb2N0b3ItdGltZXMvZG9jdG9yLXRpbWVzLmNvbXBvbmVudC5jc3MifQ== */" /***/ }), /***/ "./src/ui/admin/doctors/doctor-times/doctor-times.component.html": /*!***********************************************************************!*\ !*** ./src/ui/admin/doctors/doctor-times/doctor-times.component.html ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/doctors/doctor-times/doctor-times.component.ts": /*!*********************************************************************!*\ !*** ./src/ui/admin/doctors/doctor-times/doctor-times.component.ts ***! \*********************************************************************/ /*! exports provided: DoctorTimesComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DoctorTimesComponent", function() { return DoctorTimesComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../service/modal-service */ "./src/service/modal-service.ts"); var DoctorTimesComponent = /** @class */ (function () { function DoctorTimesComponent(modalService) { this.modalService = modalService; this.times = []; } DoctorTimesComponent.prototype.ngOnInit = function () { }; DoctorTimesComponent.prototype.setTimes = function (times) { this.times = times; }; DoctorTimesComponent.prototype.open = function () { this.modalService.open('timesModal'); }; DoctorTimesComponent.prototype.close = function () { this.modalService.close('timesModal'); }; DoctorTimesComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-doctor-times', template: __webpack_require__(/*! ./doctor-times.component.html */ "./src/ui/admin/doctors/doctor-times/doctor-times.component.html"), styles: [__webpack_require__(/*! ./doctor-times.component.css */ "./src/ui/admin/doctors/doctor-times/doctor-times.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_modal_service__WEBPACK_IMPORTED_MODULE_2__["ModalService"]]) ], DoctorTimesComponent); return DoctorTimesComponent; }()); /***/ }), /***/ "./src/ui/admin/doctors/doctors.component.css": /*!****************************************************!*\ !*** ./src/ui/admin/doctors/doctors.component.css ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "div.row > input[type='checkbox']{\n width: 15px;\n margin: 0 10px;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91aS9hZG1pbi9kb2N0b3JzL2RvY3RvcnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVc7RUFDWCxjQUFjO0FBQ2hCIiwiZmlsZSI6InNyYy91aS9hZG1pbi9kb2N0b3JzL2RvY3RvcnMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImRpdi5yb3cgPiBpbnB1dFt0eXBlPSdjaGVja2JveCdde1xuICB3aWR0aDogMTVweDtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG4iXX0= */" /***/ }), /***/ "./src/ui/admin/doctors/doctors.component.html": /*!*****************************************************!*\ !*** ./src/ui/admin/doctors/doctors.component.html ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/doctors/doctors.component.ts": /*!***************************************************!*\ !*** ./src/ui/admin/doctors/doctors.component.ts ***! \***************************************************/ /*! exports provided: DoctorsComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DoctorsComponent", function() { return DoctorsComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_doctor_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/doctor-api */ "./src/data/api/doctor-api.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _data_api_specialization_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../data/api/specialization-api */ "./src/data/api/specialization-api.ts"); /* harmony import */ var _data_api_center_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../data/api/center-api */ "./src/data/api/center-api.ts"); /* harmony import */ var _data_api_nationality_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../data/api/nationality-api */ "./src/data/api/nationality-api.ts"); /* harmony import */ var _doctor_times_doctor_times_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./doctor-times/doctor-times.component */ "./src/ui/admin/doctors/doctor-times/doctor-times.component.ts"); var DoctorsComponent = /** @class */ (function () { function DoctorsComponent(headerService, doctorApi, dialogService, modalService, specialityAPi, centersApi, nationalityApi, hospitalApi) { this.headerService = headerService; this.doctorApi = doctorApi; this.dialogService = dialogService; this.modalService = modalService; this.specialityAPi = specialityAPi; this.centersApi = centersApi; this.nationalityApi = nationalityApi; this.hospitalApi = hospitalApi; this.doctors = []; this.specializations = []; this.centers = []; this.nationalities = []; this.hospitals = []; this.filterNationalities = []; this.showCounters = false; headerService.setData('fa-stethoscope', 'app.doctors', ''); } DoctorsComponent.prototype.ngOnInit = function () { this.loadDoctors(); this.loadSpecializations(); this.loadNationalities(); this.loadCenters(); this.loadHospitals(); this.setDefaultDoctorData(); this.searchBy = { type: '0', centerName: '', centerId: '', nationality: '', speciality: '', validation: '' }; this.loadDoctorsCounters(); }; DoctorsComponent.prototype.addDoctorClick = function () { this.setDefaultDoctorData(); this.modalService.open('doctorModal'); }; DoctorsComponent.prototype.getDoctorImage = function (avatar) { return _environments_environment__WEBPACK_IMPORTED_MODULE_5__["environment"].baseLink.concat(avatar); }; DoctorsComponent.prototype.changeDoctorActivationClick = function (i, doc) { var _this = this; // check if doctor is active or not. if (doc.isActive) { // deactivate this.doctorApi.deactivate(doc._id).subscribe(function (res) { doc.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate this.doctorApi.activate(doc._id).subscribe(function (res) { doc.isActive = true; _this.dialogService.successMessage(res.message); }); } }; DoctorsComponent.prototype.editImageClick = function (i, doctor) { this.editImageComponent.setImage(doctor.avatar, doctor._id, 'doctor', function (link) { doctor.avatar = link; }); this.editImageComponent.open(); }; DoctorsComponent.prototype.editDoctorClick = function (i, doc) { var _this = this; this.setDefaultDoctorData(); this.index = i; this.docNameAr = doc.name.ar; this.docNameEn = doc.name.en; this.docTitleAr = doc.title.ar; this.docTitleEn = doc.title.en; this.docBriefAr = doc.brief.ar; this.docBriefEn = doc.brief.en; this.specialityId = doc.speciality._id; this.nationalityId = doc.nationality._id; this.id = doc._id; this.centerId = doc.center._id; this.examinationFees = doc.examinationFees; // get doctor times. doc.availablity.forEach(function (value) { if (value.day === 'saturday') { var time = _this.availablity[0]; _this.day1Availability = true; time.isAvailable = true; time.from = value.times[0].from; time.to = value.times[0].to; time.maxBookings = value.maxBookings; } else if (value.day === 'sunday') { var time = _this.availablity[1]; _this.day2Availability = true; time.isAvailable = true; time.from = value.times[0].from; time.to = value.times[0].to; time.maxBookings = value.maxBookings; } else if (value.day === 'monday') { var time = _this.availablity[2]; _this.day3Availability = true; time.isAvailable = true; time.from = value.times[0].from; time.to = value.times[0].to; time.maxBookings = value.maxBookings; } else if (value.day === 'tuesday') { var time = _this.availablity[3]; _this.day4Availability = true; time.isAvailable = true; time.from = value.times[0].from; time.to = value.times[0].to; time.maxBookings = value.maxBookings; } else if (value.day === 'wednesday') { var time = _this.availablity[4]; _this.day5Availability = true; time.isAvailable = true; time.from = value.times[0].from; time.to = value.times[0].to; time.maxBookings = value.maxBookings; } else if (value.day === 'thursday') { var time = _this.availablity[5]; _this.day6Availability = true; time.isAvailable = true; time.from = value.times[0].from; time.to = value.times[0].to; time.maxBookings = value.maxBookings; } else if (value.day === 'friday') { var time = _this.availablity[6]; _this.day7Availability = true; time.isAvailable = true; time.from = value.times[0].from; time.to = value.times[0].to; time.maxBookings = value.maxBookings; } }); this.modalService.open('doctorModal'); }; DoctorsComponent.prototype.loadDoctors = function () { var _this = this; this.doctorApi.doctors(1, 10000).subscribe(function (res) { _this.doctors = res.data; }); }; DoctorsComponent.prototype.showContentInDialog = function (i, text) { var content = "<div class=\"text-muted h4\">" + text + "</div>"; this.dialogService.showText(content); }; DoctorsComponent.prototype.loadSpecializations = function () { var _this = this; this.specialityAPi.activeSpecializations(1, 1000).subscribe(function (res) { _this.specializations = res.data; }); }; DoctorsComponent.prototype.loadCenters = function () { var _this = this; this.centersApi.activeCenters(1, 10000).subscribe(function (res) { _this.centers = res.data; }); }; DoctorsComponent.prototype.loadHospitals = function () { var _this = this; this.hospitalApi.activeCenters(1, 10000).subscribe(function (res) { _this.hospitals = res.data; }); }; DoctorsComponent.prototype.setDefaultDoctorData = function () { this.availablity = [{ isAvailable: false, from: '10:00', to: '23:30', maxBookings: 10 }, { isAvailable: false, from: '10:00', to: '23:30', maxBookings: 10 }, { isAvailable: false, from: '10:00', to: '23:30', maxBookings: 10 }, { isAvailable: false, from: '10:00', to: '23:30', maxBookings: 10 }, { isAvailable: false, from: '10:00', to: '23:30', maxBookings: 10 }, { isAvailable: false, from: '10:00', to: '23:30', maxBookings: 10 }, { isAvailable: false, from: '10:00', to: '23:30', maxBookings: 10 }]; this.docNameAr = ''; this.docNameEn = ''; this.docTitleAr = ''; this.docTitleEn = ''; this.docBriefAr = ''; this.docBriefEn = ''; this.specialityId = ''; this.centerId = ''; this.nationalityId = ''; this.examinationFees = 0; this.index = -1; this.id = ''; this.submitForm = false; this.day1Availability = false; this.day2Availability = false; this.day3Availability = false; this.day4Availability = false; this.day5Availability = false; this.day6Availability = false; this.day7Availability = false; }; DoctorsComponent.prototype.saveDoctor = function (doctorForm) { var _this = this; this.submitForm = true; if (!doctorForm.valid || this.nationalityId === '' || this.centerId === '' || this.specialityId === '') { return; } var body = {}; body.name = {}; body.name.ar = this.docNameAr; body.name.en = this.docNameEn; body.title = {}; body.title.ar = this.docTitleAr; body.title.en = this.docTitleEn; body.brief = {}; body.brief.ar = this.docBriefAr; body.brief.en = this.docBriefEn; body.specialityId = this.specialityId; body.centerId = this.centerId; body.nationalityId = this.nationalityId; body.examinationFees = this.examinationFees; body.availablity = this.getWorkingDays(); // check if add or edit doctor. if (this.index > -1) { // edit this.doctorApi.update(this.id, body).subscribe(function (res) { _this.modalService.close('doctorModal'); _this.doctors[_this.index] = res.data[0]; _this.dialogService.successMessage(res.message); _this.setDefaultDoctorData(); }); } else { // save. this.doctorApi.save(body).subscribe(function (res) { _this.modalService.close('doctorModal'); _this.doctors.push(res.data[0]); _this.dialogService.successMessage(res.message); _this.setDefaultDoctorData(); }); } }; DoctorsComponent.prototype.changeDayAvailability = function (dayIndex, isAvailable) { this.availablity[dayIndex].isAvailable = isAvailable; }; DoctorsComponent.prototype.getWorkingDays = function () { var days = []; this.availablity.forEach(function (value, index) { if (index === 0 && value.isAvailable) { // saturady days.push({ day: 'saturday', times: [ { from: value.from, to: value.to } ], maxBookings: value.maxBookings }); } else if (index === 1 && value.isAvailable) { // sunday days.push({ day: 'sunday', times: [ { from: value.from, to: value.to } ], maxBookings: value.maxBookings }); } else if (index === 2 && value.isAvailable) { // monday days.push({ day: 'monday', times: [ { from: value.from, to: value.to } ], maxBookings: value.maxBookings }); } else if (index === 3 && value.isAvailable) { // tuesday days.push({ day: 'tuesday', times: [ { from: value.from, to: value.to } ], maxBookings: value.maxBookings }); } else if (index === 4 && value.isAvailable) { // wednesday days.push({ day: 'wednesday', times: [ { from: value.from, to: value.to } ], maxBookings: value.maxBookings }); } else if (index === 5 && value.isAvailable) { // thursday days.push({ day: 'thursday', times: [ { from: value.from, to: value.to } ], maxBookings: value.maxBookings }); } else if (index === 6 && value.isAvailable) { // friday days.push({ day: 'friday', times: [ { from: value.from, to: value.to } ], maxBookings: value.maxBookings }); } }); return days; }; /* private convertTo12Hour(time: string) { const H = +time.substr(0, 2); let h: string | number = (H % 12) || 12; h = (h < 10) ? ('0' + h) : h; // leading 0 at the left for 1 digit hours const ampm = H < 12 ? ' AM' : ' PM'; time = h + time.substr(2, 3) + ampm; return time; }*/ DoctorsComponent.prototype.showDoctorWorkingTimes = function (i, availablity) { this.doctorTimes.setTimes(availablity); this.doctorTimes.open(); }; DoctorsComponent.prototype.searchDoctors = function () { var _this = this; var search = ''; this.searchBy.validation = ''; if (this.searchBy.type === '0') { this.loadDoctors(); return; } else if (this.searchBy.type === '1') { // search by specialization. if (this.searchBy.speciality === '') { this.searchBy.validation = 'errors.select_search_criteria'; return; } search += '?specialityId=' + this.searchBy.speciality + '&lang=all'; } else if (this.searchBy.type === '2') { // search by hospital. if (this.searchBy.centerId === '') { this.searchBy.validation = 'errors.select_search_criteria'; return; } search += '?centerId=' + this.searchBy.centerId + '&lang=all'; } else if (this.searchBy.type === '3') { // search by nationality. if (this.searchBy.nationality === '') { this.searchBy.validation = 'errors.select_search_criteria'; return; } search += '?nationalityId=' + this.searchBy.nationality + '&lang=all'; } else { // search by center name. if (this.searchBy.centerName === '') { this.searchBy.validation = 'errors.select_search_criteria'; return; } search += '?keyword=' + this.searchBy.centerName + '&lang=all'; } this.doctors = []; this.doctorApi.search(search).subscribe(function (res) { _this.doctors = res.data; }); }; DoctorsComponent.prototype.loadNationalities = function () { var _this = this; this.nationalityApi.nationalities(1, 10000).subscribe(function (res) { _this.nationalities = res.data; }); }; DoctorsComponent.prototype.loadDoctorsCounters = function () { var _this = this; this.doctorApi.statistics().subscribe(function (res) { _this.doctorsCounters = res.data[0]; }); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_7__["EditImageComponent"]) ], DoctorsComponent.prototype, "editImageComponent", void 0); tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('doctorTimes'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _doctor_times_doctor_times_component__WEBPACK_IMPORTED_MODULE_11__["DoctorTimesComponent"]) ], DoctorsComponent.prototype, "doctorTimes", void 0); DoctorsComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-doctors', template: __webpack_require__(/*! ./doctors.component.html */ "./src/ui/admin/doctors/doctors.component.html"), styles: [__webpack_require__(/*! ./doctors.component.css */ "./src/ui/admin/doctors/doctors.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_page_header_info_service__WEBPACK_IMPORTED_MODULE_6__["PageHeaderInfoService"], _data_api_doctor_api__WEBPACK_IMPORTED_MODULE_2__["DoctorApi"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__["DialogService"], _service_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], _data_api_specialization_api__WEBPACK_IMPORTED_MODULE_8__["SpecializationApi"], _data_api_center_api__WEBPACK_IMPORTED_MODULE_9__["CenterApi"], _data_api_nationality_api__WEBPACK_IMPORTED_MODULE_10__["NationalityApi"], _data_api_center_api__WEBPACK_IMPORTED_MODULE_9__["CenterApi"]]) ], DoctorsComponent); return DoctorsComponent; }()); /***/ }), /***/ "./src/ui/admin/nationalities/nationalities.component.css": /*!****************************************************************!*\ !*** ./src/ui/admin/nationalities/nationalities.component.css ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vbmF0aW9uYWxpdGllcy9uYXRpb25hbGl0aWVzLmNvbXBvbmVudC5jc3MifQ== */" /***/ }), /***/ "./src/ui/admin/nationalities/nationalities.component.html": /*!*****************************************************************!*\ !*** ./src/ui/admin/nationalities/nationalities.component.html ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/nationalities/nationalities.component.ts": /*!***************************************************************!*\ !*** ./src/ui/admin/nationalities/nationalities.component.ts ***! \***************************************************************/ /*! exports provided: NationalitiesComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NationalitiesComponent", function() { return NationalitiesComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _data_api_nationality_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../data/api/nationality-api */ "./src/data/api/nationality-api.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); var NationalitiesComponent = /** @class */ (function () { function NationalitiesComponent(dialogService, modalService, nationalityApi, headerInfoService) { this.dialogService = dialogService; this.modalService = modalService; this.nationalityApi = nationalityApi; this.headerInfoService = headerInfoService; this.nationalities = []; this.showCounters = false; this.headerInfoService.setData('fa-flag-usa', 'app.nationalities', ''); } NationalitiesComponent.prototype.ngOnInit = function () { this.setDefaultNationality(); this.loadAllNationalities(); this.loadNationalitiesCounters(); }; NationalitiesComponent.prototype.addNationalityClick = function () { this.setDefaultNationality(); this.modalService.open('nationalityModal'); }; NationalitiesComponent.prototype.setDefaultNationality = function () { this.nationality = { id: '', index: -1, nameAr: '', nameEn: '', submitForm: false }; }; NationalitiesComponent.prototype.getNationalityImage = function (avatar) { return _environments_environment__WEBPACK_IMPORTED_MODULE_5__["environment"].baseLink.concat(avatar); }; NationalitiesComponent.prototype.changeNationalityActiveClick = function (i, nat) { var _this = this; // check if nationality is active or not. if (nat.isActive) { // deactivate this.nationalityApi.deActivate(nat._id).subscribe(function (res) { nat.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate. this.nationalityApi.activate(nat._id).subscribe(function (res) { nat.isActive = true; _this.dialogService.successMessage(res.message); }); } }; NationalitiesComponent.prototype.editImageClick = function (i, nat) { this.editImageComponent.setImage(nat.avatar, nat._id, 'nationality', function (link) { nat.avatar = link; }); this.editImageComponent.open(); }; NationalitiesComponent.prototype.editNationalityClick = function (i, nat) { this.nationality = { submitForm: false, nameEn: nat.name.en, nameAr: nat.name.ar, index: i, id: nat._id }; this.modalService.open('nationalityModal'); }; NationalitiesComponent.prototype.saveNationalityModalClick = function (form) { var _this = this; this.nationality.submitForm = true; if (!form.valid) { return; } var body = {}; body.name = {}; body.name.ar = this.nationality.nameAr; body.name.en = this.nationality.nameEn; // check if add or edit . if (this.nationality.index > -1) { // edit. this.nationalityApi.update(this.nationality.id, body).subscribe(function (res) { var nat = _this.nationalities[_this.nationality.index]; nat.name = res.data[0].name; _this.modalService.close('nationalityModal'); _this.dialogService.successMessage(res.message); _this.setDefaultNationality(); }); } else { // add this.nationalityApi.save(body).subscribe(function (res) { _this.nationalities.push(res.data[0]); _this.modalService.close('nationalityModal'); _this.dialogService.successMessage(res.message); _this.setDefaultNationality(); }); } }; NationalitiesComponent.prototype.loadAllNationalities = function () { var _this = this; this.nationalityApi.nationalities(1, 10000).subscribe(function (res) { _this.nationalities = res.data; }); }; NationalitiesComponent.prototype.deleteNationalityClick = function (i, nat) { var _this = this; this.dialogService.showDeleteItem(function () { _this.nationalityApi.delete(nat._id).subscribe(function (res) { _this.nationalities.splice(i, 1); _this.dialogService.successMessage(); }); }); }; NationalitiesComponent.prototype.loadNationalitiesCounters = function () { var _this = this; this.nationalityApi.statistics().subscribe(function (res) { _this.nationalitiesCounters = res.data[0]; }); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__["EditImageComponent"]) ], NationalitiesComponent.prototype, "editImageComponent", void 0); NationalitiesComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-nationalities', template: __webpack_require__(/*! ./nationalities.component.html */ "./src/ui/admin/nationalities/nationalities.component.html"), styles: [__webpack_require__(/*! ./nationalities.component.css */ "./src/ui/admin/nationalities/nationalities.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_dialog_service__WEBPACK_IMPORTED_MODULE_2__["DialogService"], _service_modal_service__WEBPACK_IMPORTED_MODULE_3__["ModalService"], _data_api_nationality_api__WEBPACK_IMPORTED_MODULE_4__["NationalityApi"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__["PageHeaderInfoService"]]) ], NationalitiesComponent); return NationalitiesComponent; }()); /***/ }), /***/ "./src/ui/admin/profile/profile.component.css": /*!****************************************************!*\ !*** ./src/ui/admin/profile/profile.component.css ***! \****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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== */" /***/ }), /***/ "./src/ui/admin/profile/profile.component.html": /*!*****************************************************!*\ !*** ./src/ui/admin/profile/profile.component.html ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/profile/profile.component.ts": /*!***************************************************!*\ !*** ./src/ui/admin/profile/profile.component.ts ***! \***************************************************/ /*! exports provided: ProfileComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ProfileComponent", function() { return ProfileComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_admin_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/admin-api */ "./src/data/api/admin-api.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _service_admin_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../service/admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); var ProfileComponent = /** @class */ (function () { function ProfileComponent(adminApi, dialogService, headerInfo, adminService) { this.adminApi = adminApi; this.dialogService = dialogService; this.headerInfo = headerInfo; this.adminService = adminService; this.placeholderImage = 'assets/images/ic_user_placeholder.png'; headerInfo.setData('fa-user', 'app.edit_profile', ''); } ProfileComponent.prototype.ngOnInit = function () { this.admin = this.adminService.getAdmin(); this.setDefaultPassword(); }; ProfileComponent.prototype.changePassword = function (passwordForm) { var _this = this; this.password.submitForm = true; if (!passwordForm.valid || this.password.newPassword !== this.password.retypedPassword) { return; } var body = {}; body.oldPassword = this.password.oldPassword; body.newPassword = this.password.newPassword; body.confirmNewPassword = this.password.retypedPassword; this.adminApi.changePassword(body) .subscribe(function (res) { _this.dialogService.successMessage(res.message); }); }; ProfileComponent.prototype.setDefaultPassword = function () { this.password = { adminId: this.admin._id, newPassword: '', oldPassword: '', retypedPassword: '', submitForm: false }; }; ProfileComponent.prototype.getAdminImage = function () { return _environments_environment__WEBPACK_IMPORTED_MODULE_6__["environment"].baseLink.concat(this.admin.avatar); }; ProfileComponent.prototype.changeProfileImageClick = function () { var _this = this; this.editImageComponent.setImage(this.admin.avatar, this.admin._id, 'admin', function (link) { _this.admin.avatar = link; }); this.editImageComponent.open(); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_7__["EditImageComponent"]) ], ProfileComponent.prototype, "editImageComponent", void 0); ProfileComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-profile', template: __webpack_require__(/*! ./profile.component.html */ "./src/ui/admin/profile/profile.component.html"), styles: [__webpack_require__(/*! ./profile.component.css */ "./src/ui/admin/profile/profile.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_admin_api__WEBPACK_IMPORTED_MODULE_2__["AdminApi"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_3__["DialogService"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_4__["PageHeaderInfoService"], _service_admin_service__WEBPACK_IMPORTED_MODULE_5__["AdminService"]]) ], ProfileComponent); return ProfileComponent; }()); /***/ }), /***/ "./src/ui/admin/specializations/specializations.component.css": /*!********************************************************************!*\ !*** ./src/ui/admin/specializations/specializations.component.css ***! \********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vc3BlY2lhbGl6YXRpb25zL3NwZWNpYWxpemF0aW9ucy5jb21wb25lbnQuY3NzIn0= */" /***/ }), /***/ "./src/ui/admin/specializations/specializations.component.html": /*!*********************************************************************!*\ !*** ./src/ui/admin/specializations/specializations.component.html ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/specializations/specializations.component.ts": /*!*******************************************************************!*\ !*** ./src/ui/admin/specializations/specializations.component.ts ***! \*******************************************************************/ /*! exports provided: SpecializationsComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecializationsComponent", function() { return SpecializationsComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_specialization_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/specialization-api */ "./src/data/api/specialization-api.ts"); /* harmony import */ var _service_modal_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/modal-service */ "./src/service/modal-service.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../component/edit-image/edit-image.component */ "./src/component/edit-image/edit-image.component.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); var SpecializationsComponent = /** @class */ (function () { function SpecializationsComponent(specializationApi, modalService, dialogService, headerInfoService) { this.specializationApi = specializationApi; this.modalService = modalService; this.dialogService = dialogService; this.headerInfoService = headerInfoService; this.specializations = []; this.showCounters = false; headerInfoService.setData('fa-thermometer-half', 'app.specializations', ''); } SpecializationsComponent.prototype.ngOnInit = function () { this.setDefaultSpecialization(); this.loadSpecializations(); this.loadSpecializationsCounters(); }; SpecializationsComponent.prototype.setDefaultSpecialization = function () { this.specialization = { id: '', index: -1, nameAr: '', nameEn: '', submitForm: false }; }; SpecializationsComponent.prototype.loadSpecializations = function () { var _this = this; this.specializationApi.specializations(1, 10000).subscribe(function (res) { _this.specializations = res.data; }); }; SpecializationsComponent.prototype.getSpecializationImage = function (avatar) { return _environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].baseLink.concat(avatar); }; SpecializationsComponent.prototype.changeSpecializationActiveClick = function (i, spec) { var _this = this; // check if specialization is activated or not. if (spec.isActive) { // deactivate this.specializationApi.deActivate(spec._id).subscribe(function (res) { spec.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate. this.specializationApi.activate(spec._id).subscribe(function (res) { spec.isActive = true; _this.dialogService.successMessage(res.message); }); } }; SpecializationsComponent.prototype.editSpecializationClick = function (i, spec) { this.specialization = { index: i, id: spec._id, nameEn: spec.name.en, nameAr: spec.name.ar, submitForm: false }; this.modalService.open('specMdoal'); }; SpecializationsComponent.prototype.saveSpecializationClick = function (form) { var _this = this; this.specialization.submitForm = true; if (!form.valid) { return; } // check if add or edit specialization. var body = {}; body.name = {}; body.name.ar = this.specialization.nameAr; body.name.en = this.specialization.nameEn; if (this.specialization.index > -1) { // edit. this.specializationApi.update(this.specialization.id, body) .subscribe(function (res) { _this.modalService.close('specMdoal'); var spec = _this.specializations[_this.specialization.index]; spec.name = res.data[0].name; _this.dialogService.successMessage(res.message); _this.setDefaultSpecialization(); }); } else { // add this.specializationApi.save(body) .subscribe(function (res) { _this.modalService.close('specMdoal'); _this.specializations.unshift(res.data[0]); _this.dialogService.successMessage(res.message); _this.setDefaultSpecialization(); }); } }; SpecializationsComponent.prototype.addSpecializationClick = function () { this.setDefaultSpecialization(); this.modalService.open('specMdoal'); }; SpecializationsComponent.prototype.editImageClick = function (i, spec) { this.editImageComponent.setImage(spec.avatar, spec._id, 'speciality', function (newLink) { spec.avatar = newLink; }); this.editImageComponent.open(); }; SpecializationsComponent.prototype.deleteSpecializationClick = function (i, spec) { var _this = this; this.dialogService.showDeleteItem(function () { _this.specializationApi.delete(spec._id).subscribe(function (res) { _this.specializations.splice(i, 1); _this.dialogService.successMessage(res.message); }); }); }; SpecializationsComponent.prototype.loadSpecializationsCounters = function () { var _this = this; this.specializationApi.statistics().subscribe(function (res) { _this.specializationsCounters = res.data[0]; }); }; tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ViewChild"])('editImageComponent'), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _component_edit_image_edit_image_component__WEBPACK_IMPORTED_MODULE_6__["EditImageComponent"]) ], SpecializationsComponent.prototype, "editImageComponent", void 0); SpecializationsComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-specializations', template: __webpack_require__(/*! ./specializations.component.html */ "./src/ui/admin/specializations/specializations.component.html"), styles: [__webpack_require__(/*! ./specializations.component.css */ "./src/ui/admin/specializations/specializations.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_specialization_api__WEBPACK_IMPORTED_MODULE_2__["SpecializationApi"], _service_modal_service__WEBPACK_IMPORTED_MODULE_3__["ModalService"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_5__["DialogService"], _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_7__["PageHeaderInfoService"]]) ], SpecializationsComponent); return SpecializationsComponent; }()); /***/ }), /***/ "./src/ui/admin/users/users.component.css": /*!************************************************!*\ !*** ./src/ui/admin/users/users.component.css ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvYWRtaW4vdXNlcnMvdXNlcnMuY29tcG9uZW50LmNzcyJ9 */" /***/ }), /***/ "./src/ui/admin/users/users.component.html": /*!*************************************************!*\ !*** ./src/ui/admin/users/users.component.html ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/admin/users/users.component.ts": /*!***********************************************!*\ !*** ./src/ui/admin/users/users.component.ts ***! \***********************************************/ /*! exports provided: UsersComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UsersComponent", function() { return UsersComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_user_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/user-api */ "./src/data/api/user-api.ts"); /* harmony import */ var _service_page_header_info_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/page-header-info-service */ "./src/service/page-header-info-service.ts"); /* harmony import */ var _service_dialog_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../service/dialog-service */ "./src/service/dialog-service.ts"); /* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../environments/environment */ "./src/environments/environment.ts"); var UsersComponent = /** @class */ (function () { function UsersComponent(headerService, userApi, dialogService) { this.headerService = headerService; this.userApi = userApi; this.dialogService = dialogService; this.users = []; this.showCounters = false; headerService.setData('fa-male', 'app.users', ''); } UsersComponent.prototype.ngOnInit = function () { this.loadUsers(); this.loadUsersCounters(); }; UsersComponent.prototype.loadUsers = function () { var _this = this; this.userApi.users(1, 10000000).subscribe(function (res) { _this.users = res.data; }); }; UsersComponent.prototype.loadUsersCounters = function () { var _this = this; this.userApi.statistics().subscribe(function (res) { _this.usersCounters = res.data[0]; }); }; UsersComponent.prototype.changeUserActiveClick = function (i, user) { var _this = this; // check if user is active or not, if (user.isActive) { // de activate this.userApi.deactivate(user._id).subscribe(function (res) { user.isActive = false; _this.dialogService.successMessage(res.message); }); } else { // activate. this.userApi.activate(user._id).subscribe(function (res) { user.isActive = true; _this.dialogService.successMessage(res.message); }); } }; UsersComponent.prototype.getUserImage = function (avatar) { return _environments_environment__WEBPACK_IMPORTED_MODULE_5__["environment"].baseLink.concat(avatar); }; UsersComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-users', template: __webpack_require__(/*! ./users.component.html */ "./src/ui/admin/users/users.component.html"), styles: [__webpack_require__(/*! ./users.component.css */ "./src/ui/admin/users/users.component.css")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_service_page_header_info_service__WEBPACK_IMPORTED_MODULE_3__["PageHeaderInfoService"], _data_api_user_api__WEBPACK_IMPORTED_MODULE_2__["UserApi"], _service_dialog_service__WEBPACK_IMPORTED_MODULE_4__["DialogService"]]) ], UsersComponent); return UsersComponent; }()); /***/ }), /***/ "./src/ui/guest/login/login.component.html": /*!*************************************************!*\ !*** ./src/ui/guest/login/login.component.html ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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" /***/ }), /***/ "./src/ui/guest/login/login.component.scss": /*!*************************************************!*\ !*** ./src/ui/guest/login/login.component.scss ***! \*************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvdWkvZ3Vlc3QvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MifQ== */" /***/ }), /***/ "./src/ui/guest/login/login.component.ts": /*!***********************************************!*\ !*** ./src/ui/guest/login/login.component.ts ***! \***********************************************/ /*! exports provided: LoginComponent */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginComponent", function() { return LoginComponent; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _data_api_login_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../data/api/login-api */ "./src/data/api/login-api.ts"); /* harmony import */ var _service_admin_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../service/admin-service */ "./src/service/admin-service.ts"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); var LoginComponent = /** @class */ (function () { function LoginComponent(loginApi, adminService, router) { this.loginApi = loginApi; this.adminService = adminService; this.router = router; this.setDefaultData(); } LoginComponent.prototype.ngOnInit = function () { var modal = $('div.modal-backdrop.fade.show'); if (modal) { modal.hide(); } }; LoginComponent.prototype.loginClick = function (form) { var _this = this; this.admin.submit = true; if (!form.valid) { return; } // call api. this.loginApi.login(this.admin.email, this.admin.password) .subscribe(function (res) { var admin = res.data[0]; admin.token = res.token; admin.refreshToken = res.refreshToken; _this.adminService.setAdmin(admin, true); _this.router.navigateByUrl(''); // navigate to home. }); }; LoginComponent.prototype.setDefaultData = function () { this.admin = { email: '', password: '', submit: false }; }; LoginComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ selector: 'app-login', template: __webpack_require__(/*! ./login.component.html */ "./src/ui/guest/login/login.component.html"), styles: [__webpack_require__(/*! ./login.component.scss */ "./src/ui/guest/login/login.component.scss")] }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_data_api_login_api__WEBPACK_IMPORTED_MODULE_2__["LoginApi"], _service_admin_service__WEBPACK_IMPORTED_MODULE_3__["AdminService"], _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"]]) ], LoginComponent); return LoginComponent; }()); /***/ }), /***/ 0: /*!***************************!*\ !*** multi ./src/main.ts ***! \***************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(/*! /home/ahmed/Desktop/Projects/Angular/business/clinic-frontend/src/main.ts */"./src/main.ts"); /***/ }) },[[0,"runtime","vendor"]]]); //# sourceMappingURL=main.js.mapSave