{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/component/admin/admin.component.css","webpack:///./src/app/component/admin/admin.component.html","webpack:///./src/app/component/admin/admin.component.ts","webpack:///./src/app/component/admin/administration/administration.component.css","webpack:///./src/app/component/admin/administration/administration.component.html","webpack:///./src/app/component/admin/administration/administration.component.ts","webpack:///./src/app/component/admin/administration/settings/settings.component.css","webpack:///./src/app/component/admin/administration/settings/settings.component.html","webpack:///./src/app/component/admin/administration/settings/settings.component.ts","webpack:///./src/app/component/admin/employees/employees.component.css","webpack:///./src/app/component/admin/employees/employees.component.html","webpack:///./src/app/component/admin/employees/employees.component.ts","webpack:///./src/app/component/admin/errand/errand.component.css","webpack:///./src/app/component/admin/errand/errand.component.html","webpack:///./src/app/component/admin/errand/errand.component.ts","webpack:///./src/app/component/admin/nav-menu/nav-menu.component.css","webpack:///./src/app/component/admin/nav-menu/nav-menu.component.html","webpack:///./src/app/component/admin/nav-menu/nav-menu.component.ts","webpack:///./src/app/component/admin/objectorganizations/objectorganizations.component.css","webpack:///./src/app/component/admin/objectorganizations/objectorganizations.component.html","webpack:///./src/app/component/admin/objectorganizations/objectorganizations.component.ts","webpack:///./src/app/component/admin/org-settings/org-settings.component.css","webpack:///./src/app/component/admin/org-settings/org-settings.component.html","webpack:///./src/app/component/admin/org-settings/org-settings.component.ts","webpack:///./src/app/component/admin/organizations/organizations.component.css","webpack:///./src/app/component/admin/organizations/organizations.component.html","webpack:///./src/app/component/admin/organizations/organizations.component.ts","webpack:///./src/app/component/admin/reports/organization/report-organization.component.css","webpack:///./src/app/component/admin/reports/organization/report-organization.component.html","webpack:///./src/app/component/admin/reports/organization/report-organization.component.ts","webpack:///./src/app/component/admin/reports/reports.component.css","webpack:///./src/app/component/admin/reports/reports.component.html","webpack:///./src/app/component/admin/reports/reports.component.ts","webpack:///./src/app/component/admin/reports/timesheet/timesheet.component.css","webpack:///./src/app/component/admin/reports/timesheet/timesheet.component.html","webpack:///./src/app/component/admin/reports/timesheet/timesheet.component.ts","webpack:///./src/app/component/admin/reports/workday/workday.component.css","webpack:///./src/app/component/admin/reports/workday/workday.component.html","webpack:///./src/app/component/admin/reports/workday/workday.component.ts","webpack:///./src/app/component/admin/reports/workday_one/workday_one.component.css","webpack:///./src/app/component/admin/reports/workday_one/workday_one.component.html","webpack:///./src/app/component/admin/reports/workday_one/workday_one.component.ts","webpack:///./src/app/component/footer/footer.component.css","webpack:///./src/app/component/footer/footer.component.html","webpack:///./src/app/component/footer/footer.component.ts","webpack:///./src/app/component/forbidden/forbidden.component.css","webpack:///./src/app/component/forbidden/forbidden.component.html","webpack:///./src/app/component/forbidden/forbidden.component.ts","webpack:///./src/app/component/login/login.component.css","webpack:///./src/app/component/login/login.component.html","webpack:///./src/app/component/login/login.component.ts","webpack:///./src/app/component/staff/staff.component.css","webpack:///./src/app/component/staff/staff.component.html","webpack:///./src/app/component/staff/staff.component.ts","webpack:///./src/app/constants/app.url.constants.ts","webpack:///./src/app/enums/action-token.enum.ts","webpack:///./src/app/enums/api-status.enum.ts","webpack:///./src/app/enums/settings-type.enum.ts","webpack:///./src/app/guards/employee.guard.ts","webpack:///./src/app/guards/errand.guard.ts","webpack:///./src/app/guards/organizations.guard.ts","webpack:///./src/app/interceptors/jwt-http.interceptor.ts","webpack:///./src/app/locales/ru.locale.ts","webpack:///./src/app/models/action-token.model.ts","webpack:///./src/app/models/administrator.model.ts","webpack:///./src/app/models/chart-work.model.ts","webpack:///./src/app/models/employee.model.ts","webpack:///./src/app/models/employeeobject.model.ts","webpack:///./src/app/models/errand-employee.model.ts","webpack:///./src/app/models/errand.model.ts","webpack:///./src/app/models/manager-request.model.ts","webpack:///./src/app/models/managers-view.model.ts","webpack:///./src/app/models/objectorganization.model.ts","webpack:///./src/app/models/organization.model.ts","webpack:///./src/app/models/organizationsettings.model.ts","webpack:///./src/app/models/role-update.model.ts","webpack:///./src/app/models/setting.model.ts","webpack:///./src/app/models/table-params.model.ts","webpack:///./src/app/models/timesheet-request.model.ts","webpack:///./src/app/models/workday-request.model.ts","webpack:///./src/app/pipes/month-format.pipe.ts","webpack:///./src/app/services/action-token.service.ts","webpack:///./src/app/services/administrator.service.ts","webpack:///./src/app/services/app.service.ts","webpack:///./src/app/services/authentication.service.ts","webpack:///./src/app/services/authorization-check.service.ts","webpack:///./src/app/services/chart-work.service.ts","webpack:///./src/app/services/employee.service.ts","webpack:///./src/app/services/employeeobjects.service.ts","webpack:///./src/app/services/errand-employee.service.ts","webpack:///./src/app/services/errand.service.ts","webpack:///./src/app/services/manager.service.ts","webpack:///./src/app/services/notification.service.ts","webpack:///./src/app/services/objectorganization.service.ts","webpack:///./src/app/services/organization-settings.service.ts","webpack:///./src/app/services/organization.service.ts","webpack:///./src/app/services/report.service.ts","webpack:///./src/app/services/role.service.ts","webpack:///./src/app/services/setting.service.ts","webpack:///./src/app/services/signal-r.service.ts","webpack:///./src/app/services/time-zone.service.ts","webpack:///./src/app/utils/encryption.util.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)","webpack:///crypto (ignored)?1424"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"@media (max-width: 767px) {\\r\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\r\\n .body-content {\\r\\n padding-top: 50px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4RkFBOEY7RUFDOUY7SUFDRSxrQkFBa0I7R0FDbkI7Q0FDRiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgLyogT24gc21hbGwgc2NyZWVucywgdGhlIG5hdiBtZW51IHNwYW5zIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBzY3JlZW4uIExlYXZlIGEgc3BhY2UgZm9yIGl0LiAqL1xyXG4gIC5ib2R5LWNvbnRlbnQge1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QRCodeModule } from 'angular2-qrcode';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { TableModule } from 'primeng/table';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n// Компоненты\r\nimport { AppComponent } from './app.component';\r\nimport { AdminComponent } from './component/admin/admin.component';\r\nimport { AdministrationComponent } from './component/admin/administration/administration.component';\r\nimport { SettingsComponent } from './component/admin/administration/settings/settings.component';\r\nimport { EmployeesComponent } from './component/admin/employees/employees.component';\r\nimport { ErrandComponent } from './component/admin/errand/errand.component';\r\nimport { NavMenuComponent } from './component/admin/nav-menu/nav-menu.component';\r\nimport { ReportsComponent } from './component/admin/reports/reports.component';\r\nimport { TimesheetComponent } from './component/admin/reports/timesheet/timesheet.component';\r\nimport { WorkdayComponent } from './component/admin/reports/workday/workday.component';\r\nimport { WorkdayOneComponent } from './component/admin/reports/workday_one/workday_one.component';\r\nimport { FooterComponent } from './component/footer/footer.component';\r\nimport { LoginComponent } from './component/login/login.component';\r\nimport { StaffComponent } from './component/staff/staff.component';\r\nimport { OrganizationsComponent } from './component/admin/organizations/organizations.component';\r\nimport { ObjectOrganizationsComponent } from './component/admin/objectorganizations/objectorganizations.component';\r\nimport { ForbiddenComponent } from './component/forbidden/forbidden.component';\r\nimport { OrgSettingsComponent } from './component/admin/org-settings/org-settings.component';\r\n\r\n// Сервисы\r\nimport { JwtHttpInterceptor } from './interceptors/jwt-http.interceptor';\r\nimport { MonthFormatPipe } from './pipes/month-format.pipe';\r\nimport { ActionTokenService } from './services/action-token.service';\r\nimport { AppService } from './services/app.service';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { AuthorizationCheckService } from './services/authorization-check.service';\r\nimport { EmployeeService } from './services/employee.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { ReportService } from './services/report.service';\r\nimport { SettingService } from './services/setting.service';\r\nimport { SignalRService } from './services/signal-r.service';\r\nimport { TimeZoneService } from './services/time-zone.service';\r\nimport { ManagerService } from './services/manager.service';\r\nimport { OrganizationSettingsService } from './services/organization-settings.service';\r\nimport { OrganizationsGuard } from './guards/organizations.guard';\r\nimport { EmployeeGuard } from './guards/employee.guard';\r\nimport { ErrandGuard } from './guards/errand.guard';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { ReportOrganizationComponent } from './component/admin/reports/organization/report-organization.component';\r\nimport { OrganizationService } from './services/organization.service';\r\nimport { ChartWorkService } from './services/chart-work.service';\r\n// Определение маршрутов\r\nconst appRoutes: Routes = [\r\n { path: '', component: StaffComponent, pathMatch: 'full' },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'admin', component: AdminComponent, children: [\r\n { path: '', redirectTo: 'settings', pathMatch: 'full' },\r\n { path: 'settings', component: AdministrationComponent, canActivate: [AuthorizationCheckService, OrganizationsGuard] },\r\n { path: 'organizations', component: OrganizationsComponent, canActivate: [AuthorizationCheckService, OrganizationsGuard] },\r\n { path: 'objectorganizations', component: ObjectOrganizationsComponent, canActivate: [AuthorizationCheckService] },\r\n { path: 'org-settings', component: OrgSettingsComponent, canActivate: [AuthorizationCheckService] },\r\n { path: 'employees', component: EmployeesComponent, canActivate: [AuthorizationCheckService, EmployeeGuard] },\r\n { path: 'errand', component: ErrandComponent, canActivate: [AuthorizationCheckService,ErrandGuard] },\r\n { path: 'reports', component: ReportsComponent, canActivate: [AuthorizationCheckService], children: [\r\n { path: 'timesheet', component: TimesheetComponent },\r\n { path: 'workday', component: WorkdayComponent },\r\n { path: 'workday_one', component: WorkdayOneComponent },\r\n { path: 'organization', component: ReportOrganizationComponent }]\r\n }]\r\n },\r\n { path: 'forbidden', component: ForbiddenComponent }\r\n];\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n LoginComponent,\r\n AdminComponent,\r\n EmployeesComponent,\r\n ErrandComponent,\r\n AdministrationComponent,\r\n ReportsComponent,\r\n StaffComponent,\r\n SettingsComponent,\r\n TimesheetComponent,\r\n WorkdayComponent,\r\n WorkdayOneComponent,\r\n FooterComponent,\r\n OrganizationsComponent,\r\n ObjectOrganizationsComponent,\r\n ForbiddenComponent,\r\n OrgSettingsComponent,\r\n ReportOrganizationComponent\r\n ],\r\n imports: [\r\n QRCodeModule,\r\n DropdownModule,\r\n TableModule,\r\n CalendarModule,\r\n KeyFilterModule,\r\n ButtonModule,\r\n TooltipModule,\r\n AccordionModule,\r\n TableModule,\r\n InputTextModule,\r\n DialogModule,\r\n MessagesModule,\r\n MessageModule,\r\n ConfirmDialogModule,\r\n ToastModule,\r\n TableModule,\r\n FileUploadModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ProgressSpinnerModule,\r\n MultiSelectModule,\r\n RouterModule.forRoot(appRoutes)\r\n ],\r\n providers: [\r\n DatePipe,\r\n AuthorizationCheckService,\r\n AuthenticationService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: JwtHttpInterceptor,\r\n multi: true\r\n },\r\n EmployeeService,\r\n ActionTokenService,\r\n SignalRService,\r\n SettingService,\r\n TimeZoneService,\r\n ReportService,\r\n MessageService,\r\n ConfirmationService,\r\n NotificationService,\r\n MonthFormatPipe,\r\n AppService,\r\n OrganizationsGuard,\r\n EmployeeGuard,\r\n ErrandGuard,\r\n ManagerService,\r\n OrganizationSettingsService,\r\n OrganizationService,\r\n ChartWorkService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \"::ng-deep .ui-toast .ui-toast-message.ui-toast-message-error .ui-toast-icon.pi-times:before {\\r\\n content: \\\"\\\\e90c\\\";\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL2FkbWluLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBaUI7Q0FDbEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvYWRtaW4vYWRtaW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjo6bmctZGVlcCAudWktdG9hc3QgLnVpLXRvYXN0LW1lc3NhZ2UudWktdG9hc3QtbWVzc2FnZS1lcnJvciAudWktdG9hc3QtaWNvbi5waS10aW1lczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.css']\r\n})\r\nexport class AdminComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".div-table {\\r\\n display: table;\\r\\n width: 300px;\\r\\n}\\r\\n\\r\\n.div-table-row {\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.div-table-cell {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n.div-table input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.div-table .cell {\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n\\r\\n.right {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.truncate {\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-confirmdialog {\\r\\n width: unset;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL2FkbWluaXN0cmF0aW9uL2FkbWluaXN0cmF0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFlO0VBQ2YsYUFBYTtDQUNkOztBQUVEO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0UsWUFBWTtDQUNiOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0Usa0JBQWtCO0NBQ25COztBQUVEO0VBQ0UsaUJBQWlCO0VBQ2pCLHdCQUF3QjtDQUN6Qjs7QUFFRDtFQUNFLGFBQWE7Q0FDZCIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9hZG1pbi9hZG1pbmlzdHJhdGlvbi9hZG1pbmlzdHJhdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRpdi10YWJsZSB7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG59XHJcblxyXG4uZGl2LXRhYmxlLXJvdyB7XHJcbiAgZGlzcGxheTogdGFibGUtcm93O1xyXG59XHJcblxyXG4uZGl2LXRhYmxlLWNlbGwge1xyXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUgaW5wdXQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZGl2LXRhYmxlIC5jZWxsIHtcclxuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4ucmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4udHJ1bmNhdGUge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudWktY29uZmlybWRpYWxvZyB7XHJcbiAgd2lkdGg6IHVuc2V0O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Логин\\r\\n Пароль\\r\\n Действие\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{admin.userName}}
\\r\\n ********\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Логин\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Пароль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Подтвердите пароль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators, ValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { Table } from 'primeng/table';\r\nimport { ApiStatusEnum } from 'src/app/enums/api-status.enum';\r\nimport { TableParams } from 'src/app/models/table-params.model';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { Administrator } from '../../../models/administrator.model';\r\nimport { ApiResponse } from '../../../models/api-response.model';\r\nimport { AdministratorService } from '../../../services/administrator.service';\r\n\r\n@Component({\r\n selector: 'app-administration',\r\n templateUrl: './administration.component.html',\r\n styleUrls: ['./administration.component.css'],\r\n providers: [AdministratorService]\r\n})\r\nexport class AdministrationComponent implements OnInit {\r\n\r\n admin: Administrator = new Administrator();\r\n admins: Administrator[];\r\n adminForm: FormGroup;\r\n adminsCount = 0;\r\n\r\n filterValue='';\r\n\r\n createMode: boolean = false;\r\n\r\n public loadingTable = true;\r\n public rows = 10;\r\n public initTableParams: TableParams = null;\r\n public lastAdminParams: TableParams = new TableParams();\r\n\r\n @ViewChild(Table) adminTable: Table;\r\n\r\n backgroundImageUploadInProgess = false; // флаг определения выполнения процесса загрузки фонового изображения\r\n\r\n constructor(private administratorService: AdministratorService,\r\n private notificationService: NotificationService,\r\n private authentificationService: AuthenticationService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router) {\r\n this.adminForm = new FormGroup({\r\n userName: new FormControl(this.admin.userName, [\r\n Validators.required\r\n ]),\r\n password: new FormControl(this.admin.password, [\r\n Validators.required\r\n ]),\r\n confirmPassword: new FormControl(this.admin.confirmPassword)\r\n });\r\n this.adminForm.setValidators(this.passwordMatchValidator());\r\n }\r\n\r\n passwordMatchValidator(): ValidatorFn {\r\n return (formGroup: FormGroup): ValidationErrors => {\r\n let pass = formGroup.get('password').value;\r\n let confirmPass = formGroup.get('confirmPassword').value;\r\n if (pass !== confirmPass) {\r\n formGroup.controls['confirmPassword'].setErrors({ notMatch: true });\r\n } else {\r\n formGroup.controls['confirmPassword'].setErrors(null);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.activatedRoute.snapshot.queryParams) {\r\n var temp = new TableParams(this.activatedRoute.snapshot.queryParams);\r\n\r\n if (temp instanceof TableParams) {\r\n this.initTableParams = temp;\r\n this.filterValue = this.initTableParams.globalFilter;\r\n this.rows = temp.rows;\r\n\r\n this.adminTable.first = temp.first;\r\n this.adminTable.sortField = temp.sortField;\r\n this.adminTable.sortOrder = temp.sortOrder;\r\n }\r\n }\r\n }\r\n\r\n onChangeFilter(event){\r\n this.adminTable.filterGlobal(event, 'contains');\r\n }\r\n\r\n loadAdmins(params?) {\r\n if (this.initTableParams){\r\n params = this.initTableParams;\r\n this.initTableParams = null;\r\n }\r\n\r\n let tableParams = new TableParams(params, this.filterValue);\r\n if (params) {\r\n this.loadingTable = true;\r\n this.lastAdminParams = tableParams;\r\n } else {\r\n tableParams = this.lastAdminParams;\r\n }\r\n\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: tableParams\r\n };\r\n\r\n this.router.navigate([], navigationExtras);\r\n\r\n this.administratorService.getAdministratorTable(tableParams).subscribe(\r\n result => {\r\n this.admins = result.data;\r\n this.adminsCount = result.count;\r\n\r\n this.loadingTable = false;\r\n }, error => {\r\n this.loadingTable = false;\r\n }\r\n );\r\n }\r\n\r\n save() {\r\n if (!this.adminForm.controls['userName'].valid) {\r\n this.notificationService.Error(\"Заполните логин\");\r\n return;\r\n }\r\n\r\n if (!this.adminForm.controls['password'].valid) {\r\n this.notificationService.Error(\"Заполните пароль\");\r\n return;\r\n }\r\n\r\n if (this.adminForm.controls['confirmPassword'].hasError('notMatch')) {\r\n this.notificationService.Error(\"Пароли не совпадают\");\r\n return;\r\n }\r\n\r\n this.admin.userName = this.adminForm.controls['userName'].value;\r\n this.admin.password = this.adminForm.controls['password'].value;\r\n\r\n if (this.admin.id == null) {\r\n this.administratorService.createAdministrator(this.admin).subscribe((data) => {\r\n let error = data as ApiResponse;\r\n this.notificationService.FromApiResponse(error);\r\n\r\n if (error.statusType == ApiStatusEnum.Success) {\r\n this.loadAdmins();\r\n this.cancel();\r\n }\r\n });\r\n }\r\n }\r\n\r\n cancel() {\r\n this.admin = new Administrator();\r\n this.createMode = false;\r\n this.adminForm.reset();\r\n }\r\n\r\n add() {\r\n this.cancel();\r\n this.createMode = true;\r\n }\r\n\r\n removeAdmin(admin: Administrator) {\r\n this.notificationService.Confirm(\r\n 'Удаление администратора',\r\n 'Вы действительно хотите удалить администратора ' + admin.userName + '?',\r\n async () => this.administratorService.deleteAdministrator(admin.id).subscribe((data) => {\r\n if (admin.id == this.authentificationService.userId) {\r\n this.authentificationService.logout();\r\n this.router.navigate(['/login']);\r\n } else {\r\n this.loadAdmins();\r\n }\r\n\r\n this.notificationService.FromApiResponse(data);\r\n }));\r\n }\r\n}\r\n","module.exports = \".settings-input {\\r\\n display: inline-block;\\r\\n width: inherit;\\r\\n}\\r\\n\\r\\n.ui-button {\\r\\n max-width: 210px;\\r\\n}\\r\\n\\r\\n.background-preview-image {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.background-full-image-wrapper {\\r\\n height: 100%;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n.background-full-image {\\r\\n width: 75vw;\\r\\n height: auto;\\r\\n -o-object-fit: contain;\\r\\n object-fit: contain;\\r\\n}\\r\\n\\r\\n.background-preview-image-wrapper {\\r\\n max-width: 250px;\\r\\n display: inline-block;\\r\\n background: black;\\r\\n padding: 0;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.background-preview-image-wrapper .background-edit-buttons {\\r\\n position: absolute;\\r\\n display: flex;\\r\\n padding: 5px 5px 5px 5px;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.background-edit-buttons > .edit-button {\\r\\n margin-right: 3px;\\r\\n}\\r\\n\\r\\n::ng-deep .background-preview-image-wrapper .background-edit-buttons p-fileUpload {\\r\\n height: 33px;\\r\\n}\\r\\n\\r\\n::ng-deep .background-preview-image-wrapper .ui-button.ui-fileupload-choose {\\r\\n width: 33px;\\r\\n height: inherit !important;\\r\\n}\\r\\n\\r\\n::ng-deep .background-preview-image-wrapper .ui-fileupload-choose .pi-plus::before {\\r\\n content: \\\"\\\\e942\\\";\\r\\n}\\r\\n\\r\\n.background-preview-image-wrapper img {\\r\\n display: block;\\r\\n transition: all 0.5s linear;\\r\\n}\\r\\n\\r\\n.background-preview-image-wrapper:hover img {\\r\\n opacity: 0.7;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL2FkbWluaXN0cmF0aW9uL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxzQkFBc0I7RUFDdEIsZUFBZTtDQUNoQjs7QUFFRDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLFlBQVk7RUFDWixhQUFhO0NBQ2Q7O0FBRUQ7SUFDSSxhQUFhO0lBQ2IsWUFBWTtDQUNmOztBQUVEO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBb0I7S0FBcEIsb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0UsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLG1CQUFtQjtFQUNuQixjQUFjO0VBQ2QseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixTQUFTO0NBQ1Y7O0FBRUQ7SUFDSSxrQkFBa0I7Q0FDckI7O0FBRUQ7RUFDRSxhQUFhO0NBQ2Q7O0FBRUQ7RUFDRSxZQUFZO0VBQ1osMkJBQTJCO0NBQzVCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsZUFBZTtFQUtmLDRCQUE0QjtDQUM3Qjs7QUFFRDtFQUNFLGFBQWE7Q0FDZCIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9hZG1pbi9hZG1pbmlzdHJhdGlvbi9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNldHRpbmdzLWlucHV0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi51aS1idXR0b24ge1xyXG4gIG1heC13aWR0aDogMjEwcHg7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLXByZXZpZXctaW1hZ2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLmJhY2tncm91bmQtZnVsbC1pbWFnZS13cmFwcGVyIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC1mdWxsLWltYWdlIHtcclxuICB3aWR0aDogNzV2dztcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG5cclxuLmJhY2tncm91bmQtcHJldmlldy1pbWFnZS13cmFwcGVyIHtcclxuICBtYXgtd2lkdGg6IDI1MHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kOiBibGFjaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJhY2tncm91bmQtcHJldmlldy1pbWFnZS13cmFwcGVyIC5iYWNrZ3JvdW5kLWVkaXQtYnV0dG9ucyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcGFkZGluZzogNXB4IDVweCA1cHggNXB4O1xyXG4gIGJvdHRvbTogMDtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLmJhY2tncm91bmQtZWRpdC1idXR0b25zID4gLmVkaXQtYnV0dG9uIHtcclxuICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLmJhY2tncm91bmQtcHJldmlldy1pbWFnZS13cmFwcGVyIC5iYWNrZ3JvdW5kLWVkaXQtYnV0dG9ucyBwLWZpbGVVcGxvYWQge1xyXG4gIGhlaWdodDogMzNweDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5iYWNrZ3JvdW5kLXByZXZpZXctaW1hZ2Utd3JhcHBlciAudWktYnV0dG9uLnVpLWZpbGV1cGxvYWQtY2hvb3NlIHtcclxuICB3aWR0aDogMzNweDtcclxuICBoZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5iYWNrZ3JvdW5kLXByZXZpZXctaW1hZ2Utd3JhcHBlciAudWktZmlsZXVwbG9hZC1jaG9vc2UgLnBpLXBsdXM6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5NDJcIjtcclxufVxyXG5cclxuLmJhY2tncm91bmQtcHJldmlldy1pbWFnZS13cmFwcGVyIGltZyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBsaW5lYXI7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBsaW5lYXI7XHJcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjVzIGxpbmVhcjtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBsaW5lYXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgbGluZWFyO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC1wcmV2aWV3LWltYWdlLXdyYXBwZXI6aG92ZXIgaW1nIHtcclxuICBvcGFjaXR5OiAwLjc7XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n {{ getSettingsDescription(settungsType.ActionTokenDuration) }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n {{ getSettingsDescription(settungsType.Background) }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { SettingsTypeEnum } from 'src/app/enums/settings-type.enum';\r\nimport { Setting, Settings } from 'src/app/models/setting.model';\r\nimport { TimeZone } from 'src/app/models/time-zone.model';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { SettingService } from 'src/app/services/setting.service';\r\nimport { TimeZoneService } from 'src/app/services/time-zone.service';\r\nimport { ApiStatusEnum } from '../../../../enums/api-status.enum';\r\nimport { ApiResponse } from '../../../../models/api-response.model';\r\nimport { trigger, transition, style, animate, state } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.css']\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n settungsType = SettingsTypeEnum;\r\n settings: Array;\r\n timeZones: any;\r\n selectedTimeZone: TimeZone;\r\n submitClick = false;\r\n\r\n backgroundImageFullPath: string; // путь к картинке фонового изображения\r\n showFullBackgroundImageModal = false; // флаг отображения модального окна с фоновой картинкой\r\n showPreviewButtons = false; // флаг отображения кнопок на превьшке фоновой картинки\r\n\r\n settings_form: FormGroup;\r\n\r\n constructor(private settingService: SettingService,\r\n private timeZoneService: TimeZoneService,\r\n private notificationService: NotificationService) {\r\n\r\n this.settings_form = new FormGroup({\r\n actionTokenDuration: new FormControl('', [Validators.required,\r\n Validators.pattern(\"^[0-9]*$\"),\r\n Validators.min(1),\r\n Validators.minLength(1),\r\n Validators.maxLength(5)]),\r\n });\r\n }\r\n\r\n async ngOnInit() {\r\n this.timeZones = await this.timeZoneService.getTimeZones();\r\n\r\n this.loadSettings();\r\n }\r\n\r\n loadSettings() {\r\n this.settingService.getSettings().subscribe((data: Settings) => {\r\n this.settings = data.settings;\r\n \r\n this.settings_form.setValue({\r\n actionTokenDuration: this.settings.find(x=> x.type === SettingsTypeEnum.ActionTokenDuration).value\r\n });\r\n\r\n var timezone = this.settings.find(x => x.type == SettingsTypeEnum.TimeZone);\r\n if (timezone){\r\n this.selectedTimeZone = this.timeZones.find(x => x.id === timezone.value);\r\n }\r\n\r\n this.backgroundImageFullPath = this.settings.find(x => x.type === SettingsTypeEnum.Background).value;\r\n });\r\n }\r\n\r\n saveSettings() {\r\n if (this.settings_form.valid) {\r\n this.submitClick = true;\r\n\r\n var duration = this.settings.find(x => x.type == SettingsTypeEnum.ActionTokenDuration);\r\n if (duration) {\r\n duration.value = this.settings_form.controls['actionTokenDuration'].value;\r\n }\r\n\r\n var timezone = this.settings.find(x => x.type == SettingsTypeEnum.TimeZone);\r\n if (timezone) {\r\n timezone.value = this.selectedTimeZone.id;\r\n }\r\n\r\n var backgroundImage = this.settings.find(x => x.type == SettingsTypeEnum.Background);\r\n if (backgroundImage) {\r\n backgroundImage.value = this.backgroundImageFullPath;\r\n }\r\n\r\n this.settingService.updateSettings(new Settings(this.settings)).subscribe((data) => {\r\n this.submitClick = false;\r\n\r\n this.notificationService.FromApiResponse(data);\r\n });\r\n }\r\n }\r\n\r\n getSettingsDescription(type : SettingsTypeEnum){\r\n switch(type){\r\n case SettingsTypeEnum.ActionTokenDuration: {\r\n return \"Время жизни QR-кода, сек\";\r\n }\r\n case SettingsTypeEnum.TimeZone: {\r\n return \"Часовой пояс\";\r\n }\r\n case SettingsTypeEnum.Background: {\r\n return \"Фоновое изображение страницы сотрудника\";\r\n }\r\n }\r\n }\r\n\r\n // обработчик завершения загрузки фонового изображения\r\n onBackgroundImageUploadComplete(event) {\r\n const response = event.originalEvent.body as ApiResponse;\r\n if (response.statusType === ApiStatusEnum.Success) {\r\n this.backgroundImageFullPath = response.body;\r\n }\r\n }\r\n\r\n showFullImage() {\r\n this.showFullBackgroundImageModal = true;\r\n }\r\n\r\n removeBackgroundImage() {\r\n this.backgroundImageFullPath = null;\r\n }\r\n\r\n onImageWrapperMouseEnter() {\r\n this.showPreviewButtons = true;\r\n }\r\n\r\n onImageWrapperMouseLeave() {\r\n this.showPreviewButtons = false;\r\n }\r\n\r\n validateFileSize(event: any, maxFileSize: number) {\r\n if (event.files[0].size > maxFileSize) {\r\n this.notificationService.Error(\"Файл слишком большой, максимальный размер - 1 Мб\");\r\n }\r\n }\r\n}\r\n","module.exports = \".button-row > button, .actions > button {\\r\\n margin-right: .5em;\\r\\n}\\r\\n\\r\\n.apply-button {\\r\\n float: right;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.center {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.left {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.right {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n::ng-deep p-table .ui-paginator .ui-dropdown {\\r\\n height: inherit!important;\\r\\n}\\r\\n\\r\\n.div-table {\\r\\n display: table;\\r\\n width: 400px;\\r\\n}\\r\\n\\r\\n.div-table-row {\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.div-table-cell {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\nselect{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.div-table input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.div-table .cell {\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n\\r\\n.truncate {\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-confirmdialog {\\r\\n width: unset;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-fileupload .ui-fileupload-buttonbar p-button {\\r\\n -webkit-appearance: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL2VtcGxveWVlcy9lbXBsb3llZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGFBQWE7RUFDYixpQkFBaUI7Q0FDbEI7O0FBRUQ7SUFDSSxtQkFBbUI7Q0FDdEI7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7RUFDRSwwQkFBMEI7Q0FDM0I7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsYUFBYTtDQUNkOztBQUVEO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUNEO0VBQ0UsWUFBWTtDQUNiOztBQUNEO0VBQ0UsWUFBWTtDQUNiOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0lBQ0ksaUJBQWlCO0lBQ2pCLHdCQUF3QjtDQUMzQjs7QUFFRDtJQUNJLGFBQWE7Q0FDaEI7O0FBRUQ7SUFDSSx5QkFBeUI7Q0FDNUIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvYWRtaW4vZW1wbG95ZWVzL2VtcGxveWVlcy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1yb3cgPiBidXR0b24sIC5hY3Rpb25zID4gYnV0dG9uIHtcclxuICBtYXJnaW4tcmlnaHQ6IC41ZW07XHJcbn1cclxuXHJcbi5hcHBseS1idXR0b24ge1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmxlZnQge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5yaWdodCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCBwLXRhYmxlIC51aS1wYWdpbmF0b3IgLnVpLWRyb3Bkb3duIHtcclxuICBoZWlnaHQ6IGluaGVyaXQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGl2LXRhYmxlIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB3aWR0aDogNDAwcHg7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUtcm93IHtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUtY2VsbCB7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxufVxyXG5zZWxlY3R7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmRpdi10YWJsZSBpbnB1dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUgLmNlbGwge1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi50cnVuY2F0ZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudWktY29uZmlybWRpYWxvZyB7XHJcbiAgICB3aWR0aDogdW5zZXQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudWktZmlsZXVwbG9hZCAudWktZmlsZXVwbG9hZC1idXR0b25iYXIgcC1idXR0b24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
ФИО
\\r\\n
ИНН
\\r\\n
Объект организации
\\r\\n
График работы
\\r\\n
ID смартфона
\\r\\n
Версия приложения
\\r\\n
Действие
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{employee.fio}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{employee.inn}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{item.name}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{employee.objectsName}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{employee.chartWork.name}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{employee.mobileId}}\\r\\n \\r\\n \\r\\n {{employee.mobileVersion}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Выполняется импорт сотрудников.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ФИО\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ИНН\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Объекты организации\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Графки работы\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { FileUpload, FileUploadModule } from 'primeng/primeng';\r\nimport { Table } from 'primeng/table';\r\nimport { ApiStatusEnum } from 'src/app/enums/api-status.enum';\r\nimport { ApiResponse } from 'src/app/models/api-response.model';\r\nimport { TableParams } from 'src/app/models/table-params.model';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { SignalRService } from 'src/app/services/signal-r.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { Employee } from '../../../models/employee.model';\r\nimport { EmployeeService } from '../../../services/employee.service';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { ObjectOrganizationService } from 'src/app/services/objectorganization.service';\r\nimport { ChartWorkService } from 'src/app/services/chart-work.service';\r\nimport { ObjectOrganization } from 'src/app/models/objectorganization.model';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { EmployeeObjectsService } from 'src/app/services/employeeobjects.service';\r\nimport { EmployeeObjectsOrganization } from 'src/app/models/employeeobject.model';\r\nimport { ChartWork } from 'src/app/models/chart-work.model';\r\n\r\n@Component({\r\n selector: 'app-employees',\r\n templateUrl: './employees.component.html',\r\n styleUrls: ['./employees.component.css'],\r\n providers: [EmployeeService, ObjectOrganizationService, EmployeeObjectsService, AuthenticationService]\r\n})\r\nexport class EmployeesComponent implements OnInit {\r\n employee: Employee = new Employee();\r\n employees: Employee[];\r\n employeesCount = 0;\r\n createMode: boolean = false;\r\n emptyValue: boolean;\r\n employeeForm: FormGroup;\r\n\r\n filterValue='';\r\n\r\n errorVisible: boolean = false;\r\n errorText: string = \"\";\r\n public userRoles;\r\n importDialogDisplay: boolean = false;\r\n importUploadFile: File = null;\r\n applyInProgress = false;\r\n employeeCreateInProgress = false;\r\n uploadInProgress = false;\r\n changesMaded: boolean = false;\r\n\r\n objectsOrganization: ObjectOrganization[] = []; \r\n chartsWork: ChartWork[] = [];\r\n newChartWork: ChartWork = new ChartWork();\r\n public loadingTable = true;\r\n public rows = 10;\r\n public initTableParams: TableParams = null;\r\n public lastEmployeeParams: TableParams = new TableParams();\r\n\r\n @ViewChild(Table) employeeTable: Table;\r\n\r\n constructor(private employeeObjectsService: EmployeeObjectsService,\r\n private employeeService: EmployeeService,\r\n private objectOrganizationService: ObjectOrganizationService,\r\n private chartWorkService: ChartWorkService,\r\n private notificationService: NotificationService,\r\n private signalRService: SignalRService,\r\n private activatedRoute: ActivatedRoute,\r\n private authenticationService: AuthenticationService,\r\n private datepipe: DatePipe,\r\n private router: Router) {\r\n FileUpload.prototype.formatSize = function (bytes) {\r\n if (bytes == 0) {\r\n return '0 B';\r\n }\r\n var k = 1000,\r\n dm = 1,\r\n sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\r\n i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n };\r\n\r\n this.employeeForm = new FormGroup({\r\n fio: new FormControl(this.employee.fio, [Validators.required]),\r\n inn: new FormControl(this.employee.inn, [Validators.required]),\r\n objects: new FormControl(this.objectsOrganization.map(a => ({...a}))),\r\n chartWork: new FormControl(this.chartsWork.find(c => c.name == 'Дневной')),\r\n });\r\n \r\n }\r\n\r\n \r\n ngOnInit() {\r\n this.userRoles = this.authenticationService.roles;\r\n this.authenticationService.roleChange.subscribe(() => {\r\n this.userRoles = this.authenticationService.roles;\r\n });\r\n \r\n if (this.activatedRoute.snapshot.queryParams) {\r\n var temp = new TableParams(this.activatedRoute.snapshot.queryParams); \r\n if (temp instanceof TableParams) {\r\n this.initTableParams = temp;\r\n this.filterValue = this.initTableParams.globalFilter;\r\n this.rows = temp.rows;\r\n\r\n this.employeeTable.first = temp.first;\r\n this.employeeTable.sortField = temp.sortField;\r\n this.employeeTable.sortOrder = temp.sortOrder;\r\n }\r\n }\r\n \r\n this.signalRService.onUpdateEmployee((employee: Employee) => {\r\n if (this.employees.length > 0){\r\n let index = this.employees.findIndex(x => x.id === employee.id);\r\n if (index != -1) {\r\n this.employees[index] = employee;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n onChangeFilter(event){\r\n this.employeeTable.filterGlobal(event, 'contains');\r\n }\r\n\r\n loadEmployees(params?, employeeObjects?: ObjectOrganization[]) {\r\n if (this.initTableParams){\r\n params = this.initTableParams;\r\n this.initTableParams = null;\r\n }\r\n\r\n let tableParams = new TableParams(params, this.filterValue);\r\n if (params) {\r\n this.loadingTable = true;\r\n this.lastEmployeeParams = tableParams;\r\n } else {\r\n tableParams = this.lastEmployeeParams;\r\n }\r\n\r\n let navigationExtras: NavigationExtras = {\r\n queryParams: tableParams\r\n };\r\n\r\n this.router.navigate([], navigationExtras);\r\n \r\n this.employeeService.getEmployeesTable(tableParams).subscribe(\r\n result => {\r\n this.employees = result.data;\r\n this.chartWorkService.getChartsWork().subscribe((data: ChartWork[])=>{ \r\n this.chartsWork = data;\r\n this.newChartWork = this.chartsWork.find(c => c.id == 1);\r\n this.employees.forEach( el => {el.chartWork = this.chartsWork.find(a => a.id == el.chartWorkId)});\r\n });\r\n this.objectOrganizationService.getObjectOrganizations().subscribe((data: ObjectOrganization[])=>{ \r\n this.objectsOrganization = data;\r\n this.objectsOrganization.forEach(object => {object.select = false; object.is_del=false});\r\n if (employeeObjects){\r\n var employee = this.employees.filter(x => x.inn == this.employee.inn)[0];\r\n var objects = [];\r\n employeeObjects.forEach((object:ObjectOrganization)=>{\r\n var employeeObject = new EmployeeObjectsOrganization();\r\n employeeObject.employeeId = employee.id;\r\n employeeObject.objectId = object.id;\r\n objects.push(employeeObject);\r\n \r\n });\r\n if (objects.length > 0){\r\n this.addObject(objects);\r\n }\r\n }\r\n this.employees.forEach( el => {this.getObjects(el);});\r\n });\r\n \r\n this.employeesCount = result.count;\r\n this.loadingTable = false;\r\n this.changesMaded = false;\r\n }, error => {\r\n this.loadingTable = false;\r\n }\r\n ); \r\n }\r\n\r\n\r\n getObjects(employee: Employee){\r\n this.employeeObjectsService.getEmployeeObjects(employee.id).subscribe((data: any) =>{\r\n employee.objects = data;\r\n employee.objectsName = [];\r\n if (employee.objects.length !== 0){\r\n employee.objects.forEach((object:ObjectOrganization) =>{\r\n object.select = true;\r\n });\r\n this.objectsOrganization.forEach((object:ObjectOrganization) => {\r\n var check_item = employee.objects.map(sel => sel.id).indexOf(object.id); \r\n if(check_item == -1) employee.objects.push(object);\r\n });\r\n employee.objects.forEach((object:ObjectOrganization) => {if (object.select) employee.objectsName.push(object.name)});\r\n }else{\r\n employee.objects = this.objectsOrganization.map(a => ({...a})); \r\n } \r\n });\r\n }\r\n // Добавление/редактирование сотрудника в БД\r\n save() {\r\n if (!this.employeeForm.controls['fio'].valid) {\r\n this.notificationService.Error(\"Заполните ФИО\");\r\n return;\r\n }\r\n\r\n if (!this.employeeForm.controls['inn'].valid) {\r\n this.notificationService.Error(\"Заполните ИНН\");\r\n return;\r\n }\r\n\r\n if (!this.employeeForm.controls['chartWork'].valid) {\r\n this.notificationService.Error(\"Заполните график работы\");\r\n return;\r\n }\r\n this.employee.fio = this.employeeForm.controls['fio'].value;\r\n this.employee.inn = this.employeeForm.controls['inn'].value;\r\n this.employee.chartWorkId = this.employeeForm.controls['chartWork'].value.id;\r\n this.employee.objects = this.employeeForm.controls['objects'].value;\r\n if (this.employee.id == null) {\r\n this.employeeCreateInProgress = true;\r\n this.employeeService.createEmployee(this.employee).subscribe((data) => {\r\n let error = data as ApiResponse;\r\n\r\n this.notificationService.FromApiResponse(error);\r\n\r\n if (error.statusType == ApiStatusEnum.Success) {\r\n this.loadEmployees(null,this.employee.objects); \r\n this.cancel(false);\r\n }\r\n this.employeeCreateInProgress = false;\r\n });\r\n } else {\r\n this.employeeCreateInProgress = true;\r\n this.employeeService.updateEmployee(this.employee,this.signalRService.getConnectionId()).subscribe((data) => {\r\n this.notificationService.FromApiResponse(data);\r\n this.loadEmployees();\r\n this.cancel(false);\r\n this.employeeCreateInProgress = false;\r\n });\r\n }\r\n }\r\n\r\n editEmployee(e: Employee) {\r\n this.employee = e;\r\n }\r\n\r\n cancel(flag: boolean = true) {\r\n if(flag)\r\n {\r\n this.employee = new Employee();\r\n }\r\n \r\n this.createMode = false;\r\n this.employeeForm.reset();\r\n }\r\n\r\n removeEmployee(e: Employee) {\r\n this.notificationService.Confirm(\r\n 'Удаление сотрудника',\r\n 'Вы действительно хотите удалить сотрудника ' + e.fio + '? Также будут удалены все данные о рабочих днях сотрудника.',\r\n async () => this.employeeService.deleteEmployee(e.id).subscribe((data) => {\r\n this.notificationService.FromApiResponse(data);\r\n\r\n this.loadEmployees()\r\n }));\r\n }\r\n\r\n add() {\r\n this.cancel();\r\n this.employeeForm.setValue(({ \r\n fio: '',\r\n inn: '',\r\n objects: this.objectsOrganization.map(a => ({...a})),\r\n chartWork: this.chartsWork.find(c => c.name == 'Дневной'),\r\n })); \r\n this.createMode = true;\r\n }\r\n\r\n removeMobileId(e: Employee) {\r\n e.mobileId = null;\r\n this.employeeService.updateEmployee(e,this.signalRService.getConnectionId()).subscribe(data => this.loadEmployees());\r\n }\r\n\r\n exportToExcel() {\r\n this.employeeService.getEmployeesExport().subscribe((data) => {\r\n var file = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n var fileURL = URL.createObjectURL(file);\r\n\r\n let a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.style.display = \"none\";\r\n a.href = fileURL;\r\n a.target = \"_blank\";\r\n a.download = this.datepipe.transform(new Date(), 'dd-MM-yyyy') + \" Экспорт сотрудников.xlsx\";\r\n a.click();\r\n a.remove();\r\n });\r\n }\r\n\r\n getEmployeesData() {\r\n let newArray = this.employees.map(({ id, ...keepAttrs }) => keepAttrs);\r\n return newArray;\r\n }\r\n\r\n showImportDialog() {\r\n this.importDialogDisplay = true;\r\n }\r\n\r\n onUpload(event) {\r\n this.uploadInProgress = true;\r\n\r\n for (let file of event.files) {\r\n this.importUploadFile = file;\r\n }\r\n let fileReader = new FileReader();\r\n fileReader.onload = (e) => {\r\n let arrayBuffer = fileReader.result as ArrayBuffer;\r\n var data = new Uint8Array(arrayBuffer);\r\n var arr = new Array();\r\n for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\r\n var bstr = arr.join(\"\");\r\n var workbook = XLSX.read(bstr, { type: \"binary\" });\r\n var first_sheet_name = workbook.SheetNames[0];\r\n var worksheet = workbook.Sheets[first_sheet_name];\r\n var employees = XLSX.utils.sheet_to_json(worksheet, { raw: true }).map(function (e) {\r\n e['FIO'] = e['ФИО'];\r\n e['INN'] = e['ИНН'];\r\n e['objectOrganizationName'] = e['Объект организации'];\r\n e['MobileId'] = e['ID смартфона'];\r\n delete e['ФИО'];\r\n delete e['ИНН'];\r\n delete e['Объект организации'];\r\n delete e['ID смартфона'];\r\n return e;\r\n });\r\n\r\n this.employeeService.setEmployees(employees).subscribe((data) => {\r\n this.uploadInProgress = false;\r\n this.importDialogDisplay = false;\r\n\r\n this.notificationService.FromApiResponse(data);\r\n\r\n this.loadEmployees();\r\n });\r\n }\r\n fileReader.readAsArrayBuffer(this.importUploadFile);\r\n }\r\n addObject(employeeObjects:EmployeeObjectsOrganization []){ \r\n this.employeeObjectsService.createEmployeeObjects(employeeObjects).subscribe((data) => {\r\n let error = data as ApiResponse;\r\n this.employeeCreateInProgress = false;\r\n });\r\n }\r\n\r\n deObject(employeesobjects:EmployeeObjectsOrganization []){\r\n this.employeeObjectsService.deleteEmployeeObjects(employeesobjects).subscribe((data) => {\r\n let error = data as ApiResponse;\r\n this.employeeCreateInProgress = false;\r\n });\r\n }\r\n onApplyButtonClicked() {\r\n this.applyInProgress = true;\r\n this.setChangesMaded(false);\r\n var editedEmployees = this.getEditedEmployees();\r\n editedEmployees.forEach((em: Employee)=>{\r\n var objects = [];\r\n var objectsDel = [];\r\n em.objects.forEach((object: ObjectOrganization) => {\r\n var employeeObject = new EmployeeObjectsOrganization();\r\n employeeObject.employeeId = em.id;\r\n employeeObject.objectId = object.id;\r\n if (object.select == true && object.is_del == false){\r\n objects.push(employeeObject);\r\n }else if (object.is_del == true){\r\n objectsDel.push(employeeObject);\r\n }\r\n });\r\n if (objects.length > 0){\r\n this.addObject(objects);\r\n }\r\n if (objectsDel.length > 0){\r\n this.deObject(objectsDel);\r\n }\r\n \r\n })\r\n \r\n this.employeeService.updateEmployees(editedEmployees, this.signalRService.getConnectionId()).subscribe((data) => {\r\n this.notificationService.FromApiResponse(data);\r\n\r\n let error = data as ApiResponse;\r\n if (error.statusType == ApiStatusEnum.Success) {\r\n this.loadEmployees();\r\n }\r\n \r\n this.applyInProgress = false;\r\n });\r\n }\r\n\r\n getEditedEmployees() {\r\n return this.employees.filter((e) => e.edited == true);\r\n }\r\n\r\n showError(msg: string) {\r\n this.errorText = msg;\r\n this.errorVisible = true;\r\n }\r\n\r\n setChangesMaded(status: boolean, employee?: Employee) {\r\n this.changesMaded = status;\r\n if (employee) {\r\n employee.edited = true;\r\n }\r\n }\r\n\r\n setChangesObjects(object: ObjectOrganization, employee: Employee, flag, changesMaded) { \r\n this.changesMaded = changesMaded;\r\n if (flag){\r\n employee.objectsName.push(object.name);\r\n object.is_del = false;\r\n }else{\r\n const index = employee.objectsName.indexOf(object.name);\r\n if (index > -1) {\r\n employee.objectsName.splice(index, 1); \r\n }\r\n object.is_del = true;\r\n object.select = false;\r\n }\r\n if (employee) {\r\n employee.edited = true;\r\n }\r\n }\r\n\r\n setChangesChartWork(status: boolean, employee?: Employee) { \r\n this.changesMaded = status;\r\n employee.chartWorkId = employee.chartWork.id;\r\n if (employee) {\r\n employee.edited = true;\r\n }\r\n }\r\n\r\n isEmpty(input) {\r\n return input.replace(/\\s+/g, '') === \"\";\r\n }\r\n}\r\n","module.exports = \".button-row > button, .actions > button {\\r\\n margin-right: .5em;\\r\\n}\\r\\n\\r\\n.apply-button {\\r\\n float: right;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.center {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.left {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.right {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n::ng-deep p-table .ui-paginator .ui-dropdown {\\r\\n height: inherit!important;\\r\\n}\\r\\n\\r\\n.div-table {\\r\\n display: table;\\r\\n width: 400px;\\r\\n}\\r\\n\\r\\ntextarea{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.container{\\r\\n max-width: 900px;\\r\\n}\\r\\n\\r\\n.div-table-row {\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.div-table-cell {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\nselect{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.div-table input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.div-table .cell {\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n\\r\\n.truncate {\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-confirmdialog {\\r\\n width: unset;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-fileupload .ui-fileupload-buttonbar p-button {\\r\\n -webkit-appearance: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL2VycmFuZC9lcnJhbmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGFBQWE7RUFDYixpQkFBaUI7Q0FDbEI7O0FBRUQ7SUFDSSxtQkFBbUI7Q0FDdEI7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7RUFDRSwwQkFBMEI7Q0FDM0I7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsYUFBYTtDQUNkOztBQUVEO0VBQ0UsWUFBWTtDQUNiOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUNEO0VBQ0UsWUFBWTtDQUNiOztBQUNEO0VBQ0UsWUFBWTtDQUNiOztBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVEO0lBQ0ksaUJBQWlCO0lBQ2pCLHdCQUF3QjtDQUMzQjs7QUFFRDtJQUNJLGFBQWE7Q0FDaEI7O0FBRUQ7SUFDSSx5QkFBeUI7Q0FDNUIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvYWRtaW4vZXJyYW5kL2VycmFuZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1yb3cgPiBidXR0b24sIC5hY3Rpb25zID4gYnV0dG9uIHtcclxuICBtYXJnaW4tcmlnaHQ6IC41ZW07XHJcbn1cclxuXHJcbi5hcHBseS1idXR0b24ge1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmxlZnQge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5yaWdodCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCBwLXRhYmxlIC51aS1wYWdpbmF0b3IgLnVpLWRyb3Bkb3duIHtcclxuICBoZWlnaHQ6IGluaGVyaXQhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGl2LXRhYmxlIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB3aWR0aDogNDAwcHg7XHJcbn1cclxuXHJcbnRleHRhcmVhe1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY29udGFpbmVye1xyXG4gIG1heC13aWR0aDogOTAwcHg7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUtcm93IHtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUtY2VsbCB7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxufVxyXG5zZWxlY3R7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLmRpdi10YWJsZSBpbnB1dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUgLmNlbGwge1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi50cnVuY2F0ZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudWktY29uZmlybWRpYWxvZyB7XHJcbiAgICB3aWR0aDogdW5zZXQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudWktZmlsZXVwbG9hZCAudWktZmlsZXVwbG9hZC1idXR0b25iYXIgcC1idXR0b24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Название\\r\\n ИНН\\r\\n ФИО\\r\\n Статус\\r\\n Время начала\\r\\n Время завершения\\r\\n Действие\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{errand.name}}
\\r\\n
{{errand.employeesSelect.employee.inn}}
\\r\\n
{{errand.employeesSelect.employee.fio}}
\\r\\n
{{errand.employeesSelect.status}}
\\r\\n
{{errand.employeesSelect.startErrand}}
\\r\\n
{{errand.employeesSelect.closeErrand}}
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Название\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Широта\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Долгота\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Погрешность\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Сотрудник\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Описание

\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Название\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Широта\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Долгота\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Погрешность\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Описание

\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
ФИО
\\r\\n
ИНН
\\r\\n
Выбрать
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
{{el.employee.fio}}
\\r\\n
{{el.employee.inn}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { FileUpload, FileUploadModule } from 'primeng/primeng';\r\nimport { Table } from 'primeng/table';\r\nimport { ApiStatusEnum } from 'src/app/enums/api-status.enum';\r\nimport { ApiResponse } from 'src/app/models/api-response.model';\r\nimport { TableParams } from 'src/app/models/table-params.model';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { SignalRService } from 'src/app/services/signal-r.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { Employee } from '../../../models/employee.model';\r\nimport { EmployeeService } from '../../../services/employee.service';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { ObjectOrganizationService } from 'src/app/services/objectorganization.service';\r\nimport { EmployeeObjectsService } from 'src/app/services/employeeobjects.service';\r\nimport { Errand } from 'src/app/models/errand.model';\r\nimport { ManagerService } from 'src/app/services/manager.service';\r\nimport { Organization } from 'src/app/models/organization.model';\r\nimport { ErrandService } from 'src/app/services/errand.service';\r\nimport { check_double } from 'src/app/utils/encryption.util';\r\nimport { ErrandEmployee } from 'src/app/models/errand-employee.model';\r\nimport { ErrandEmployeesService } from 'src/app/services/errand-employee.service';\r\n\r\n@Component({\r\n selector: 'app-errand',\r\n templateUrl: './errand.component.html',\r\n styleUrls: ['./errand.component.css'],\r\n providers: [EmployeeService, ObjectOrganizationService, EmployeeObjectsService, ErrandService, ErrandEmployeesService]\r\n})\r\nexport class ErrandComponent implements OnInit {\r\n errand: Errand = new Errand();\r\n errands: Errand[];\r\n createMode: boolean = false;\r\n errandCreateForm: FormGroup;\r\n employeesOrganization: Employee[] =[] ; \r\n applyInProgress = false;\r\n errandCreateInProgress = false;\r\n uploadInProgress = false;\r\n organization: Organization;\r\n public loadingTable = true;\r\n public rows = 10;\r\n public initTableParams: TableParams = null;\r\n public lastEmployeeParams: TableParams = new TableParams();\r\n public userRoles;\r\n loadingErrand = false; // индикатор загрузки данных об объекте\r\n\r\n errandCreateMode = false; // режим создания нового объекта организации\r\n errandEditMode = false; // режим редактирования объекта организации\r\n errandEditForm: FormGroup; // форма для редактирования объекта организации\r\n errandEditInProgress = false; \r\n employeeAddMode = false; \r\n errandVeiwMode = false;\r\n\r\n constructor( private employeeService: EmployeeService,\r\n private errandService: ErrandService,\r\n private errandEmployeesService: ErrandEmployeesService,\r\n private notificationService: NotificationService,\r\n private authenticationService: AuthenticationService,\r\n private managerService: ManagerService,\r\n private activatedRoute: ActivatedRoute,\r\n private datePipe: DatePipe,\r\n private router: Router) {}\r\n\r\n \r\n ngOnInit() {\r\n\r\n this.userRoles = this.authenticationService.roles;\r\n this.authenticationService.roleChange.subscribe(() => {\r\n this.userRoles = this.authenticationService.roles;\r\n });\r\n this.managerService.getOrganizationsByManagerId(this.authenticationService.userId).subscribe((data:Organization) => {\r\n this.organization = data[0];\r\n this.loadErrands();\r\n });\r\n \r\n this.errandCreateForm = new FormGroup({\r\n name: new FormControl('', [Validators.required]),\r\n organizationId: new FormControl(this.errand.organizationId, [Validators.required]),\r\n latitude: new FormControl(this.errand.latitude),\r\n longitude: new FormControl(this.errand.longitude),\r\n accuracyError: new FormControl(0.0035),\r\n description:new FormControl(this.errand.description),\r\n employeesSelect: new FormControl([]),\r\n employees: new FormControl([]),\r\n });\r\n\r\n this.errandEditForm = new FormGroup({\r\n name: new FormControl('', [Validators.required]),\r\n organizationId: new FormControl(this.errand.organizationId, [Validators.required]),\r\n latitude: new FormControl(this.errand.latitude),\r\n longitude: new FormControl(this.errand.longitude),\r\n accuracyError: new FormControl(this.errand.accuracyError),\r\n description:new FormControl(this.errand.description),\r\n \r\n });\r\n }\r\n getStatus(status){\r\n switch (status) {\r\n case 0:\r\n return \"Новое\";\r\n case 1:\r\n return \"Доставлено\";\r\n case 2:\r\n return \"Начато выполнение\";\r\n case 3:\r\n return \"Завершено\";\r\n default:\r\n return status;\r\n }\r\n }\r\n\r\n getEmployee(errand: Errand){\r\n this.errandEmployeesService.getErrandEmployees(errand.id).subscribe((data: ErrandEmployee[]) =>{\r\n errand.employeesSelect = data[0];\r\n errand.employeesSelect.status = this.getStatus(errand.employeesSelect.status);\r\n errand.employeesSelect.startErrand = errand.employeesSelect.startErrand.toString().slice(0, 19).replace('T', ' ');\r\n errand.employeesSelect.closeErrand = errand.employeesSelect.closeErrand.toString().slice(0, 19).replace('T', ' ');\r\n // errand.employeesSelect.forEach((el: ErrandEmployee)=>{\r\n // el.status = this.getStatus(el.status);\r\n // el.startErrand = this.stringifyDate(el.startErrand);\r\n // el.closeErrand = this.stringifyDate(el.closeErrand);\r\n // })\r\n errand.employees = [];\r\n \r\n this.employeesOrganization.forEach((employee:Employee) => {\r\n var new_errand = new ErrandEmployee();\r\n \r\n new_errand.employee = {...employee};\r\n // if (errand.employeesSelect.length > 0){\r\n // errand.employeesSelect.forEach((employeeErrand:ErrandEmployee) =>{\r\n // if(employeeErrand.employee)\r\n // {\r\n // employeeErrand.employee.select = true;\r\n // }\r\n \r\n // });\r\n \r\n // var check_item = errand.employeesSelect.map(sel => {if(sel.employee) return sel.employee.id;}).indexOf(employee.id); \r\n // if(check_item === -1)\r\n // {\r\n // errand.employees.push(new_errand);\r\n // }\r\n // }else{\r\n // errand.employees.push(new_errand); \r\n // } \r\n }); \r\n });\r\n }\r\n stringifyDate(date: any){\r\n return this.datePipe.transform(date, 'dd-MM-yyyy hh:mm:ss');\r\n }\r\n loadErrands(errandEmployees?: ErrandEmployee[]) { \r\n this.loadingErrand = true; \r\n \r\n this.errandService.getErrands()\r\n .subscribe((data: Errand[]) => {\r\n this.errands = data;\r\n this.employeeService.getEmployees().then((em: Employee[])=>{ \r\n this.employeesOrganization = em; \r\n this.employeesOrganization.forEach(object => {object.select = false; object.is_del=false; object.inn_fio = object.inn + ' | '+ object.fio;});\r\n if (errandEmployees){\r\n var errand = this.errands.filter(x => x.id == this.errand.id)[0];\r\n // var delEmployee = this.errand.employees.filter(em => em.employee.is_del == true);\r\n // delEmployee = delEmployee.map(a => ({...a})); \r\n var errands = []; \r\n errandEmployees.forEach((employeeErrand:ErrandEmployee)=>{\r\n \r\n var employeeObject = new ErrandEmployee(); \r\n if(employeeErrand){\r\n employeeObject.employeeId = employeeErrand[0].id;\r\n employeeObject.errandId = errand.id;\r\n // employeeObject.startErrand = employeeErrand.startErrand;\r\n // employeeObject.closeErrand = employeeErrand.closeErrand;\r\n errands.push(employeeObject);\r\n } \r\n \r\n });\r\n // var employeeObject = new ErrandEmployee(); \r\n // if(errandEmployees.employee){\r\n // employeeObject.employeeId = errandEmployees.employee.id;\r\n // employeeObject.errandId = errand.id;\r\n // // employeeObject.startErrand = employeeErrand.startErrand;\r\n // // employeeObject.closeErrand = employeeErrand.closeErrand;\r\n // errands.push(employeeObject);\r\n // } \r\n\r\n if (errands.length > 0){\r\n this.addErrandEmployee(errands);\r\n }\r\n // if(delEmployee.length > 0)\r\n // {\r\n // this.deleteErrandEmployee(delEmployee);\r\n // }\r\n }\r\n this.errands.forEach( el => {this.getEmployee(el);});\r\n \r\n });\r\n this.loadingTable = false;\r\n this.loadingErrand = false;\r\n },\r\n error => { this.loadingErrand = false; });\r\n }\r\n deleteErrandEmployee(employeeErrand:ErrandEmployee []){\r\n employeeErrand.forEach((el:ErrandEmployee)=>{\r\n this.errandEmployeesService.deleteErrandEmployee(el.id).subscribe((data) => {\r\n let error = data as ApiResponse;\r\n this.errandCreateInProgress = false;\r\n });\r\n })\r\n this.loadErrands();\r\n }\r\n addErrandEmployee(employeeErrand:ErrandEmployee []){\r\n console.log('employeeErrand', employeeErrand)\r\n this.errandEmployeesService.createErrandEmployee(employeeErrand).subscribe((data) => {\r\n let error = data as ApiResponse;\r\n this.errandCreateInProgress = false;\r\n });\r\n this.loadErrands();\r\n }\r\n check_value(){\r\n if (!this.errandCreateForm.controls['name'].valid) {\r\n this.notificationService.Error(\"Заполните название\");\r\n return;\r\n } \r\n var check_arr = [\"\", null];\r\n\r\n if(check_arr.indexOf(this.errandCreateForm.controls['latitude'].value)== -1 || \r\n check_arr.indexOf(this.errandCreateForm.controls['longitude'].value)== -1\r\n )\r\n {\r\n if(check_arr.indexOf(this.errandCreateForm.controls['latitude'].value)!= -1 || \r\n check_arr.indexOf(this.errandCreateForm.controls['longitude'].value)!= -1 \r\n )\r\n {\r\n this.notificationService.Error(\"Не хватает данных. Для определения местоположения необходимо ввести все данные.\");\r\n }\r\n \r\n if (!check_double(this.errandCreateForm.controls['latitude'].value)) {\r\n this.notificationService.Error(\"Неккоректное число широты. Используйте '.' \");\r\n return;\r\n }\r\n if (!check_double(this.errandCreateForm.controls['longitude'].value)) {\r\n this.notificationService.Error(\"Неккоректное число долготы. Используйте '.' \");\r\n return;\r\n }\r\n if (!check_double(this.errandCreateForm.controls['accuracyError'].value)) {\r\n this.notificationService.Error(\"Неккоректное число погрешности. Используйте '.' \");\r\n return;\r\n }\r\n \r\n } \r\n if (this.errandCreateForm.controls['employeesSelect'].value.length == 0) {\r\n this.notificationService.Error(\"Сотрудник не выбран\");\r\n return;\r\n }\r\n return true;\r\n }\r\n // Сохранение данных объекта организации\r\n save() {\r\n if (!this.check_value()) {\r\n return;\r\n }\r\n \r\n this.errand.name = this.errandCreateForm.controls['name'].value;\r\n this.errand.latitude = this.errandCreateForm.controls['latitude'].value;\r\n this.errand.longitude = this.errandCreateForm.controls['longitude'].value;\r\n this.errand.accuracyError = this.errandCreateForm.controls['accuracyError'].value;\r\n this.errand.description = this.errandCreateForm.controls['description'].value;\r\n this.errand.organizationId = this.organization.id;\r\n \r\n if (this.errand.id == null) {\r\n this.errandCreateInProgress = true; \r\n this.errandService.createErrand(this.errand)\r\n .subscribe((data) => {\r\n const error = data as ApiResponse;\r\n this.errand.id = this.notificationService.FromApiResponseErrand(error);\r\n \r\n if (error.statusType == ApiStatusEnum.Success) {\r\n this.loadErrands([this.errandCreateForm.controls['employeesSelect'].value]);\r\n this.hideErrandCreateDialog();\r\n }\r\n this.errandCreateInProgress = false;\r\n });\r\n } else {\r\n this.errandCreateInProgress = true;\r\n this.errandService.updateErrand(this.errand)\r\n .subscribe(data => {\r\n this.notificationService.FromApiResponse(data);\r\n this.loadErrands();\r\n this.hideErrandEditDialog();\r\n this.errandEditInProgress = false;\r\n });\r\n }\r\n }\r\n\r\n //\r\n edit(errand: Errand) {\r\n\r\n this.errand = errand;\r\n this.errandCreateForm.setValue({\r\n name: errand.name,\r\n organizationId: errand.organizationId,\r\n latitude: errand.latitude,\r\n longitude: errand.longitude,\r\n accuracyError: errand.accuracyError,\r\n description: errand.description,\r\n employees: errand.employees,\r\n employeesSelect: errand.employeesSelect,\r\n }); \r\n \r\n this.errandEditMode = true;\r\n }\r\n autogrow(){\r\n let textArea = document.getElementById(\"textarea\") \r\n textArea.style.overflow = 'hidden';\r\n textArea.style.height = '0px';\r\n textArea.style.height = textArea.scrollHeight + 'px'; \r\n }\r\n // Удаление объекта организации\r\n delete(errand: Errand) {\r\n this.notificationService.Confirm(\r\n 'Удаление поручения',\r\n 'Вы действительно хотите удалить поручение ' + errand.name + '?',\r\n async () => this.errandService.deleteErrand(errand.id).subscribe((data) => {\r\n this.notificationService.FromApiResponse(data);\r\n this.loadErrands();\r\n this.hideErrandCreateDialog();\r\n this.errand = new Errand();\r\n }));\r\n }\r\n\r\n // Вход в режим создания организации\r\n add() {\r\n this.errand = new Errand();\r\n this.hideErrandCreateDialog();\r\n this.errandCreateMode = true;\r\n }\r\n\r\n // Выход из режима создания организации\r\n hideErrandCreateDialog() {\r\n this.errandCreateMode = false;\r\n this.errandCreateForm.reset();\r\n this.errandCreateForm.setValue({\r\n name: '',\r\n organizationId: '',\r\n latitude: '',\r\n longitude: '',\r\n accuracyError: 0.0035,\r\n description: '',\r\n employees: [],\r\n employeesSelect: []\r\n\r\n });\r\n }\r\n hideAddDialog() {\r\n this.employeeAddMode = false;\r\n this.errandCreateForm.reset();\r\n \r\n }\r\n // Обработчик открытия вкладки с организацией\r\n onDropdownChange(event) {\r\n this.errand = event.value;\r\n // this.getManagersByOrganization(event.value);\r\n }\r\n\r\n\r\n // Скрытие окна переименования организации\r\n hideErrandEditDialog() {\r\n this.errandEditMode = false;\r\n this.errandCreateForm.reset();\r\n this.loadErrands();\r\n }\r\n addEmployees(errand: Errand){\r\n // this.employeeTable = this.errand.employees;\r\n errand.employees = [];\r\n this.employeesOrganization.forEach((employee:Employee) => {\r\n var new_errand = new ErrandEmployee(); \r\n new_errand.employee = {...employee};\r\n // if (errand.employeesSelect){\r\n // var check_item = errand.employeesSelect.map(sel => sel.employee.id).indexOf(employee.id); \r\n // if(check_item == -1)\r\n // {\r\n // errand.employees.push(new_errand);\r\n // } \r\n // }else{\r\n // errand.employees.push(new_errand);\r\n // } \r\n }); \r\n this.employeeAddMode = true;\r\n }\r\n addEmployee(errand: Errand){\r\n var select = errand.employees.filter((e:ErrandEmployee)=>{if (e.employee.select === true) return e;}).map(a => ({...a}));\r\n var list_all = errand.employees.filter((e:ErrandEmployee)=>{if (e.employee.select === false) return e;});\r\n // if(this.errand.employeesSelect)\r\n // {\r\n // this.errand.employeesSelect = [...this.errand.employeesSelect,...select]; \r\n // }\r\n // else{\r\n // this.errand.employeesSelect = select;\r\n // }\r\n\r\n this.errand.employees = list_all.map(a => ({...a}));\r\n this.employeeAddMode = false;\r\n\r\n }\r\n \r\n selectAll(errand: Errand, selectEmployees?: ErrandEmployee[] ){\r\n this.errand = errand;\r\n if(selectEmployees != null)\r\n {\r\n selectEmployees.forEach((em: ErrandEmployee)=>{\r\n em.employee.select = true;\r\n });\r\n return\r\n }\r\n this.errand.employees.forEach((em: ErrandEmployee)=>{\r\n em.employee.select = true;\r\n });\r\n }\r\n clearAll(errand: Errand){\r\n this.errand = errand;\r\n this.errand.employees.forEach((em: ErrandEmployee)=>{\r\n em.employee.select = false;\r\n });\r\n }\r\n\r\n deleteEmployee(errand:Errand, errandEmployee: ErrandEmployee){\r\n errandEmployee.employee.select = false;\r\n errandEmployee.employee.is_del = true;\r\n // errand.employeesSelect.splice(errand.employeesSelect.indexOf(errandEmployee),1);\r\n errand.employees.push(errandEmployee);\r\n }\r\n}\r\n","module.exports = \"a.navbar-brand {\\r\\n white-space: normal;\\r\\n text-align: center;\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\nhtml {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n html {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n\\r\\n.box-shadow {\\r\\n box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);\\r\\n}\\r\\n\\r\\n/* .navbar-nav li.link-active > a {\\r\\n\\tcolor: #007ad9!important;\\r\\n}\\r\\n\\r\\n.nav-link:hover {\\r\\n -webkit-transition: all 0.2s ease;\\r\\n -moz-transition: all 0.2s ease;\\r\\n -o-transition: all 0.2s ease;\\r\\n transition: all 0.2s ease;\\r\\n background-color: #ebebeb\\r\\n} */\\r\\n\\r\\n.div-table {\\r\\n display: table;\\r\\n width: 400px;\\r\\n}\\r\\n\\r\\n.div-table-row {\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.div-table-cell {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL25hdi1tZW51L25hdi1tZW51LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLHNCQUFzQjtDQUN2Qjs7QUFFRDtFQUNFLGdCQUFnQjtDQUNqQjs7QUFDRDtFQUNFO0lBQ0UsZ0JBQWdCO0dBQ2pCO0NBQ0Y7O0FBRUQ7RUFDRSwrQ0FBK0M7Q0FDaEQ7O0FBRUQ7Ozs7Ozs7Ozs7SUFVSTs7QUFFSjtFQUNFLGVBQWU7RUFDZixhQUFhO0NBQ2Q7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxvQkFBb0I7Q0FDckIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvYWRtaW4vbmF2LW1lbnUvbmF2LW1lbnUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImEubmF2YmFyLWJyYW5kIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICBodG1sIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuXHJcbi5ib3gtc2hhZG93IHtcclxuICBib3gtc2hhZG93OiAwIC4yNXJlbSAuNzVyZW0gcmdiYSgwLCAwLCAwLCAuMDUpO1xyXG59XHJcblxyXG4vKiAubmF2YmFyLW5hdiBsaS5saW5rLWFjdGl2ZSA+IGEge1xyXG5cdGNvbG9yOiAjMDA3YWQ5IWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hdi1saW5rOmhvdmVyIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViXHJcbn0gKi9cclxuXHJcbi5kaXYtdGFibGUge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHdpZHRoOiA0MDBweDtcclxufVxyXG5cclxuLmRpdi10YWJsZS1yb3cge1xyXG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcclxufVxyXG5cclxuLmRpdi10YWJsZS1jZWxsIHtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Новый пароль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Подтвердите пароль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\"","import { Component } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ApiResponse } from 'src/app/models/api-response.model';\r\nimport { ManagerRequest } from 'src/app/models/manager-request.model';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { ManagerService } from 'src/app/services/manager.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { EmployeesComponent } from '../employees/employees.component';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent {\r\n\r\n public userName;\r\n public userOrganization;\r\n editFlag = false;\r\n passCreateForm: FormGroup; \r\n\r\n constructor(private authenticationService: AuthenticationService,\r\n private notificationService: NotificationService,\r\n private managerService: ManagerService) { }\r\n\r\n ngOnInit() {\r\n this.getUserName();\r\n this.authenticationService.roleChange.subscribe(() => {\r\n this.getUserName();\r\n });\r\n this.passCreateForm = new FormGroup({\r\n new_password: new FormControl('', [Validators.required]),\r\n confirm_password: new FormControl('', [Validators.required]),\r\n });\r\n }\r\n\r\n\r\n getUserName() {\r\n this.userName = this.authenticationService.userName;\r\n this.userOrganization = this.authenticationService.organizationName;\r\n \r\n }\r\n editPassword() {\r\n this.userName = this.authenticationService.userName;\r\n this.userOrganization = this.authenticationService.organizationName;\r\n \r\n }\r\n check_value(){\r\n\r\n if (!this.passCreateForm.controls['new_password'].valid) {\r\n this.notificationService.Error(\"Заполните новый пароль\");\r\n return;\r\n } \r\n if (!this.passCreateForm.controls['confirm_password'].valid) {\r\n this.notificationService.Error(\"Заполните подтверждение пароля\");\r\n return;\r\n }\r\n if (this.passCreateForm.controls['confirm_password'].value !== this.passCreateForm.controls['new_password'].value) {\r\n this.notificationService.Error(\"Пароли не совпадают\");\r\n return;\r\n }\r\n return true;\r\n }\r\n cancel() {\r\n this.passCreateForm.reset();\r\n this.editFlag = false;\r\n }\r\n save() {\r\n if (!this.check_value()) {\r\n return;\r\n }\r\n var new_password = this.passCreateForm.controls['new_password'].value;\r\n var new_data = new ManagerRequest('',new_password,{},{});\r\n this.managerService.updateManager(new_data).subscribe(data=>{\r\n const error = data as ApiResponse;\r\n this.notificationService.FromApiResponse(error);\r\n });\r\n this.passCreateForm.reset();\r\n this.editFlag = false;\r\n }\r\n userInRole(role: string[]) {\r\n return this.authenticationService.userInRole(role);\r\n }\r\n}\r\n","module.exports = \".button-row > button, .actions > button {\\r\\n margin-right: .5em;\\r\\n}\\r\\n\\r\\n.apply-button {\\r\\n float: right;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.center {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.left {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.right {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n::ng-deep p-table .ui-paginator .ui-dropdown {\\r\\n height: inherit !important;\\r\\n}\\r\\n\\r\\n.div-table {\\r\\n display: table;\\r\\n width: 300px;\\r\\n}\\r\\n\\r\\n.div-table-row {\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.div-table-cell {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n.div-table input {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.div-table .cell {\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n\\r\\n.truncate {\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-confirmdialog {\\r\\n width: unset;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-fileupload .ui-fileupload-buttonbar p-button {\\r\\n -webkit-appearance: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL29iamVjdG9yZ2FuaXphdGlvbnMvb2JqZWN0b3JnYW5pemF0aW9ucy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLDJCQUEyQjtDQUM1Qjs7QUFFRDtFQUNFLGVBQWU7RUFDZixhQUFhO0NBQ2Q7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxZQUFZO0NBQ2I7O0FBRUQ7RUFDRSxvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxpQkFBaUI7RUFDakIsd0JBQXdCO0NBQ3pCOztBQUVEO0VBQ0UsYUFBYTtDQUNkOztBQUVEO0VBQ0UseUJBQXlCO0NBQzFCIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50L2FkbWluL29iamVjdG9yZ2FuaXphdGlvbnMvb2JqZWN0b3JnYW5pemF0aW9ucy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1yb3cgPiBidXR0b24sIC5hY3Rpb25zID4gYnV0dG9uIHtcclxuICBtYXJnaW4tcmlnaHQ6IC41ZW07XHJcbn1cclxuXHJcbi5hcHBseS1idXR0b24ge1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sZWZ0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ucmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG46Om5nLWRlZXAgcC10YWJsZSAudWktcGFnaW5hdG9yIC51aS1kcm9wZG93biB7XHJcbiAgaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLmRpdi10YWJsZS1yb3cge1xyXG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcclxufVxyXG5cclxuLmRpdi10YWJsZS1jZWxsIHtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG59XHJcblxyXG4uZGl2LXRhYmxlIGlucHV0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmRpdi10YWJsZSAuY2VsbCB7XHJcbiAgcGFkZGluZy1ib3R0b206IDVweDtcclxufVxyXG5cclxuLnRydW5jYXRlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnVpLWNvbmZpcm1kaWFsb2cge1xyXG4gIHdpZHRoOiB1bnNldDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC51aS1maWxldXBsb2FkIC51aS1maWxldXBsb2FkLWJ1dHRvbmJhciBwLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Название\\r\\n Широта\\r\\n Долгота\\r\\n Погрешность\\r\\n Временная зона\\r\\n Действие\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{objectOrganization.name}}
\\r\\n
{{objectOrganization.latitude}}
\\r\\n
{{objectOrganization.longitude}}
\\r\\n
{{objectOrganization.accuracyError}}
\\r\\n
{{objectOrganization.timeZone}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Название\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Широта\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Долгота\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Погрешность\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Название\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Широта\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Долгота\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Погрешность\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Table } from 'primeng/table';\r\n\r\nimport { ApiResponse } from '../../../models/api-response.model';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { ObjectOrganization } from '../../../models/objectorganization.model'\r\nimport { ObjectOrganizationService } from '../../../services/objectorganization.service';\r\nimport { ApiStatusEnum } from '../../../enums/api-status.enum';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { FormGroup, Validators, FormControl, ValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { Organization } from 'src/app/models/organization.model';\r\nimport { ManagerService } from 'src/app/services/manager.service';\r\nimport { Manager } from 'src/app/models/managers-view.model';\r\nimport { check_double } from 'src/app/utils/encryption.util';\r\n\r\n@Component({\r\n selector: 'app-objectorganizations',\r\n templateUrl: './objectorganizations.component.html',\r\n styleUrls: ['./objectorganizations.component.css'],\r\n providers: [ObjectOrganizationService, OrganizationService]\r\n})\r\n\r\n\r\n\r\nexport class ObjectOrganizationsComponent implements OnInit {\r\n\r\n organization: Organization = null;\r\n objectOrganization: ObjectOrganization = new ObjectOrganization(); // изменяемый объект организация\r\n objectOrganizations: ObjectOrganization[] = []; // массив объектов организаций\r\n objectOrganizationsCount = 0; // количество объектов организаций для загрузки\r\n\r\n objectOrganizationCreateMode = false; // режим создания нового объекта организации\r\n objectOrganizationCreateForm: FormGroup; // форма для создания объекта организации\r\n objectOrganizationCreateInProgress = false; // флаг для определения выполнения процедуры создания объекта организации\r\n\r\n objectOrganizationEditMode = false; // режим редактирования объекта организации\r\n objectOrganizationEditForm: FormGroup; // форма для редактирования объекта организации\r\n objectOrganizationEditInProgress = false; // флаг для определения выполнения процедуры редактирования объекта организации\r\n\r\n loadingObjectOrganization = false; // индикатор загрузки данных об объекте\r\n\r\n public userRoles;\r\n\r\n public loadingTable = true; // индикатор включения загрузки в таблице\r\n\r\n\r\n constructor(private objectOrganizationService: ObjectOrganizationService,\r\n private organizationService: OrganizationService,\r\n private notificationService: NotificationService,\r\n private authenticationService: AuthenticationService,\r\n private managerService: ManagerService) { }\r\n\r\n ngOnInit() {\r\n this.userRoles = this.authenticationService.roles;\r\n this.authenticationService.roleChange.subscribe(() => {\r\n this.userRoles = this.authenticationService.roles;\r\n });\r\n \r\n this.managerService.getOrganizationsByManagerId(this.authenticationService.userId).subscribe((data:Organization) => {\r\n this.organization = data[0];\r\n this.loadObjectOrganizations(this.organization.id);\r\n });\r\n \r\n\r\n this.objectOrganizationCreateForm = new FormGroup({\r\n name: new FormControl('', [Validators.required]),\r\n organizationId: new FormControl(this.objectOrganization.organizationId, [Validators.required]),\r\n latitude: new FormControl(0.0035, [Validators.required]),\r\n longitude: new FormControl(0.0035, [Validators.required]),\r\n accuracyError: new FormControl(0.0035, [Validators.required]),\r\n });\r\n }\r\n\r\n // Получение данных организаций\r\n loadObjectOrganizations(id) {\r\n this.loadingObjectOrganization = true;\r\n this.objectOrganizationService.getObjectOrganizations()\r\n .subscribe((data: ObjectOrganization[]) => {\r\n this.objectOrganizations = data.filter(e => e.organizationId == id);\r\n this.objectOrganizations.forEach(el => {\r\n el.organizationName = this.organization.name;\r\n })\r\n this.loadingTable = false;\r\n this.loadingObjectOrganization = false;\r\n },\r\n error => { this.loadingObjectOrganization = false; });\r\n \r\n }\r\n\r\n check_value(){\r\n if (!this.objectOrganizationCreateForm.controls['name'].valid) {\r\n this.notificationService.Error(\"Заполните название\");\r\n return;\r\n }\r\n if (!check_double(this.objectOrganizationCreateForm.controls['latitude'].value)) {\r\n this.notificationService.Error(\"Неккоректное число широты. Используйте '.' \");\r\n return;\r\n }\r\n if (!check_double(this.objectOrganizationCreateForm.controls['longitude'].value)) {\r\n this.notificationService.Error(\"Неккоректное число долготы. Используйте '.' \");\r\n return;\r\n }\r\n if (!check_double(this.objectOrganizationCreateForm.controls['accuracyError'].value)) {\r\n this.notificationService.Error(\"Неккоректное число погрешности. Используйте '.' \");\r\n return;\r\n }\r\n return true;\r\n }\r\n // Сохранение данных объекта организации\r\n save() {\r\n if (!this.check_value()) {\r\n return;\r\n }\r\n \r\n this.objectOrganization.name = this.objectOrganizationCreateForm.controls['name'].value;\r\n this.objectOrganization.latitude = this.objectOrganizationCreateForm.controls['latitude'].value;\r\n this.objectOrganization.longitude = this.objectOrganizationCreateForm.controls['longitude'].value;\r\n this.objectOrganization.accuracyError = this.objectOrganizationCreateForm.controls['accuracyError'].value;\r\n this.objectOrganization.organizationId = this.organization.id;\r\n if (this.objectOrganization.id == null) {\r\n this.objectOrganizationCreateInProgress = true;\r\n this.objectOrganizationService.createObjectOrganization(this.objectOrganization)\r\n .subscribe((data) => {\r\n const error = data as ApiResponse;\r\n\r\n this.notificationService.FromApiResponse(error);\r\n\r\n if (error.statusType == ApiStatusEnum.Success) {\r\n this.loadObjectOrganizations(this.organization.id);\r\n this.hideObjectOrganizationCreateDialog();\r\n }\r\n this.objectOrganizationCreateInProgress = false;\r\n });\r\n } else {\r\n this.objectOrganizationCreateInProgress = true;\r\n this.objectOrganizationService.updateObjectOrganization(this.objectOrganization)\r\n .subscribe(data => {\r\n this.notificationService.FromApiResponse(data);\r\n this.loadObjectOrganizations(this.organization.id);\r\n this.hideObjectOrganizationEditDialog();\r\n this.objectOrganizationEditInProgress = false;\r\n });\r\n }\r\n }\r\n\r\n //\r\n editObjectOrganization(organization: ObjectOrganization) {\r\n this.objectOrganization = organization;\r\n }\r\n\r\n // Удаление объекта организации\r\n delete(objectOrganization: ObjectOrganization) {\r\n this.notificationService.Confirm(\r\n 'Удаление объекта организации',\r\n 'Вы действительно хотите удалить объект ' + objectOrganization.name + '?',\r\n async () => this.objectOrganizationService.deleteObjectOrganization(objectOrganization.id).subscribe((data) => {\r\n this.notificationService.FromApiResponse(data);\r\n this.loadObjectOrganizations(this.organization.id);\r\n this.hideObjectOrganizationCreateDialog();\r\n this.objectOrganization = new ObjectOrganization();\r\n }));\r\n }\r\n\r\n // Вход в режим создания организации\r\n add() {\r\n this.objectOrganization = new ObjectOrganization();\r\n this.hideObjectOrganizationCreateDialog();\r\n this.objectOrganizationCreateMode = true;\r\n }\r\n\r\n // Выход из режима создания организации\r\n hideObjectOrganizationCreateDialog() {\r\n this.objectOrganizationCreateMode = false;\r\n this.objectOrganizationCreateForm.reset();\r\n this.objectOrganizationCreateForm.setValue({\r\n name: '',\r\n organizationId: '',\r\n latitude: 0.0035,\r\n longitude: 0.0035,\r\n accuracyError: 0.0035,\r\n\r\n });\r\n }\r\n\r\n // Обработчик открытия вкладки с организацией\r\n onDropdownChange(event) {\r\n this.objectOrganization = event.value;\r\n // this.getManagersByOrganization(event.value);\r\n }\r\n\r\n\r\n // Отображение окна переименования организации\r\n showObjectOrganizationEditDialog(objectOrganization: ObjectOrganization) {\r\n this.objectOrganization = objectOrganization;\r\n this.objectOrganizationCreateForm.setValue({\r\n name: objectOrganization.name,\r\n organizationId: objectOrganization.organizationId,\r\n latitude: objectOrganization.latitude,\r\n longitude: objectOrganization.longitude,\r\n accuracyError: objectOrganization.accuracyError,\r\n\r\n });\r\n this.objectOrganizationEditMode = true;\r\n }\r\n\r\n // Скрытие окна переименования организации\r\n hideObjectOrganizationEditDialog() {\r\n this.objectOrganizationEditMode = false;\r\n this.objectOrganizationCreateForm.reset();\r\n }\r\n}\r\n","module.exports = \".button-row > button, .actions > button {\\r\\n margin-right: .5em;\\r\\n}\\r\\n.data_org{\\r\\n outline: 1px solid rgba(0,0,0,.1);\\r\\n border: 3px solid #fff;\\r\\n border-radius: 0px;\\r\\n}\\r\\n.delete-button{\\r\\n background-color: red;\\r\\n border: 3px solid rgb(255, 0, 0);\\r\\n}\\r\\n.info{\\r\\n margin: 10px 0 10px 0;\\r\\n outline: 1px solid rgba(0,0,0,.1);\\r\\n border: 3px solid #fff;\\r\\n border-radius: 0px;\\r\\n}\\r\\n.header-info{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.apply-button {\\r\\n float: right;\\r\\n margin-top: 10px;\\r\\n}\\r\\n.center {\\r\\n text-align: center;\\r\\n}\\r\\n.left {\\r\\n text-align: left;\\r\\n}\\r\\n.right {\\r\\n text-align: right;\\r\\n}\\r\\n::ng-deep p-table .ui-paginator .ui-dropdown {\\r\\n height: inherit !important;\\r\\n}\\r\\n.div-table {\\r\\n display: table;\\r\\n width: 300px;\\r\\n}\\r\\n.div-table-row {\\r\\n display: table-row;\\r\\n}\\r\\n.div-table-cell {\\r\\n display: table-cell;\\r\\n}\\r\\n.div-table input {\\r\\n width: 100%;\\r\\n}\\r\\n.div-table .cell {\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n.truncate {\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n::ng-deep .ui-confirmdialog {\\r\\n width: unset;\\r\\n}\\r\\n::ng-deep .ui-fileupload .ui-fileupload-buttonbar p-button {\\r\\n -webkit-appearance: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL29yZy1zZXR0aW5ncy9vcmctc2V0dGluZ3MuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usa0NBQWtDO0VBQ2xDLHVCQUF1QjtFQUN2QixtQkFBbUI7Q0FDcEI7QUFFRDtFQUNFLHNCQUFzQjtFQUN0QixpQ0FBaUM7Q0FDbEM7QUFFRDtFQUNFLHVCQUF1QjtFQUN2QixrQ0FBa0M7RUFDbEMsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtDQUNwQjtBQUVEO0VBQ0UsY0FBYztFQUNkLG9CQUFvQjtDQUNyQjtBQUVEO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtDQUNsQjtBQUVEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7QUFFRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUVEO0VBQ0UsMkJBQTJCO0NBQzVCO0FBRUQ7RUFDRSxlQUFlO0VBQ2YsYUFBYTtDQUNkO0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7QUFFRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUVEO0VBQ0UsWUFBWTtDQUNiO0FBRUQ7RUFDRSxvQkFBb0I7Q0FDckI7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQix3QkFBd0I7Q0FDekI7QUFFRDtFQUNFLGFBQWE7Q0FDZDtBQUVEO0VBQ0UseUJBQXlCO0NBQzFCIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50L2FkbWluL29yZy1zZXR0aW5ncy9vcmctc2V0dGluZ3MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idXR0b24tcm93ID4gYnV0dG9uLCAuYWN0aW9ucyA+IGJ1dHRvbiB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG59XHJcbi5kYXRhX29yZ3tcclxuICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XHJcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbn1cclxuXHJcbi5kZWxldGUtYnV0dG9ue1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICBib3JkZXI6IDNweCBzb2xpZCByZ2IoMjU1LCAwLCAwKTtcclxufVxyXG5cclxuLmluZm97XHJcbiAgbWFyZ2luOiAxMHB4ICAwIDEwcHggMDtcclxuICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XHJcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbn1cclxuXHJcbi5oZWFkZXItaW5mb3tcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hcHBseS1idXR0b24ge1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sZWZ0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ucmlnaHQge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG46Om5nLWRlZXAgcC10YWJsZSAudWktcGFnaW5hdG9yIC51aS1kcm9wZG93biB7XHJcbiAgaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLmRpdi10YWJsZS1yb3cge1xyXG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcclxufVxyXG5cclxuLmRpdi10YWJsZS1jZWxsIHtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG59XHJcblxyXG4uZGl2LXRhYmxlIGlucHV0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmRpdi10YWJsZSAuY2VsbCB7XHJcbiAgcGFkZGluZy1ib3R0b206IDVweDtcclxufVxyXG5cclxuLnRydW5jYXRlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnVpLWNvbmZpcm1kaWFsb2cge1xyXG4gIHdpZHRoOiB1bnNldDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC51aS1maWxldXBsb2FkIC51aS1maWxldXBsb2FkLWJ1dHRvbmJhciBwLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n Часовой пояс\\r\\n
\\r\\n
\\r\\n {{settings.timeZone['name']}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email тех. поддержки\\r\\n
\\r\\n
\\r\\n {{settings.techEmail}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Номер тех. поддержки\\r\\n
\\r\\n
\\r\\n {{settings.techNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Токен доступа для сторонних сервисов\\r\\n
\\r\\n
\\r\\n {{settings.techToken}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Часовой пояс\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email тех. поддержки\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Номер тех. поддержки\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { TimeZoneService } from '../../../services/time-zone.service';\r\nimport { TimeZone } from '../../../models/time-zone.model';\r\nimport { OrganizationSettingsService } from '../../../services/organization-settings.service';\r\nimport { ApiResponse } from '../../../models/api-response.model';\r\nimport { ApiStatusEnum } from '../../../enums/api-status.enum';\r\nimport { NotificationService } from '../../../services/notification.service';\r\nimport { OrganizationSettings } from 'src/app/models/organizationsettings.model';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { check_email, check_number } from 'src/app/utils/encryption.util';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-org-settings',\r\n templateUrl: './org-settings.component.html',\r\n styleUrls: ['./org-settings.component.css']\r\n})\r\nexport class OrgSettingsComponent implements OnInit {\r\n\r\n settings: OrganizationSettings;\r\n organizationSettingsCreateForm: FormGroup; \r\n timeZones: any;\r\n organizationEditMode = false; \r\n selectedTimeZone: TimeZone;\r\n\r\n constructor(private timeZoneService: TimeZoneService,\r\n private organizationSettingsService: OrganizationSettingsService,\r\n private notificationService: NotificationService,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n async ngOnInit() { \r\n this.timeZones = await this.timeZoneService.getTimeZones();\r\n this.organizationSettingsService.getOrganizationSettings().subscribe((data: OrganizationSettings) => {\r\n this.settings = data;\r\n this.selectedTimeZone = this.timeZones.find(x => x.id === this.settings.timeZone);\r\n this.settings.timeZone = this.selectedTimeZone;\r\n \r\n });\r\n this.organizationSettingsCreateForm = new FormGroup({\r\n timeZone: new FormControl('', [Validators.required]),\r\n techEmail: new FormControl(''),\r\n techNumber: new FormControl(''),\r\n });\r\n }\r\n\r\n showOrganizationEditDialog() {\r\n this.organizationSettingsCreateForm.setValue({\r\n timeZone: this.selectedTimeZone,\r\n techEmail: this.settings.techEmail,\r\n techNumber: this.settings.techNumber\r\n });\r\n this.organizationEditMode = true;\r\n }\r\n\r\n hideOrganizationEditDialog() {\r\n this.organizationEditMode = false;\r\n this.organizationSettingsCreateForm.reset();\r\n }\r\n\r\n onTimezoneDropdownChanged(event) {\r\n const timezone = event.value;\r\n if (timezone) {\r\n this.organizationSettingsCreateForm.setValue({\r\n timeZone: timezone,\r\n techEmail: this.settings.techEmail,\r\n techNumber: this.settings.techNumber\r\n });\r\n }\r\n }\r\n\r\n save() {\r\n if (!this.organizationSettingsCreateForm.controls['timeZone'].valid) {\r\n this.notificationService.Error(\"Заполните часовой пояс\");\r\n return;\r\n }\r\n if (!check_email(this.organizationSettingsCreateForm.controls['techEmail'].value)) {\r\n this.notificationService.Error(\"Неверный email\");\r\n return;\r\n }\r\n if (!check_number(this.organizationSettingsCreateForm.controls['techNumber'].value)) {\r\n this.notificationService.Error(\"Неверный email\");\r\n return;\r\n }\r\n this.settings = new OrganizationSettings();\r\n this.settings.timeZone = this.organizationSettingsCreateForm.controls['timeZone'].value['id'];\r\n this.settings.techEmail = this.organizationSettingsCreateForm.controls['techEmail'].value;\r\n this.settings.techNumber = this.organizationSettingsCreateForm.controls['techNumber'].value;\r\n this.organizationSettingsService.setOrganizationSettings(this.settings).subscribe((data) => {\r\n const response = data as ApiResponse;\r\n this.notificationService.FromApiResponse(response);\r\n this.organizationEditMode = false;\r\n });\r\n this.settings.timeZone = this.organizationSettingsCreateForm.controls['timeZone'].value;\r\n }\r\n async generateToken(){\r\n this.organizationSettingsService.generateToken().subscribe((data) => {\r\n const response = data as ApiResponse;\r\n this.notificationService.FromApiResponse(response);\r\n this.settings.techToken = data.toString();\r\n });\r\n }\r\n userInRole(role: string[]) {\r\n return this.authenticationService.userInRole(role);\r\n }\r\n\r\n}\r\n","module.exports = \".button-row > button, .actions > button {\\r\\n margin-right: .5em;\\r\\n}\\r\\n.data_org{\\r\\n outline: 1px solid rgba(0,0,0,.1);\\r\\n border: 3px solid #fff;\\r\\n border-radius: 0px;\\r\\n}\\r\\n.delete-button{\\r\\n background-color: red;\\r\\n border: 3px solid rgb(255, 0, 0);\\r\\n}\\r\\n.info{\\r\\n margin: 10px 0 10px 0;\\r\\n outline: 1px solid rgba(0,0,0,.1);\\r\\n border: 3px solid #fff;\\r\\n border-radius: 0px;\\r\\n}\\r\\n.header-info{\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n.apply-button {\\r\\n float: right;\\r\\n margin-top: 10px;\\r\\n}\\r\\n.center {\\r\\n text-align: center;\\r\\n}\\r\\n.left {\\r\\n text-align: left;\\r\\n}\\r\\n.right {\\r\\n text-align: right;\\r\\n}\\r\\n::ng-deep p-table .ui-paginator .ui-dropdown {\\r\\n height: inherit !important;\\r\\n}\\r\\n.div-table {\\r\\n display: table;\\r\\n width: 300px;\\r\\n}\\r\\n.div-table-row {\\r\\n display: table-row;\\r\\n}\\r\\n.div-table-cell {\\r\\n display: table-cell;\\r\\n}\\r\\n.div-table input {\\r\\n width: 100%;\\r\\n}\\r\\n.div-table .cell {\\r\\n padding-bottom: 5px;\\r\\n}\\r\\n.truncate {\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n::ng-deep .ui-confirmdialog {\\r\\n width: unset;\\r\\n}\\r\\n::ng-deep .ui-fileupload .ui-fileupload-buttonbar p-button {\\r\\n -webkit-appearance: none;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL29yZ2FuaXphdGlvbnMvb3JnYW5pemF0aW9ucy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxrQ0FBa0M7RUFDbEMsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtDQUNwQjtBQUVEO0VBQ0Usc0JBQXNCO0VBQ3RCLGlDQUFpQztDQUNsQztBQUVEO0VBQ0UsdUJBQXVCO0VBQ3ZCLGtDQUFrQztFQUNsQyx1QkFBdUI7RUFDdkIsbUJBQW1CO0NBQ3BCO0FBRUQ7RUFDRSxjQUFjO0VBQ2Qsb0JBQW9CO0NBQ3JCO0FBRUQ7RUFDRSxhQUFhO0VBQ2IsaUJBQWlCO0NBQ2xCO0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7QUFFRDtFQUNFLGlCQUFpQjtDQUNsQjtBQUVEO0VBQ0Usa0JBQWtCO0NBQ25CO0FBRUQ7RUFDRSwyQkFBMkI7Q0FDNUI7QUFFRDtFQUNFLGVBQWU7RUFDZixhQUFhO0NBQ2Q7QUFFRDtFQUNFLG1CQUFtQjtDQUNwQjtBQUVEO0VBQ0Usb0JBQW9CO0NBQ3JCO0FBRUQ7RUFDRSxZQUFZO0NBQ2I7QUFFRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUVEO0VBQ0UsaUJBQWlCO0VBQ2pCLHdCQUF3QjtDQUN6QjtBQUVEO0VBQ0UsYUFBYTtDQUNkO0FBRUQ7RUFDRSx5QkFBeUI7Q0FDMUIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvYWRtaW4vb3JnYW5pemF0aW9ucy9vcmdhbml6YXRpb25zLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnV0dG9uLXJvdyA+IGJ1dHRvbiwgLmFjdGlvbnMgPiBidXR0b24ge1xyXG4gIG1hcmdpbi1yaWdodDogLjVlbTtcclxufVxyXG4uZGF0YV9vcmd7XHJcbiAgb3V0bGluZTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG59XHJcblxyXG4uZGVsZXRlLWJ1dHRvbntcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgYm9yZGVyOiAzcHggc29saWQgcmdiKDI1NSwgMCwgMCk7XHJcbn1cclxuXHJcbi5pbmZve1xyXG4gIG1hcmdpbjogMTBweCAgMCAxMHB4IDA7XHJcbiAgb3V0bGluZTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG59XHJcblxyXG4uaGVhZGVyLWluZm97XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uYXBwbHktYnV0dG9uIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubGVmdCB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnJpZ2h0IHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuOjpuZy1kZWVwIHAtdGFibGUgLnVpLXBhZ2luYXRvciAudWktZHJvcGRvd24ge1xyXG4gIGhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGl2LXRhYmxlIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB3aWR0aDogMzAwcHg7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUtcm93IHtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUtY2VsbCB7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxufVxyXG5cclxuLmRpdi10YWJsZSBpbnB1dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5kaXYtdGFibGUgLmNlbGwge1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi50cnVuY2F0ZSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuOjpuZy1kZWVwIC51aS1jb25maXJtZGlhbG9nIHtcclxuICB3aWR0aDogdW5zZXQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudWktZmlsZXVwbG9hZCAudWktZmlsZXVwbG9hZC1idXR0b25iYXIgcC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG4iXX0= */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Логин\\r\\n Роль\\r\\n Действие\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{manager.login}}
\\r\\n
{{manager.role.name}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Название\\r\\n
\\r\\n
\\r\\n {{organization.name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email тех. поддержки\\r\\n
\\r\\n
\\r\\n {{organization.techEmail}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Номер тех. поддержки\\r\\n
\\r\\n
\\r\\n {{organization.techNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Последний авторизовавшийся\\r\\n
\\r\\n
\\r\\n {{organization.lastUserAuth}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Время последней авторизации\\r\\n
\\r\\n
\\r\\n {{lastTimeAuth}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Количетсво сотрудников\\r\\n
\\r\\n
\\r\\n {{countEmployees}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Название\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email тех. поддержки\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Номер тех. поддержки\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Название\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Email тех. поддержки\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Номер тех. поддержки\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Логин\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Роль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Пароль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Подтвердите пароль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Роль\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Table } from 'primeng/table';\r\n\r\nimport { ApiResponse } from '../../../models/api-response.model';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\nimport { Organization } from '../../../models/organization.model'\r\nimport { OrganizationService } from '../../../services/organization.service';\r\nimport { ApiStatusEnum } from '../../../enums/api-status.enum';\r\nimport { Manager, ManagersView } from '../../../models/managers-view.model';\r\nimport { ManagerService } from '../../../services/manager.service';\r\nimport { ManagerRequest } from '../../../models/manager-request.model';\r\nimport { AuthenticationService } from '../../../services/authentication.service';\r\nimport { FormGroup, Validators, FormControl, ValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { SettingsTypeEnum } from 'src/app/enums/settings-type.enum';\r\nimport { check_email, check_number } from 'src/app/utils/encryption.util';\r\nimport { TimeZoneService } from 'src/app/services/time-zone.service';\r\nimport { Role } from 'src/app/models/role.model';\r\nimport { RoleService } from 'src/app/services/role.service';\r\nimport { RoleUpdate } from 'src/app/models/role-update.model';\r\n\r\n@Component({\r\n selector: 'app-organizations',\r\n templateUrl: './organizations.component.html',\r\n styleUrls: ['./organizations.component.css'],\r\n providers: [OrganizationService, ManagerService, RoleService]\r\n})\r\nexport class OrganizationsComponent implements OnInit {\r\n\r\n organization: Organization = new Organization(); // изменяемая организация\r\n organizations: Organization[] = []; // массив организаций\r\n organizationsCount = 0; // количество организаций для загрузки\r\n rolesOrganization: Role[] = [];\r\n\r\n organizationCreateMode = false; // режим создания новой организации\r\n organizationCreateForm: FormGroup; // форма для создания организации\r\n organizationCreateInProgress = false; // флаг для определения выполнения процедуры создания организации\r\n\r\n organizationEditMode = false; // режим редактирования организации\r\n organizationEditForm: FormGroup; // форма для редактирования организации\r\n organizationEditInProgress = false; // флаг для определения выполнения процедуры редактирования организации\r\n\r\n managerCreateMode = false; // режим создания нового менеджера\r\n managerCreateForm: FormGroup; // форма для создания менеджера\r\n managerCreateInProgress = false; // флаг для определения выполнения процедуры создания менеджера\r\n managerEditMode = false; \r\n manager: Manager = new Manager(); // создаваемый менеджер\r\n managers: Manager[]; // массив менеджеров выбранной организации\r\n \r\n loadingManagers = false; // индикатор загрузки данных о менеджерах\r\n\r\n public userRoles;\r\n countEmployees: number; // количетсво сотрудников\r\n lastTimeAuth: string ; // время последней авторизации\r\n public loadingTable = true; // индикатор включения загрузки в таблице\r\n newRoleManager: RoleUpdate = new RoleUpdate();\r\n @ViewChild(Table) managerTable: Table;\r\n flagChoice: string = ''; // флаг для выбора между менеджерами и объектами\r\n\r\n constructor(private organizationService: OrganizationService,\r\n private managerService: ManagerService,\r\n private notificationService: NotificationService,\r\n private authenticationService: AuthenticationService,\r\n private timeZoneService: TimeZoneService,\r\n private roleServices: RoleService) { }\r\n\r\n ngOnInit() {\r\n this.userRoles = this.authenticationService.roles;\r\n this.authenticationService.roleChange.subscribe(() => {\r\n this.userRoles = this.authenticationService.roles;\r\n });\r\n \r\n this.loadOrganizations();\r\n\r\n this.organizationCreateForm = new FormGroup({\r\n name: new FormControl(this.organization.name, [Validators.required]),\r\n techEmail: new FormControl(this.organization.techEmail),\r\n techNumber: new FormControl(this.organization.techNumber),\r\n });\r\n\r\n this.managerCreateForm = new FormGroup({\r\n login: new FormControl(this.manager.login, [Validators.required]),\r\n role: new FormControl({}, [Validators.required]),\r\n password: new FormControl(this.manager.password, [Validators.required]),\r\n confirmPassword: new FormControl(this.manager.confirmPassword)\r\n });\r\n this.managerCreateForm.setValidators(this.passwordMatchValidator());\r\n }\r\n\r\n passwordMatchValidator(): ValidatorFn {\r\n return (formGroup: FormGroup): ValidationErrors => {\r\n const pass = formGroup.get('password').value;\r\n const confirmPass = formGroup.get('confirmPassword').value;\r\n if (pass !== confirmPass) {\r\n formGroup.controls['confirmPassword'].setErrors({ notMatch: true });\r\n } else {\r\n formGroup.controls['confirmPassword'].setErrors(null);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n // Получение данных организаций\r\n loadOrganizations() {\r\n this.organizationService.getOrganizations()\r\n .subscribe((data: Organization[]) => {\r\n this.organizations = data;\r\n this.loadingTable = false;\r\n });\r\n this.roleServices.getRoles()\r\n .subscribe((data: Role[]) => {\r\n this.rolesOrganization = data; \r\n });\r\n }\r\n\r\n // Сохранение данных организации\r\n save() {\r\n if (!this.organizationCreateForm.controls['name'].valid) {\r\n this.notificationService.Error(\"Заполните название\");\r\n return;\r\n }\r\n if (this.organizationCreateForm.controls['techEmail'].value && !check_email(this.organizationCreateForm.controls['techEmail'].value)) {\r\n this.notificationService.Error(\"Неверный email\");\r\n return;\r\n }\r\n if (this.organizationCreateForm.controls['techNumber'].value && !check_number(this.organizationCreateForm.controls['techNumber'].value)) {\r\n this.notificationService.Error(\"Неверный email\");\r\n return;\r\n }\r\n\r\n this.organization.name = this.organizationCreateForm.controls['name'].value;\r\n this.organization.techEmail = this.organizationCreateForm.controls['techEmail'].value;\r\n this.organization.techNumber = this.organizationCreateForm.controls['techNumber'].value;\r\n\r\n if (this.organization.id == null) {\r\n this.organizationCreateInProgress = true;\r\n this.organizationService.createOrganization(this.organization)\r\n .subscribe((data) => {\r\n const error = data as ApiResponse;\r\n\r\n this.notificationService.FromApiResponse(error);\r\n\r\n if (error.statusType == ApiStatusEnum.Success) {\r\n this.loadOrganizations();\r\n this.hideOrganizationCreateDialog();\r\n }\r\n this.organizationCreateInProgress = false;\r\n });\r\n } else {\r\n this.organizationCreateInProgress = true;\r\n this.organizationService.updateOrganization(this.organization)\r\n .subscribe(data => {\r\n this.notificationService.FromApiResponse(data);\r\n this.loadOrganizations();\r\n this.hideOrganizationCreateDialog();\r\n this.organizationCreateInProgress = false;\r\n this.hideOrganizationEditDialog();\r\n });\r\n }\r\n }\r\n\r\n //\r\n editOrganization(organization: Organization) {\r\n this.organization = organization;\r\n }\r\n\r\n // Удаление организации\r\n delete(organization: Organization) {\r\n this.notificationService.Confirm(\r\n 'Удаление организации',\r\n 'Вы действительно хотите удалить организацию ' + organization.name + '? Также будут удалены все сотрудники организации и их данные.',\r\n async () => this.organizationService.deleteOrganization(organization.id).subscribe((data) => {\r\n this.notificationService.FromApiResponse(data);\r\n this.loadOrganizations();\r\n this.hideOrganizationCreateDialog();\r\n this.organization = new Organization();\r\n }));\r\n }\r\n\r\n // Вход в режим создания организации\r\n add() {\r\n this.organization = new Organization();\r\n this.hideOrganizationCreateDialog();\r\n this.organizationCreateMode = true;\r\n }\r\n\r\n // Выход из режима создания организации\r\n hideOrganizationCreateDialog() {\r\n this.organizationCreateMode = false;\r\n this.organizationCreateForm.reset();\r\n }\r\n\r\n // Получение списка менеджеров для организации\r\n getManagersByOrganization(organization: Organization) {\r\n this.loadingManagers = true;\r\n this.managerService.getManagersByOrganization(organization)\r\n .subscribe((data: ManagersView) => {\r\n this.managers = data.managers \r\n this.loadingManagers = false;\r\n },\r\n error => { this.loadingManagers = false; });\r\n }\r\n \r\n // Добавление менеджера для организации\r\n addManager() {\r\n if (!this.managerCreateForm.controls['login'].valid) {\r\n this.notificationService.Error(\"Заполните логин\");\r\n return;\r\n }\r\n if (!this.managerCreateForm.controls['role'].valid) {\r\n this.notificationService.Error(\"Выберите роль\");\r\n return;\r\n }\r\n if (!this.managerCreateForm.controls['password'].valid) {\r\n this.notificationService.Error(\"Заполните пароль\");\r\n return;\r\n }\r\n\r\n if (this.managerCreateForm.controls['confirmPassword'].hasError('notMatch')) {\r\n this.notificationService.Error(\"Пароли не совпадают\");\r\n return;\r\n }\r\n\r\n const login = this.managerCreateForm.controls['login'].value;\r\n const role = this.managerCreateForm.controls['role'].value;\r\n const password = this.managerCreateForm.controls['password'].value;\r\n\r\n const request = new ManagerRequest(login, password, this.organization, role);\r\n this.managerService.createManager(request)\r\n .subscribe(data => {\r\n const error = data as ApiResponse;\r\n this.notificationService.FromApiResponse(error);\r\n this.getManagersByOrganization(this.organization);\r\n this.hideManagerCreateDialog();\r\n });\r\n }\r\n\r\n // Удаление менеджера из организации\r\n deleteManager(manager: Manager) {\r\n this.notificationService.Confirm(\r\n 'Удаление менеджера',\r\n 'Вы действительно хотите удалить менеджера ' + manager.login + '?',\r\n async () => this.managerService.deleteManager(manager.id).subscribe((data) => {\r\n this.notificationService.FromApiResponse(data);\r\n this.getManagersByOrganization(this.organization);\r\n }));\r\n }\r\n\r\n // Обработчик открытия вкладки с организацией\r\n async onDropdownChange(event) {\r\n this.organization = event.value;\r\n var timeZones;\r\n await this.timeZoneService.getTimeZones().then(data => {\r\n timeZones = data.find(x => x.id === this.organization.timeZone);\r\n });\r\n this.lastTimeAuth = (new Date(this.organization.lastTimeAuth)).toISOString().slice(0, 19).replace(/-/g, \"-\").replace(\"T\", \" \") + \" \"+ timeZones['name'];\r\n this.flagChoice = 'organization';\r\n this.getManagersByOrganization(event.value);\r\n this.organizationService.getCountEmployees(this.organization.id).subscribe((data: number) => {\r\n this.countEmployees = data;\r\n });\r\n }\r\n\r\n // Отображение диалога создания менеджера\r\n showManagerCreateDialog() {\r\n this.managerCreateMode = true;\r\n }\r\n\r\n // Скрытие диалога создания менеджера\r\n hideManagerCreateDialog() {\r\n this.manager = new Manager();\r\n this.managerCreateMode = false;\r\n this.managerCreateForm.reset();\r\n }\r\n\r\n // Отображение окна переименования организации\r\n showOrganizationEditDialog() {\r\n this.organizationCreateForm.setValue({\r\n name: this.organization.name,\r\n techEmail: this.organization.techEmail,\r\n techNumber: this.organization.techNumber\r\n });\r\n this.organizationEditMode = true;\r\n }\r\n\r\n showManagerEditDialog() {\r\n this.managerCreateForm.setValue({\r\n login: '',\r\n role: this.manager.role,\r\n password: '',\r\n confirmPassword: ''\r\n });\r\n this.managerEditMode = true;\r\n }\r\n edit(manager: Manager){\r\n this.manager = manager;\r\n this.showManagerEditDialog();\r\n }\r\n saveManagerRole(){\r\n console.log(this.manager);\r\n console.log(this.managerCreateForm.controls['role'].value);\r\n this.newRoleManager.id = this.manager.id;\r\n this.newRoleManager.roleId = this.managerCreateForm.controls['role'].value.id;\r\n this.managerService.updateRoleManager(this.newRoleManager)\r\n .subscribe(data => {\r\n const error = data as ApiResponse;\r\n this.notificationService.FromApiResponse(error);\r\n this.getManagersByOrganization(this.organization);\r\n this.hideManagerEditDialog();\r\n });\r\n }\r\n // Скрытие окна переименования организации\r\n hideOrganizationEditDialog() {\r\n this.organizationEditMode = false;\r\n this.organizationCreateForm.reset();\r\n }\r\n // Скрытие окна редактирования менеджера\r\n hideManagerEditDialog() {\r\n this.managerEditMode = false;\r\n this.manager = null;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9hZG1pbi9yZXBvcnRzL29yZ2FuaXphdGlvbi9yZXBvcnQtb3JnYW5pemF0aW9uLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Название\\r\\n Email тех. поддержки\\r\\n Номер тех. поддержки\\r\\n Последний авторизовавшийся\\r\\n Время последней авторизации\\r\\n Количество сотрудников\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{organization.name}}\\r\\n {{organization.techEmail}}\\r\\n {{organization.techNumber}}\\r\\n {{organization.lastUserAuth}}\\r\\n {{organization.lastTimeAuth}}\\r\\n {{organization.countEmployee}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Table } from 'primeng/table';\r\nimport { Employee } from 'src/app/models/employee.model';\r\nimport { TimesheetRequest } from 'src/app/models/timesheet-request.model';\r\nimport { TimesheetResponce } from 'src/app/models/timesheet-responce.model';\r\nimport { EmployeeService } from 'src/app/services/employee.service';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { MonthFormatPipe } from 'src/app/pipes/month-format.pipe';\r\nimport { NgCalendarLocale } from 'src/app/locales/ru.locale';\r\nimport { Organization } from 'src/app/models/organization.model';\r\nimport { OrganizationService } from 'src/app/services/organization.service';\r\nimport { DataTable } from 'primeng/primeng';\r\n\r\n@Component({\r\n selector: 'app-report-organization',\r\n templateUrl: './report-organization.component.html',\r\n styleUrls: ['./report-organization.component.css']\r\n})\r\nexport class ReportOrganizationComponent implements OnInit {\r\n\r\n calendarLocale = NgCalendarLocale;\r\n\r\n month: Date;\r\n enableButton = false;\r\n yearRange = '2000:' + (new Date()).getFullYear().toString();\r\n organizations: Organization[] = [];\r\n\r\n\r\n\r\n @ViewChild(Table) timesheetTable: Table;\r\n\r\n constructor(private employeeService: EmployeeService,\r\n private reportService: ReportService,\r\n private organizationService: OrganizationService,\r\n private datepipe: DatePipe,\r\n private monthFormatPipe: MonthFormatPipe) {}\r\n\r\n ngOnInit() {\r\n this.loadOrganizations();\r\n }\r\n\r\n loadOrganizations() {\r\n this.reportService.getOrganization().subscribe((data: Organization[]) => {\r\n this.organizations = data;\r\n this.organizations.forEach((org)=>{\r\n this.organizationService.getCountEmployees(org.id).subscribe((data: number) =>{ \r\n org.countEmployee = data;\r\n });\r\n org.lastTimeAuth = this.datepipe.transform(org.lastTimeAuth, 'dd.MM.yyyy HH:mm');\r\n }\r\n );\r\n });\r\n\r\n }\r\n\r\n getOrganization(){\r\n this.loadOrganizations();\r\n }\r\n getCountEmployee(id){\r\n return this.organizationService.getCountEmployees(id);\r\n }\r\n\r\n getReportData() {\r\n let report = [];\r\n for (let org of this.organizations) {\r\n var data = {\r\n 'name': org.name,\r\n 'email': org.techEmail,\r\n 'number': org.techNumber,\r\n 'last_user': org.lastUserAuth,\r\n 'last_time_user': org.lastTimeAuth,\r\n 'count_emploee': org.countEmployee,\r\n\r\n }\r\n report.push(data);\r\n }\r\n return report;\r\n }\r\n exportExcel() {\r\n const worksheet = XLSX.utils.json_to_sheet(this.getReportData());\r\n worksheet.A1.v = \"Название\";\r\n worksheet.B1.v = \"Email тех. поддержки\";\r\n worksheet.C1.v = \"Номер тех. поддержки\";\r\n worksheet.D1.v = \"Последний авторизовавшийся\";\r\n worksheet.E1.v = \"Время последней авторизации\";\r\n worksheet.F1.v = \"Количество сотрудников\";\r\n worksheet['!cols'] = [\r\n {wch:10},\r\n {wch:14},\r\n {wch:14}\r\n ];\r\n const workbook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n var nowDate = this.datepipe.transform(new Date(), 'dd.MM.yyyy HH:mm')\r\n XLSX.writeFile(workbook, 'Отчет по организациям ' + nowDate + '.xlsx');\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9hZG1pbi9yZXBvcnRzL3JlcG9ydHMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.css']\r\n})\r\nexport class ReportsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","module.exports = \".timesheet-container {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.timesheet{\\r\\n width: -moz-fit-content;\\r\\n width: fit-content;\\r\\n margin: 0 auto;\\r\\n}\\r\\n\\r\\n.center {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.not-working{\\r\\n background: rgb(206, 127, 117)!important;\\r\\n}\\r\\n\\r\\n.working {\\r\\n background: rgb(255, 173, 74)!important;\\r\\n}\\r\\n\\r\\n.output {\\r\\n background: rgba(206, 127, 117, 0.3)!important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL3JlcG9ydHMvdGltZXNoZWV0L3RpbWVzaGVldC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsbUJBQW1CO0VBQ25CLFFBQVE7RUFDUixTQUFTO0NBQ1Y7O0FBRUQ7RUFDRSx3QkFBbUI7RUFBbkIsbUJBQW1CO0VBQ25CLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSx5Q0FBeUM7Q0FDMUM7O0FBRUQ7RUFDRSx3Q0FBd0M7Q0FDekM7O0FBRUQ7RUFDRSwrQ0FBK0M7Q0FDaEQiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvYWRtaW4vcmVwb3J0cy90aW1lc2hlZXQvdGltZXNoZWV0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGltZXNoZWV0LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi50aW1lc2hlZXR7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5ub3Qtd29ya2luZ3tcclxuICBiYWNrZ3JvdW5kOiByZ2IoMjA2LCAxMjcsIDExNykhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud29ya2luZyB7XHJcbiAgYmFja2dyb3VuZDogcmdiKDI1NSwgMTczLCA3NCkhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub3V0cHV0IHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDIwNiwgMTI3LCAxMTcsIDAuMykhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n Месяц\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Сотрудники\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Сотрудники ({{timesheet.employeeTimesheets.length}})
\\r\\n \\r\\n \\r\\n
{{day}}
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{dayOfWeek.name}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{employeesTimesheet.employee.fio}}\\r\\n \\r\\n \\r\\n
{{day.duration}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Table } from 'primeng/table';\r\nimport { Employee } from 'src/app/models/employee.model';\r\nimport { TimesheetRequest } from 'src/app/models/timesheet-request.model';\r\nimport { TimesheetResponce } from 'src/app/models/timesheet-responce.model';\r\nimport { EmployeeService } from 'src/app/services/employee.service';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { MonthFormatPipe } from 'src/app/pipes/month-format.pipe';\r\nimport { NgCalendarLocale } from 'src/app/locales/ru.locale';\r\n\r\n@Component({\r\n selector: 'app-timesheet',\r\n templateUrl: './timesheet.component.html',\r\n styleUrls: ['./timesheet.component.css']\r\n})\r\nexport class TimesheetComponent implements OnInit {\r\n\r\n calendarLocale = NgCalendarLocale;\r\n\r\n month: Date;\r\n enableButton = false;\r\n yearRange = '2000:' + (new Date()).getFullYear().toString();\r\n employees: Employee[] = [];\r\n selectedEmployee: Employee;\r\n\r\n timesheet: TimesheetResponce;\r\n workdayLink: string;\r\n\r\n @ViewChild(Table) timesheetTable: Table;\r\n\r\n constructor(private employeeService: EmployeeService,\r\n private reportService: ReportService,\r\n private datepipe: DatePipe,\r\n private monthFormatPipe: MonthFormatPipe) {}\r\n\r\n ngOnInit() {\r\n const all = new Employee(null, \"Все\", null, null);\r\n this.employees.push(all);\r\n this.selectedEmployee = this.employees[0];\r\n\r\n this.loadEmployees();\r\n }\r\n\r\n loadEmployees() {\r\n this.employeeService.getEmployees().then((data: Employee[]) => {\r\n this.employees = this.employees.concat(data)\r\n });\r\n }\r\n\r\n onCalendarSelect(){\r\n this.doToggleButton(true);\r\n }\r\n\r\n doToggleButton(status: boolean){\r\n this.enableButton = status;\r\n }\r\n\r\n getTimesheet(){\r\n this.doToggleButton(false);\r\n\r\n let request = new TimesheetRequest(this.month, this.selectedEmployee.id ? this.selectedEmployee : null);\r\n this.reportService.getTimesheet(request).subscribe((data)=> {\r\n this.timesheet = data;\r\n this.workdayLink = this.initWorkdayLink();\r\n });\r\n\r\n this.doToggleButton(true);\r\n }\r\n\r\n exportToExcel() {\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.timesheetTable.el.nativeElement);\r\n // Adding header with month to xls\r\n var aoa = XLSX.utils.sheet_to_json(ws, { header: 1 });\r\n aoa.unshift([this.monthFormatPipe.transform(this.month) + ' ' + this.datepipe.transform(this.month, 'yyyy')]);\r\n var sheet = XLSX.utils.aoa_to_sheet(aoa);\r\n sheet['!merges'] = [\r\n { s: { c: 0, r: 0 }, e: { c: aoa[1].length - 1, r: 0 } }\r\n ];\r\n\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, sheet, 'Sheet1');\r\n XLSX.writeFile(wb, this.datepipe.transform(this.month, 'MM-yyyy') + ' ' + this.selectedEmployee.fio + '.xlsx');\r\n }\r\n\r\n getWorkdayReportLink(id: string){\r\n return this.workdayLink + id;\r\n }\r\n\r\n initWorkdayLink(){\r\n var result = '/admin/reports/workday?start=';\r\n result = result + this.datepipe.transform(this.month, 'MM/dd/yyyy');\r\n\r\n var newDate = this.datepipe.transform(this.getEndDate(this.month), 'MM/dd/yyyy');\r\n\r\n result = result + '&end=' + newDate;\r\n result = result + '&employee=';\r\n\r\n return result;\r\n }\r\n\r\n getEndDate(date: Date) {\r\n // Create new date object, because date is passed by reference\r\n var localDate = new Date(date);\r\n\r\n var nextMonth = new Date(localDate.setMonth(localDate.getMonth() + 1));\r\n return nextMonth.setDate(nextMonth.getDate() - 1);\r\n }\r\n}\r\n","module.exports = \"::ng-deep .ui-calendar .ui-datepicker .ui-datepicker-header .ui-datepicker-title .ui-datepicker-month {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL3JlcG9ydHMvd29ya2RheS93b3JrZGF5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxtQkFBbUI7Q0FDcEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvYWRtaW4vcmVwb3J0cy93b3JrZGF5L3dvcmtkYXkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjo6bmctZGVlcCAudWktY2FsZW5kYXIgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLXRpdGxlIC51aS1kYXRlcGlja2VyLW1vbnRoIHtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n Период времени\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Сотрудник\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Дата\\r\\n Время открытия\\r\\n Время закрытия\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{employeeWorkday.date | date:\\\"dd.MM.yyyy\\\"}}\\r\\n {{employeeWorkday.start}}\\r\\n {{employeeWorkday.end}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Employee } from 'src/app/models/employee.model';\r\nimport { WorkdayRequest } from 'src/app/models/workday-request.model';\r\nimport { Workday, WorkdayResponse } from 'src/app/models/workday-response.model';\r\nimport { EmployeeService } from 'src/app/services/employee.service';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { NgCalendarLocale } from 'src/app/locales/ru.locale';\r\n\r\n@Component({\r\n selector: 'app-workday',\r\n templateUrl: './workday.component.html',\r\n styleUrls: ['./workday.component.css']\r\n})\r\nexport class WorkdayComponent implements OnInit {\r\n\r\n calendarLocale = NgCalendarLocale;\r\n\r\n selectedEmployee: Employee;\r\n employees: Employee[] = [];\r\n\r\n dateRange: Date[] = [new Date(), new Date()];\r\n yearRange = '2000:' + (new Date()).getFullYear().toString();\r\n\r\n employeeWorkdays: Workday[];\r\n\r\n constructor(private employeeService: EmployeeService,\r\n private reportService: ReportService,\r\n private activatedRoute: ActivatedRoute,\r\n private datePipe: DatePipe) {\r\n }\r\n\r\n async ngOnInit() {\r\n await this.loadEmployees();\r\n this.dateRange = [new Date(), new Date()];\r\n\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params['employee'] && params['start'] && params['end']){\r\n var start = new Date(params['start']);\r\n var end = new Date(params['end']);\r\n this.dateRange = [start, end];\r\n\r\n var employee = params['employee'];\r\n this.selectedEmployee = this.employees.find(x => x.id === employee);\r\n\r\n this.getWorkdays();\r\n }\r\n });\r\n }\r\n\r\n async loadEmployees() {\r\n await this.employeeService.getEmployees().then((data: Employee[]) => {\r\n this.employees = this.employees.concat(data);\r\n this.selectedEmployee = this.employees[0];\r\n });\r\n }\r\n\r\n getWorkdays() {\r\n // In case selected only one day and not range\r\n if (this.dateRange[1] == null) {\r\n this.dateRange[1] = this.dateRange[0];\r\n }\r\n\r\n let request = new WorkdayRequest(this.dateRange[0], this.dateRange[1], [this.selectedEmployee]);\r\n this.reportService.getWorkdays(request).subscribe((data : WorkdayResponse) => this.employeeWorkdays = data.workdays);\r\n }\r\n\r\n exportExcel() {\r\n const worksheet = XLSX.utils.json_to_sheet(this.getReportData());\r\n worksheet.A1.v = \"Дата\";\r\n worksheet.B1.v = \"Время открытия\";\r\n worksheet.C1.v = \"Время закрытия\";\r\n worksheet['!cols'] = [\r\n {wch:10},\r\n {wch:14},\r\n {wch:14}\r\n ];\r\n const workbook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n XLSX.writeFile(workbook, 'Рабочий день ' + this.selectedEmployee.fio + ' ' + this.gatDates() + '.xlsx');\r\n }\r\n\r\n getReportData() {\r\n let report = [];\r\n for (let employeeWorkday of this.employeeWorkdays) {\r\n employeeWorkday.date = this.datePipe.transform(employeeWorkday.date, 'dd.MM.yyyy');\r\n report.push(employeeWorkday);\r\n }\r\n return report;\r\n }\r\n\r\n gatDates() {\r\n if (this.dateRange.length === 0){\r\n return;\r\n }\r\n\r\n if (this.dateRange.length === 1){\r\n return this.stringifyDate(this.dateRange[0]);\r\n } else if(this.dateRange.length === 2){\r\n return this.stringifyDate(this.dateRange[0]) + '-' + this.stringifyDate(this.dateRange[1]);\r\n } else {\r\n var temp = '';\r\n this.dateRange.forEach(date => {\r\n temp = temp + ', ' + this.stringifyDate(date);\r\n });\r\n\r\n return temp;\r\n }\r\n }\r\n\r\n stringifyDate(date: any){\r\n return this.datePipe.transform(date, 'dd-MM-yyyy');\r\n }\r\n}\r\n","module.exports = \"::ng-deep .ui-calendar .ui-datepicker .ui-datepicker-header .ui-datepicker-title .ui-datepicker-month {\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2FkbWluL3JlcG9ydHMvd29ya2RheV9vbmUvd29ya2RheV9vbmUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtDQUNwQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9hZG1pbi9yZXBvcnRzL3dvcmtkYXlfb25lL3dvcmtkYXlfb25lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAgLnVpLWNhbGVuZGFyIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci10aXRsZSAudWktZGF0ZXBpY2tlci1tb250aCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n День\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Сотрудники\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n ФИО\\r\\n ИНН\\r\\n Время открытия\\r\\n Время закрытия\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{employeeWorkDay.employee.fio}}\\r\\n {{employeeWorkDay.employee.inn}}\\r\\n {{employeeWorkDay.workday.start}}\\r\\n {{employeeWorkDay.workday.end}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { DatePipe } from '@angular/common';\r\nimport { Component, NgModule, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Employee } from 'src/app/models/employee.model';\r\nimport { WorkdayRequest } from 'src/app/models/workday-request.model';\r\nimport { Workday, WorkdayResponse } from 'src/app/models/workday-response.model';\r\nimport { EmployeeService } from 'src/app/services/employee.service';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport * as XLSX from 'xlsx';\r\nimport { NgCalendarLocale } from 'src/app/locales/ru.locale';\r\nimport { EmployeeWorkDay } from 'src/app/models/employee_workday.model';\r\n\r\n\r\n@Component({\r\n selector: 'app-workday-one',\r\n templateUrl: './workday_one.component.html',\r\n styleUrls: ['./workday_one.component.css'],\r\n \r\n})\r\n\r\n\r\nexport class WorkdayOneComponent implements OnInit {\r\n\r\n calendarLocale = NgCalendarLocale;\r\n selectedEmployee: Employee[] = [];\r\n employees: Employee[] = [];\r\n employeesWorksDays: EmployeeWorkDay[] = []\r\n\r\n date: Date = new Date();\r\n yearRange = '2000:' + (new Date()).getFullYear().toString();\r\n\r\n employeeWorkday: Workday;\r\n returnEmployees :Employee[];\r\n constructor(private employeeService: EmployeeService,\r\n private reportService: ReportService,\r\n private activatedRoute: ActivatedRoute,\r\n private datePipe: DatePipe) {\r\n }\r\n async ngOnInit() {\r\n await this.loadEmployees();\r\n\r\n this.date = new Date();\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params['employee'] && params['start'] && params['end']){\r\n var start = new Date(params['start']);\r\n var end = new Date(params['end']);\r\n this.date = start;\r\n\r\n var employee = params['employee'];\r\n this.selectedEmployee.push(this.employees.find(x => x.id === employee));\r\n this.getWorkdays();\r\n }\r\n });\r\n }\r\n\r\n async loadEmployees() {\r\n await this.employeeService.getEmployees().then((data: Employee[]) => {\r\n this.employees = this.employees.concat(data);\r\n this.selectedEmployee.push(this.employees[0]);\r\n });\r\n }\r\n\r\n getWorkdays() {\r\n // In case selected only one day and not range\r\n let request = new WorkdayRequest(this.date, this.date, this.selectedEmployee);\r\n this.reportService.getWorkday(request).subscribe((data) => {\r\n this.employeeWorkday = data['workday'];\r\n this.employeesWorksDays = data['employeeWorkDay'].filter(el=>el[\"workday\"]!=null); \r\n \r\n });\r\n }\r\n\r\n exportExcel() {\r\n const worksheet = XLSX.utils.json_to_sheet(this.getReportData());\r\n worksheet.A1.v = \"ФИО\";\r\n worksheet.B1.v = \"ИНН\";\r\n worksheet.C1.v = \"Время открытия\";\r\n worksheet.D1.v = \"Время закрытия\";\r\n worksheet['!cols'] = [\r\n {wch:10},\r\n {wch:14},\r\n {wch:14}\r\n ];\r\n const workbook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n XLSX.writeFile(workbook, 'Рабочий день ' + this.getDates() + '.xlsx');\r\n }\r\n\r\n getReportData() {\r\n let report = [];\r\n for (let emp of this.employeesWorksDays) {\r\n var data = {\"fio\":emp.employee.fio,\"inn\":emp.employee.inn,\"start\":emp.workday.start,\"end\":emp.workday.end, }\r\n report.push(data);\r\n }\r\n return report;\r\n }\r\n\r\n getDates() {\r\n return this.stringifyDate(this.date);\r\n }\r\n\r\n stringifyDate(date: any){\r\n return this.datePipe.transform(date, 'dd-MM-yyyy');\r\n }\r\n}\r\n","module.exports = \".footer {\\r\\n position: fixed;\\r\\n text-align: right;\\r\\n width: 100%;\\r\\n font-size: 12px;\\r\\n bottom: 0px;\\r\\n right: 20px;\\r\\n z-index: 100;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osWUFBWTtJQUNaLGFBQWE7Q0FDaEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIHotaW5kZXg6IDEwMDtcclxufVxyXG4iXX0= */\"","module.exports = \"
\\r\\n Версия: {{appVersion}}\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n appVersion = environment.version;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9mb3JiaWRkZW4vZm9yYmlkZGVuLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n

\\r\\n Доступ запрещён\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-forbidden',\r\n templateUrl: './forbidden.component.html',\r\n styleUrls: ['./forbidden.component.css']\r\n})\r\nexport class ForbiddenComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".login-input {\\r\\n display: block;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFlO0VBQ2YsWUFBWTtDQUNiIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50L2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubG9naW4taW5wdXQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n

Администратор

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Login is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Password is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
Некорректный логин или пароль.
\\r\\n
Вы не можете войти с неподтвержденной учётной записью. Обратитесь в администратору.
\\r\\n
Что-то пошло не так.
\\r\\n
Неверный логин или пароль.
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n loginForm: FormGroup;\r\n returnUrl: string;\r\n submitted = false;\r\n submitClick = false;\r\n errorStatus = 0;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n get formData() { return this.loginForm.controls; }\r\n\r\n ngOnInit() {\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required]\r\n });\r\n\r\n this.authenticationService.logout();\r\n\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/admin';\r\n }\r\n\r\n onLogin() {\r\n this.submitted = true;\r\n\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.submitClick = true;\r\n this.authenticationService.login(this.formData.username.value, this.formData.password.value)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.router.navigate([this.returnUrl]);\r\n },\r\n error => {\r\n this.errorStatus = error.status;\r\n this.submitClick = false;\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \".info {\\r\\n height: 30px;\\r\\n}\\r\\n\\r\\n.container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex-wrap: wrap;\\r\\n align-content: center;\\r\\n}\\r\\n\\r\\n.staff {\\r\\n max-width: 400px;\\r\\n margin-top: 100px;\\r\\n text-align: center;\\r\\n padding-top: 30px;\\r\\n padding-bottom: 50px;\\r\\n background-color: snow;\\r\\n /*border: 3px outset;*/\\r\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\r\\n}\\r\\n\\r\\n.qr-code {\\r\\n width: 300px;\\r\\n height: 300px; /* OLD - iOS 6-, Safari 3.1-6, BB7 */ /* TWEENER - IE 10 */ /* NEW - Safari 6.1+. iOS 7.1+, BB10 */\\r\\n display: flex; /* NEW, Spec - Firefox, Chrome, Opera */\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n margin-top: 80px;\\r\\n margin-bottom: 20px;\\r\\n border: 1px solid lightgray;\\r\\n}\\r\\n\\r\\n.code-blur {\\r\\n font-size: 200px;\\r\\n filter: blur(8px);\\r\\n}\\r\\n\\r\\n.messages {\\r\\n max-width: 600px;\\r\\n}\\r\\n\\r\\n::ng-deep body .ui-messages.ui-messages-error .ui-messages-icon.pi-times:before {\\r\\n content: \\\"\\\\e90c\\\";\\r\\n}\\r\\n\\r\\n::ng-deep body .ui-messages ul > li {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n flex-wrap: wrap;\\r\\n margin-right: 35px;\\r\\n}\\r\\n\\r\\n.background {\\r\\n position: absolute;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n z-index: -5000;\\r\\n}\\r\\n\\r\\n::ng-deep body {\\r\\n background: transparent;\\r\\n}\\r\\n\\r\\n/* Notification */\\r\\n\\r\\n::ng-deep .ui-messages {\\r\\n width: 300px;\\r\\n}\\r\\n\\r\\n/* Internet Explorer media */\\r\\n\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\r\\n .qr-code {\\r\\n width: auto;\\r\\n }\\r\\n\\r\\n .staff {\\r\\n max-width: 350px;\\r\\n }\\r\\n\\r\\n ::ng-deep .ui-messages ul > li {\\r\\n -ms-overflow-x: hidden;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L3N0YWZmL3N0YWZmLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0NBQ2Q7O0FBRUQ7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixzQkFBc0I7Q0FDdkI7O0FBRUQ7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2Qix1QkFBdUI7RUFDdkIsNkVBQTZFO0NBQzlFOztBQUVEO0VBQ0UsYUFBYTtFQUNiLGNBQWMsQ0FDUSxxQ0FBcUMsQ0FDckMscUJBQXFCLENBQ3BCLHVDQUF1QztFQUM5RCxjQUFjLENBQUMsd0NBQXdDO0VBQ3ZELHdCQUF3QjtFQUN4QixvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQiw0QkFBNEI7Q0FDN0I7O0FBRUQ7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCO0NBQ25COztBQUVEO0lBQ0ksaUJBQWlCO0NBQ3BCOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsY0FBYztFQUNkLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsbUJBQW1CO0NBQ3BCOztBQUVEO0lBQ0ksbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixZQUFZO0lBQ1oscUJBQWtCO09BQWxCLGtCQUFrQjtJQUNsQixlQUFlO0NBQ2xCOztBQUVEO0VBQ0Usd0JBQXdCO0NBQ3pCOztBQUVELGtCQUFrQjs7QUFDbEI7RUFDRSxhQUFhO0NBQ2Q7O0FBRUQsNkJBQTZCOztBQUM3QjtFQUNFO01BQ0ksWUFBWTtHQUNmOztFQUVEO0lBQ0UsaUJBQWlCO0dBQ2xCOztFQUVEO0lBQ0UsdUJBQXVCO0dBQ3hCO0NBQ0YiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvc3RhZmYvc3RhZmYuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pbmZvIHtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uc3RhZmYge1xyXG4gIG1heC13aWR0aDogNDAwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHNub3c7XHJcbiAgLypib3JkZXI6IDNweCBvdXRzZXQ7Ki9cclxuICBib3gtc2hhZG93OiAwIDRweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgNnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xyXG59XHJcblxyXG4ucXItY29kZSB7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIGhlaWdodDogMzAwcHg7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7IC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02LCBCQjcgKi9cclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLyogVFdFRU5FUiAtIElFIDEwICovXHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4OyAvKiBORVcgLSBTYWZhcmkgNi4xKy4gaU9TIDcuMSssIEJCMTAgKi9cclxuICBkaXNwbGF5OiBmbGV4OyAvKiBORVcsIFNwZWMgLSBGaXJlZm94LCBDaHJvbWUsIE9wZXJhICovXHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xyXG59XHJcblxyXG4uY29kZS1ibHVyIHtcclxuICBmb250LXNpemU6IDIwMHB4O1xyXG4gIGZpbHRlcjogYmx1cig4cHgpO1xyXG59XHJcblxyXG4ubWVzc2FnZXMge1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxufVxyXG5cclxuOjpuZy1kZWVwIGJvZHkgLnVpLW1lc3NhZ2VzLnVpLW1lc3NhZ2VzLWVycm9yIC51aS1tZXNzYWdlcy1pY29uLnBpLXRpbWVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGNcIjtcclxufVxyXG5cclxuOjpuZy1kZWVwIGJvZHkgLnVpLW1lc3NhZ2VzIHVsID4gbGkge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xyXG59XHJcblxyXG4uYmFja2dyb3VuZCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgei1pbmRleDogLTUwMDA7XHJcbn1cclxuXHJcbjo6bmctZGVlcCBib2R5IHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyogTm90aWZpY2F0aW9uICovXHJcbjo6bmctZGVlcCAudWktbWVzc2FnZXMge1xyXG4gIHdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLyogSW50ZXJuZXQgRXhwbG9yZXIgbWVkaWEgKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcclxuICAucXItY29kZSB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLnN0YWZmIHtcclxuICAgIG1heC13aWR0aDogMzUwcHg7XHJcbiAgfVxyXG5cclxuICA6Om5nLWRlZXAgLnVpLW1lc3NhZ2VzIHVsID4gbGkge1xyXG4gICAgLW1zLW92ZXJmbG93LXg6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n

Выберите событие

\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n 0\\\">Код действителен в течении {{ secondsRemaining }} секунд\\r\\n Время истекло. Повторите операцию.\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Message } from 'primeng/components/common/message';\r\nimport { Subject } from 'rxjs';\r\nimport { ActionTokenEnum } from 'src/app/enums/action-token.enum';\r\nimport { ActionTokenResult } from 'src/app/models/action-token-result.model';\r\nimport { ActionToken } from 'src/app/models/action-token.model';\r\nimport { ActionTokenService } from 'src/app/services/action-token.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { SignalRService } from 'src/app/services/signal-r.service';\r\nimport { SettingService } from '../../services/setting.service';\r\nimport { Settings } from '../../models/setting.model';\r\nimport { SettingsTypeEnum } from '../../enums/settings-type.enum';\r\nimport { decrypt } from 'src/app/utils/encryption.util';\r\n\r\ninterface Action {\r\n name: string;\r\n action: ActionTokenEnum;\r\n}\r\n@Component({\r\n selector: 'app-staff',\r\n templateUrl: './staff.component.html',\r\n styleUrls: ['./staff.component.css']\r\n})\r\nexport class StaffComponent implements OnInit {\r\n\r\n decryptKey = \"Z6c$Laaph7~S8}D?\";\r\n\r\n actions: Action[];\r\n selectedAction: Action;\r\n\r\n secondsRemaining: number;\r\n intervalQR: any;\r\n msgsTimer: any;\r\n loading = false;\r\n actionTokenResult: ActionTokenResult;\r\n actionToken: ActionToken;\r\n actionTokenVisible = true;\r\n firstInit = true;\r\n\r\n backgroundImagePath: string;\r\n\r\n // Notification\r\n notificationVisible = false;\r\n notificationMessages: Message[] = [];\r\n\r\n isIEOrEdge = /msie\\s|trident\\/|edge\\//i.test(window.navigator.userAgent);\r\n isMaxthon = /maxthon\\//i.test(window.navigator.userAgent);\r\n\r\n constructor(private actionTokenService: ActionTokenService,\r\n private notificationService: NotificationService,\r\n private signalRService: SignalRService,\r\n private settingService: SettingService) {\r\n this.secondsRemaining = 0;\r\n\r\n this.actions = [\r\n { name: 'Начало рабочего дня', action: ActionTokenEnum.OpenWorkday },\r\n { name: 'Окончание рабочего дня', action: ActionTokenEnum.CloseWorkday }\r\n ];\r\n this.selectedAction = this.actions[0];\r\n }\r\n\r\n ngOnInit() {\r\n this.signalRService.onSuccessToken((actionTokenResult: ActionTokenResult) => {\r\n if (this.actionToken) {\r\n if (actionTokenResult.id === this.actionToken.id) {\r\n this.actionToken = null;\r\n this.secondsRemaining = 0;\r\n\r\n this.showNotification('success', 'Действие выполнено', decrypt(this.decryptKey, actionTokenResult.message));\r\n\r\n this.firstInit = true;\r\n this.actionTokenResult = actionTokenResult;\r\n }\r\n }\r\n });\r\n\r\n this.signalRService.onErrorToken((actionTokenResult: ActionTokenResult) => {\r\n if (this.actionToken) {\r\n if (actionTokenResult.id === this.actionToken.id) {\r\n this.showNotification('error', 'Ошибка', decrypt(this.decryptKey, actionTokenResult.message));\r\n }\r\n }\r\n })\r\n\r\n this.settingService.getSettings().subscribe((data: Settings) => {\r\n const backgroundImagePath = data.settings.find(x => x.type === SettingsTypeEnum.Background);\r\n if (backgroundImagePath) {\r\n this.backgroundImagePath = backgroundImagePath.value;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.signalRService.unsubscribeAll();\r\n }\r\n\r\n actionChange(val: Action): void {\r\n this.clearActionToken();\r\n }\r\n\r\n startTimer(): void {\r\n if (this.intervalQR) {\r\n clearInterval(this.intervalQR);\r\n }\r\n\r\n this.intervalQR = setInterval(() => {\r\n if (this.secondsRemaining === 0 || !this.actionToken) {\r\n clearInterval(this.intervalQR);\r\n this.clearActionToken();\r\n } else {\r\n this.secondsRemaining--;\r\n }\r\n }, 1000)\r\n }\r\n\r\n getToken(): void {\r\n this.clearActionToken();\r\n this.loading = true;\r\n this.hideNotification();\r\n\r\n this.actionTokenService.getToken(this.selectedAction.action, this.signalRService.getConnectionId()).subscribe((data) => {\r\n this.loading = false;\r\n this.firstInit = false;\r\n\r\n this.actionToken = data;\r\n\r\n const utcNow = Date.now();\r\n this.secondsRemaining = Math.ceil((data.dueDate.getTime() - utcNow) / 1000);\r\n this.startTimer();\r\n });\r\n }\r\n\r\n clearActionToken() {\r\n this.firstInit = true;\r\n this.actionToken = null;\r\n this.actionTokenResult = null;\r\n this.secondsRemaining = 0;\r\n }\r\n\r\n hideNotification(): void {\r\n this.actionTokenVisible = true;\r\n this.notificationVisible = false;\r\n this.notificationMessages = [];\r\n }\r\n\r\n showNotification(severity_: string, summary_: string, detail_: string): void {\r\n this.actionTokenVisible = false;\r\n this.notificationVisible = true;\r\n this.clearActionToken();\r\n\r\n this.notificationMessages = [];\r\n this.notificationMessages.push({ severity: severity_, summary: summary_, detail: detail_ });\r\n }\r\n}\r\n","export const UrlConstants = {\r\n Auth:{\r\n Login: 'api/auth/login',\r\n Logout:'api/auth/logout'\r\n },\r\n Token:{\r\n Generate:'api/actiontoken/generate/:type/:connect',\r\n },\r\n Employees: {\r\n List: 'api/employees/list',\r\n All: 'api/employees/all',\r\n Get: 'api/employees/:userId',\r\n Create: 'api/employees/create',\r\n Update: 'api/employees/:userId',\r\n Delete: 'api/employees/:userId',\r\n RegisterPhone: 'api/employees/registerPhone',\r\n EmployeeByMobileItn: 'api/employees/getEmployeeByMobileItn',\r\n Import: 'api/employees/import',\r\n Export: 'api/employees/export',\r\n UpdateEmployees: 'api/employees/updateEmployees'\r\n },\r\n Settings: {\r\n All: 'api/settings',\r\n Update: 'api/settings/update'\r\n },\r\n TimeZone: {\r\n List: 'api/timezone/list'\r\n },\r\n Administrators: {\r\n List: 'api/admin/list',\r\n All: 'api/admin/all',\r\n Create: 'api/admin/create',\r\n Delete: 'api/admin/:userId'\r\n },\r\n Report:{\r\n Timesheet: 'api/report/timesheet',\r\n Workdays: 'api/report/workdays',\r\n Workday: 'api/report/workday',\r\n Organization: 'api/report/organization',\r\n },\r\n App: {\r\n Version: 'api/app/version'\r\n },\r\n Organizations: {\r\n All: 'api/organizations/all',\r\n Create: 'api/organizations/create',\r\n Get: 'api/organizations/:organizationId',\r\n Update: 'api/organizations/:organizationId',\r\n Delete: 'api/organizations/:organizationId',\r\n GetCountEmplyees: 'api/organizations/:organizationId/employees',\r\n },\r\n ObjectOrganization: {\r\n All: 'api/objectorganizations/all',\r\n Create: 'api/objectorganizations/create',\r\n Get: 'api/objectorganizations/:objectorganizationsId',\r\n Update: 'api/objectorganizations/:objectorganizationsId',\r\n Delete: 'api/objectorganizations/:objectorganizationsId'\r\n },\r\n ChartWork: {\r\n All: 'api/chartwork/all',\r\n Create: 'api/chartwork/create',\r\n Get: 'api/chartwork/:chartworkId',\r\n Update: 'api/chartwork/:chartworkId',\r\n Delete: 'api/chartwork/:chartworkId'\r\n },\r\n OrganizationSettings: {\r\n GetSettings: 'api/organizationSettings/getSettings',\r\n SetSettings: 'api/organizationSettings/setSettings',\r\n GenerateToken: 'api/organizationSettings/generateToken',\r\n },\r\n Managers: {\r\n GetByOrganization: 'api/manager/getByOrganization',\r\n Create: 'api/manager/create',\r\n Update: 'api/manager',\r\n Delete: 'api/manager/:id',\r\n GetOrganizationsByManagerId: 'api/manager/:id',\r\n UpdateRole: 'api/manager/updateRole'\r\n },\r\n EmploeeObjectsOrganization: {\r\n Create: 'api/employeesobjects/create',\r\n Get: 'api/employeesobjects/:emploeeId',\r\n Delete: 'api/employeesobjects/delete'\r\n },\r\n Errand: {\r\n All: 'api/errand/all',\r\n Create: 'api/errand/create',\r\n Get: 'api/errand/:errandId',\r\n Update: 'api/errand/:errandId',\r\n Delete: 'api/errand/:errandId'\r\n },\r\n ErrandEmployees: {\r\n Create: 'api/errandemployees/create',\r\n Get: 'api/errandemployees/getemployees/:errandId',\r\n Delete: 'api/errandemployees/:errandId'\r\n },\r\n Role: {\r\n All: 'api/role/all'\r\n },\r\n}\r\n","export enum ActionTokenEnum {\r\n OpenWorkday = 0,\r\n CloseWorkday = 1\r\n}\r\n","export enum ApiStatusEnum {\r\n Error = 0,\r\n Success = 1,\r\n Warn = 2\r\n}\r\n","export enum SettingsTypeEnum {\r\n ActionTokenDuration = 0,\r\n TimeZone = 1,\r\n Background = 2\r\n}\r\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AuthenticationService } from \"../services/authentication.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class EmployeeGuard implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean {\r\n\r\n if (this.authenticationService.userInRole(['Manager','ManagerFull'])) {\r\n return true;\r\n }\r\n this.router.navigate(['/admin/errand']);\r\n return false;\r\n }\r\n}\r\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AuthenticationService } from \"../services/authentication.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class ErrandGuard implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean {\r\n if (this.authenticationService.userInRole(['ManagerErrand','ManagerFull'])) {\r\n return true;\r\n }\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n}\r\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AuthenticationService } from \"../services/authentication.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class OrganizationsGuard implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | boolean {\r\n \r\n if (this.authenticationService.userInRole([\"Admin\"])) {\r\n return true;\r\n }\r\n\r\n if (this.authenticationService.userInRole(['Manager','ManagerFull'])) {\r\n this.router.navigate(['/admin/employees']);\r\n return false;\r\n }else{\r\n this.router.navigate(['/admin/errand']);\r\n return false;\r\n }\r\n\r\n\r\n this.router.navigate(['/forbidden']);\r\n return false;\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class JwtHttpInterceptor implements HttpInterceptor {\r\n constructor(private router: Router,\r\n private authService: AuthenticationService) { }\r\n intercept(request: HttpRequest, newRequest: HttpHandler): Observable> {\r\n // add authorization header to request\r\n\r\n if (request.method === 'GET') {\r\n request = request.clone({\r\n setHeaders: {\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache'\r\n }\r\n });\r\n }\r\n\r\n // This convert UTC Date to local Date\r\n if (request.method === 'POST' || request.method === 'PUT') {\r\n this.shiftDates(request.body);\r\n }\r\n\r\n // Get Token data from local storage\r\n const tokenInfo = JSON.parse(localStorage.getItem('TokenInfo'));\r\n\r\n if (tokenInfo && tokenInfo.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${tokenInfo.token}`,\r\n\r\n // 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'\r\n }\r\n });\r\n }\r\n\r\n const observable = new Observable>((subscriber) => {\r\n const originalRequestSubscription = newRequest.handle(request)\r\n .subscribe((response) => {\r\n subscriber.next(response);\r\n },\r\n (err) => {\r\n if (this.isInvalidToken(err)) {\r\n this.router.navigate(['/login']);\r\n } else {\r\n subscriber.error(err);\r\n }\r\n },\r\n () => {\r\n subscriber.complete();\r\n });\r\n\r\n return () => {\r\n originalRequestSubscription.unsubscribe();\r\n };\r\n });\r\n\r\n return observable;\r\n }\r\n\r\n isInvalidToken(response: any) {\r\n return response.status === 401 && this.router.url !== '/login';\r\n }\r\n\r\n shiftDates(body) {\r\n if (body === null || body === undefined) {\r\n return body;\r\n }\r\n if (typeof body !== 'object') {\r\n return body;\r\n }\r\n for (const key of Object.keys(body)) {\r\n const value = body[key];\r\n if (value instanceof Date) {\r\n body[key] = new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(), value.getHours(), value.getMinutes()\r\n , value.getSeconds()));\r\n } else if (typeof value === 'object') {\r\n this.shiftDates(value);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","export const NgCalendarLocale = {\r\n firstDayOfWeek: 0,\r\n dayNames: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Субота'],\r\n dayNamesShort: ['Воск', 'Пон', 'Вт', 'Ср', 'Четв', 'Пят', 'Суб'],\r\n dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср ', 'Чт', 'Пт ', 'Сб'],\r\n monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],\r\n monthNamesShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],\r\n today: 'Сегодня',\r\n clear: 'Очистить'\r\n}\r\n","import { ActionTokenEnum } from '../enums/action-token.enum';\r\n\r\n\r\nexport class ActionToken {\r\n constructor(\r\n public id?: string,\r\n public create?: Date,\r\n public dueDate?: Date,\r\n public actionDate?: Date,\r\n public action?: ActionTokenEnum,\r\n public employeeId?: string\r\n ) {\r\n this.create = new Date(create);\r\n this.dueDate = new Date(dueDate);\r\n this.actionDate = new Date(actionDate);\r\n }\r\n}\r\n","export class Administrator {\r\n constructor(\r\n public id?: string,\r\n public userName?: string,\r\n public password?: string,\r\n public confirmPassword?: string,\r\n public canDelete?: boolean\r\n ) { }\r\n}\r\n","import { Employee } from \"./employee.model\";\r\nimport { Workday } from \"./workday-response.model\";\r\n\r\nexport class ChartWork {\r\n constructor(\r\n public id?: number,\r\n public name?: string,\r\n public isTwentyFour?: boolean,\r\n ) { }\r\n}\r\n","import { ChartWork } from \"./chart-work.model\";\r\nimport { ObjectOrganization } from \"./objectorganization.model\";\r\n\r\nexport class Employee {\r\n constructor(\r\n public id?: string,\r\n public fio?: string,\r\n public inn?: string,\r\n public mobileId?: string,\r\n public edited?: boolean,\r\n public organizationId?: string,\r\n public mobileVersion?: string,\r\n public chartWork?: ChartWork,\r\n public chartWorkId?: number,\r\n public objects?: Array,\r\n public objectsName?: Array,\r\n public select?: boolean,\r\n public is_del?: boolean,\r\n public inn_fio?: string,\r\n ) { }\r\n}\r\n","export class EmployeeObjectsOrganization {\r\n constructor(\r\n public id?: string,\r\n public employeeId?: string,\r\n public objectId?: string,\r\n \r\n ) { }\r\n}\r\n","import { Employee } from \"./employee.model\";\r\nimport { Errand } from \"./errand.model\";\r\n\r\nexport class ErrandEmployee{\r\n constructor(\r\n public id?: string,\r\n public status?: string,\r\n public errandId?: string,\r\n public employeeId?: string,\r\n public errand?: Errand,\r\n public employee?: Employee,\r\n public startErrand?: string,\r\n public closeErrand?: string,\r\n ) { }\r\n}\r\n","import { Employee } from \"./employee.model\";\r\nimport { ErrandEmployee } from \"./errand-employee.model\";\r\n\r\nexport class Errand{\r\n constructor(\r\n public id?: string,\r\n public name?: string,\r\n public description?: string,\r\n public latitude?: string,\r\n public longitude?: string,\r\n public organizationId?: string,\r\n public accuracyError?: string,\r\n public manageId?: string,\r\n public employees?: Array,\r\n public employeesSelect?: ErrandEmployee,\r\n ) { }\r\n}\r\n","import { Organization } from \"./organization.model\";\r\nimport { Role } from \"./role.model\";\r\n\r\nexport class ManagerRequest {\r\n constructor(\r\n public login: string,\r\n public password: string,\r\n public organization: Organization,\r\n public role: Role\r\n ) { }\r\n}\r\n","import { Role } from \"./role.model\";\r\n\r\nexport class ManagersView {\r\n constructor(\r\n public managers: Manager[]\r\n ) { }\r\n}\r\n\r\nexport class Manager {\r\n constructor(\r\n public id?: string,\r\n public login?: string,\r\n public password?: string,\r\n public confirmPassword?: string,\r\n public role?: Role,\r\n ) { }\r\n}\r\n","export class ObjectOrganization {\r\n constructor(\r\n public id?: string,\r\n public name?: string,\r\n public timeZone?: string,\r\n public latitude?: string,\r\n public longitude?: string,\r\n public organizationId?: string,\r\n public organizationName?: string,\r\n public accuracyError?: string,\r\n public select?: boolean,\r\n public is_del?: boolean,\r\n ) { }\r\n}\r\n","export class Organization {\r\n constructor(\r\n public id?: string,\r\n public name?: string,\r\n public timeZone?: string,\r\n public techEmail?: string,\r\n public techNumber?: string,\r\n public lastUserAuth?: string,\r\n public lastTimeAuth?: string,\r\n public countEmployee?: number,\r\n ) { }\r\n}\r\n","import { TimeZone } from \"./time-zone.model\";\r\n\r\nexport class OrganizationSettings {\r\n constructor(\r\n public timeZone?: TimeZone,\r\n public techEmail?: string,\r\n public techNumber?: string,\r\n public techToken?: string,\r\n ) { }\r\n}\r\n","export class RoleUpdate{\r\n constructor(\r\n public id?: string,\r\n public roleId?: string,\r\n ) { }\r\n}\r\n","import { SettingsTypeEnum } from '../enums/settings-type.enum';\r\n\r\nexport class Settings{\r\n constructor(\r\n public settings: Array\r\n ) { }\r\n}\r\nexport class Setting {\r\n constructor(\r\n public id?: string,\r\n public type?: SettingsTypeEnum,\r\n public value?: string\r\n ) { }\r\n}\r\n","export class TableParams {\r\n first: number;\r\n rows: number;\r\n sortField: string;\r\n globalFilter: string;\r\n sortOrder: number;\r\n\r\n constructor(params?, filterValue?) {\r\n\r\n if (params && params.first != null) {\r\n this.first = +params.first;\r\n } else {\r\n this.first = 0;\r\n }\r\n\r\n if (params && params.rows != null) {\r\n this.rows = +params.rows;\r\n } else {\r\n this.rows = 10;\r\n }\r\n\r\n if (params && params.sortField != null) {\r\n this.sortField = params.sortField;\r\n } else {\r\n this.sortField = '';\r\n }\r\n\r\n if (params && params.sortOrder != null) {\r\n this.sortOrder = +params.sortOrder;\r\n } else {\r\n this.sortOrder = 0;\r\n }\r\n\r\n if (params && params.globalFilter != null) {\r\n this.globalFilter = params.globalFilter;\r\n } else {\r\n this.globalFilter = filterValue != null ? filterValue : '';\r\n }\r\n }\r\n}\r\n","import { Employee } from './employee.model';\r\n\r\nexport class TimesheetRequest {\r\n constructor(\r\n public date: Date,\r\n public employee: Employee\r\n ) { }\r\n}\r\n","import { Employee } from './employee.model';\r\n\r\nexport class WorkdayRequest {\r\n constructor(\r\n public start: Date,\r\n public end: Date,\r\n public employee: Employee[]\r\n ) { }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"MonthFormat\"\r\n})\r\nexport class MonthFormatPipe implements PipeTransform {\r\n transform(value: Date, ...args: any[]) {\r\n var monthNames = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь',\r\n 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];\r\n return monthNames[value.getMonth()]\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { ActionTokenEnum } from '../enums/action-token.enum';\r\nimport { ActionToken } from '../models/action-token.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActionTokenService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) { }\r\n\r\n getToken(a: ActionTokenEnum,connectionId: string): Observable {\r\n return this.http.get(this.baseUrl + UrlConstants.Token.Generate.replace(':type', a.toString(),).replace(':connect', connectionId,),).pipe(\r\n map((res: ActionToken) => new ActionToken(res.id, res.create, res.dueDate, res.actionDate, res.action, res.employeeId))\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { Administrator } from '../models/administrator.model';\r\nimport { TableParams } from '../models/table-params.model';\r\nimport { TableResults } from '../models/table-results';\r\n\r\n@Injectable()\r\nexport class AdministratorService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) { }\r\n\r\n getAdministratorTable(tableParams: TableParams): Observable> {\r\n return this.http.post(this.baseUrl + UrlConstants.Administrators.List, tableParams).pipe(\r\n map((res: TableResults) => res));\r\n }\r\n\r\n getAdminstrator() {\r\n return this.http.get(this.baseUrl + UrlConstants.Administrators.All);\r\n }\r\n\r\n createAdministrator(admin: Administrator) {\r\n return this.http.post(this.baseUrl + UrlConstants.Administrators.Create, admin);\r\n }\r\n\r\n deleteAdministrator(id: string) {\r\n return this.http.delete(this.baseUrl + UrlConstants.Administrators.Delete.replace(':userId', id));\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\n\r\n@Injectable()\r\nexport class AppService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) { }\r\n\r\n getVersion() {\r\n return this.http.get(this.baseUrl + UrlConstants.App.Version);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable, Output } from '@angular/core';\r\nimport * as jwt_decode from 'jwt-decode';\r\nimport { Subject, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { Organization } from '../models/organization.model';\r\n//import { ManagerService } from './manager.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n\r\n @Output() public userId: string;\r\n @Output() public userName: string;\r\n @Output() public roles: Array;\r\n @Output() public organizationName: string;\r\n\r\n public roleChange: Subject> = new Subject>();\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') private baseUrl: string) {\r\n const token = localStorage.getItem('TokenInfo');\r\n this.setTokenInfo(token);\r\n }\r\n\r\n login(username: string, password: string) {\r\n return this.http.post(this.baseUrl + UrlConstants.Auth.Login, { username, password })\r\n .pipe(\r\n map(user => {\r\n // login successful if there's a jwt token in the response\r\n if (user && user.token) {\r\n const token = JSON.stringify(user);\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('TokenInfo', token);\r\n\r\n this.setTokenInfo(token);\r\n }\r\n\r\n return user;\r\n }),\r\n catchError(\r\n e => {\r\n return throwError(e);\r\n }\r\n )\r\n );\r\n }\r\n\r\n logout() {\r\n this.http.post(this.baseUrl + UrlConstants.Auth.Logout, null)\r\n .pipe(\r\n catchError(e => e)\r\n ).toPromise();\r\n\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('TokenInfo');\r\n this.userName = null;\r\n this.userId = null;\r\n this.roles = null;\r\n this.roleChange.next(null);\r\n }\r\n\r\n getDecodedAccessToken(token: string): any {\r\n try {\r\n return jwt_decode(token);\r\n } catch (Error) {\r\n return null;\r\n }\r\n }\r\n\r\n setTokenInfo(token: string) {\r\n const decodedToken = token ? this.getDecodedAccessToken(token) : null;\r\n this.userName = decodedToken ? decodedToken['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'] : null;\r\n this.userId = decodedToken ? decodedToken['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier'] : null;\r\n this.organizationName = decodedToken ? decodedToken['http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata'] : null;\r\n const role = decodedToken ? decodedToken['http://schemas.microsoft.com/ws/2008/06/identity/claims/role'] : null;;\r\n if (role) {\r\n this.roles = Array.isArray(role) ? role : [role];\r\n } else {\r\n this.roles = null;\r\n }\r\n\r\n this.roleChange.next(this.roles);\r\n }\r\n\r\n userInRole(roles: string[]): boolean { \r\n if (!roles || !this.roles) {\r\n return false;\r\n }\r\n\r\n for (let index = this.roles.length - 1; index >= 0; --index) {\r\n if (roles.indexOf(this.roles[index]) !== -1) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthenticationService } from './authentication.service';\r\n\r\n@Injectable()\r\nexport class AuthorizationCheckService implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (localStorage.getItem('TokenInfo') == null) { \r\n this.router.navigate(['/login'], {queryParams: {returnUrl: state.url}});\r\n return false;\r\n }\r\n if (route.data.expectedRole !== undefined) {\r\n const hasAccess = this.authenticationService.userInRole(route.data.expectedRole);\r\n \r\n if (!hasAccess) {\r\n this.router.navigate(['/forbidden']);\r\n return false;\r\n }\r\n \r\n\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { ChartWork } from '../models/chart-work.model';\r\n\r\n@Injectable()\r\nexport class ChartWorkService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n getChartsWork() {\r\n return this.http.get(this.baseUrl + UrlConstants.ChartWork.All);\r\n }\r\n\r\n getChartWork(id: string) {\r\n return this.http.get(this.baseUrl + UrlConstants.ChartWork.Get.replace(':chartworkId', id));\r\n }\r\n\r\n createChartWork(chartWork: ChartWork) {\r\n return this.http.post(this.baseUrl + UrlConstants.ChartWork.Create, chartWork);\r\n }\r\n\r\n updateChartWork(chartWork: ChartWork) {\r\n return this.http.put(this.baseUrl + UrlConstants.ChartWork.Update.replace(':chartWorkId', chartWork.id.toString()), chartWork);\r\n }\r\n deleteChartWork(chartWork: ChartWork) {\r\n return this.http.delete(this.baseUrl + UrlConstants.ChartWork.Delete.replace(':chartWorkId', chartWork.id.toString()));\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { ResponseContentType } from '@angular/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { Employee } from '../models/employee.model';\r\nimport { TableParams } from '../models/table-params.model';\r\nimport { TableResults } from '../models/table-results';\r\nimport { NotificationService } from './notification.service';\r\n\r\n@Injectable()\r\nexport class EmployeeService {\r\n\r\n constructor(private http: HttpClient,\r\n private notificationService: NotificationService,\r\n @Inject('BASE_URL') protected baseUrl: string) { }\r\n\r\n getEmployees() {\r\n return this.http.get(this.baseUrl + UrlConstants.Employees.All).toPromise();\r\n }\r\n\r\n getEmployeesTable(tableParams: TableParams): Observable> {\r\n return this.http.post(this.baseUrl + UrlConstants.Employees.List, tableParams).pipe(\r\n map((res: TableResults) => res));\r\n }\r\n\r\n getEmployeesExport(): Observable {\r\n let headers = new HttpHeaders();\r\n headers.set('Content-Type', 'application/json');\r\n return this.http.get(this.baseUrl + UrlConstants.Employees.Export,\r\n {\r\n headers: headers,\r\n responseType: \"arraybuffer\"\r\n }\r\n )\r\n }\r\n\r\n getEmployee(id: any){\r\n return this.http.get(this.baseUrl + UrlConstants.Employees.Get.replace(':userId', id));\r\n }\r\n\r\n setEmployees(employees: Employee[]) {\r\n return this.http.post(this.baseUrl + UrlConstants.Employees.Import, employees)\r\n }\r\n\r\n createEmployee(employee: Employee) {\r\n return this.http.post(this.baseUrl + UrlConstants.Employees.Create, employee);\r\n }\r\n\r\n updateEmployee(employee: Employee, connectionId: string) {\r\n var data = {\r\n \"employee\": employee,\r\n \"connectionId\": connectionId\r\n }\r\n return this.http.put(this.baseUrl + UrlConstants.Employees.Update.replace(':userId', employee.id), data);\r\n }\r\n\r\n updateEmployees(employees: Employee[], connectionId: string) {\r\n var data = {\r\n \"employees\": employees,\r\n \"connectionId\": connectionId\r\n }\r\n return this.http.post(this.baseUrl + UrlConstants.Employees.UpdateEmployees, data);\r\n }\r\n\r\n deleteEmployee(id: string) {\r\n return this.http.delete(this.baseUrl + UrlConstants.Employees.Delete.replace(':userId', id));\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { ResponseContentType } from '@angular/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { Employee } from '../models/employee.model';\r\nimport { EmployeeObjectsOrganization } from '../models/employeeobject.model';\r\nimport { TableParams } from '../models/table-params.model';\r\nimport { TableResults } from '../models/table-results';\r\nimport { NotificationService } from './notification.service';\r\n\r\n@Injectable()\r\nexport class EmployeeObjectsService {\r\n\r\n constructor(private http: HttpClient,\r\n private notificationService: NotificationService,\r\n @Inject('BASE_URL') protected baseUrl: string) { }\r\n\r\n\r\n getEmployeeObjects(id: any){ \r\n return this.http.get(this.baseUrl + UrlConstants.EmploeeObjectsOrganization.Get.replace(':emploeeId', id));\r\n }\r\n\r\n\r\n createEmployeeObjects(employee: EmployeeObjectsOrganization[]) {\r\n return this.http.post(this.baseUrl + UrlConstants.EmploeeObjectsOrganization.Create, employee);\r\n }\r\n\r\n deleteEmployeeObjects(employee: EmployeeObjectsOrganization[]) {\r\n return this.http.post(this.baseUrl + UrlConstants.EmploeeObjectsOrganization.Delete, employee);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { Errand } from '../models/errand.model';\r\n\r\n@Injectable()\r\nexport class ErrandEmployeesService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n\r\n getErrandEmployees(id: string) {\r\n return this.http.get(this.baseUrl + UrlConstants.ErrandEmployees.Get.replace(':errandId', id));\r\n }\r\n\r\n createErrandEmployee(errand: Errand[]) {\r\n return this.http.post(this.baseUrl + UrlConstants.ErrandEmployees.Create, errand);\r\n }\r\n\r\n deleteErrandEmployee(id: string) {\r\n return this.http.delete(this.baseUrl + UrlConstants.ErrandEmployees.Delete.replace(':errandId', id));\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { Errand } from '../models/errand.model';\r\n\r\n@Injectable()\r\nexport class ErrandService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n getErrands() {\r\n return this.http.get(this.baseUrl + UrlConstants.Errand.All);\r\n }\r\n\r\n getErrand(id: string) {\r\n return this.http.get(this.baseUrl + UrlConstants.Errand.Get.replace(':errandId', id));\r\n }\r\n\r\n createErrand(errand: Errand) {\r\n return this.http.post(this.baseUrl + UrlConstants.Errand.Create, errand);\r\n }\r\n\r\n updateErrand(errand: Errand) {\r\n return this.http.put(this.baseUrl + UrlConstants.Errand.Update.replace(':errandId', errand.id), errand);\r\n }\r\n deleteErrand(id: string) {\r\n return this.http.delete(this.baseUrl + UrlConstants.Errand.Delete.replace(':errandId', id));\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Organization } from '../models/organization.model';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { ManagerRequest } from '../models/manager-request.model';\r\nimport { RoleUpdate } from '../models/role-update.model';\r\n\r\n@Injectable()\r\nexport class ManagerService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n getOrganizations() {\r\n return this.http.get(this.baseUrl + UrlConstants.Organizations.All);\r\n }\r\n\r\n getOrganizationsByManagerId(id: string) {\r\n return this.http.get(this.baseUrl + UrlConstants.Managers.GetOrganizationsByManagerId.replace(':id', id));\r\n }\r\n\r\n getManagersByOrganization(organization: Organization) {\r\n return this.http.post(this.baseUrl + UrlConstants.Managers.GetByOrganization, organization);\r\n }\r\n\r\n createManager(requestData: ManagerRequest) { \r\n return this.http.post(this.baseUrl + UrlConstants.Managers.Create, requestData);\r\n }\r\n\r\n updateManager(requestData: ManagerRequest) {\r\n return this.http.put(this.baseUrl + UrlConstants.Managers.Update, requestData);\r\n }\r\n\r\n deleteManager(id: string) {\r\n return this.http.delete(this.baseUrl + UrlConstants.Managers.Delete.replace(':id', id));\r\n }\r\n updateRoleManager(newRole: RoleUpdate) {\r\n return this.http.post(this.baseUrl + UrlConstants.Managers.UpdateRole, newRole);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\n\r\nimport { ApiResponse } from '../models/api-response.model';\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n\r\n constructor(private messageService: MessageService,\r\n private confirmationService: ConfirmationService) {\r\n }\r\n\r\n public Success(message: string, title?: string) {\r\n this.messageService.add({severity: 'success', summary: title ? title : 'Успешно', detail: message});\r\n }\r\n\r\n public Warn(message: string, title?: string) {\r\n this.messageService.add({ severity: 'warn', summary: title ? title : 'Предупреждение', detail: message });\r\n }\r\n\r\n public Error(message: string, title?: string) {\r\n this.messageService.add({severity: 'error', summary: title ? title : 'Ошибка', detail: message});\r\n }\r\n\r\n public FromApiResponse(apiResponse: ApiResponse) {\r\n if (apiResponse.statusType === 0) {\r\n this.Error(apiResponse.body);\r\n for (const errorMessage of apiResponse.body) {\r\n console.error(errorMessage);\r\n }\r\n }\r\n\r\n if (apiResponse.statusType === 1) {\r\n this.Success(apiResponse.body);\r\n }\r\n\r\n if (apiResponse.statusType === 2) {\r\n this.Warn(apiResponse.body);\r\n }\r\n }\r\n\r\n public FromApiResponseErrand(apiResponse: ApiResponse) {\r\n if (apiResponse.statusType === 0) {\r\n this.Error(apiResponse.body);\r\n for (const errorMessage of apiResponse.body) {\r\n console.error(errorMessage);\r\n }\r\n }\r\n\r\n if (apiResponse.statusType === 1) {\r\n var response = JSON.parse(apiResponse.body);\r\n this.Success(response.msg);\r\n return response.id;\r\n }\r\n\r\n if (apiResponse.statusType === 2) {\r\n this.Warn(apiResponse.body);\r\n }\r\n }\r\n\r\n public Confirm(title: string = 'Подтверждение', message: string = 'Вы уверены?',\r\n okCallback: () => any, denyCallback?: () => any) {\r\n if (title == null) {\r\n title = 'Подтверждение';\r\n }\r\n return this.confirmationService.confirm({\r\n message: message,\r\n header: title,\r\n accept: () => {\r\n if (okCallback) {\r\n okCallback();\r\n }\r\n },\r\n reject: () => {\r\n if (denyCallback != null) {\r\n denyCallback();\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ObjectOrganization } from '../models/objectorganization.model';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\n\r\n@Injectable()\r\nexport class ObjectOrganizationService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n getObjectOrganizations() {\r\n return this.http.get(this.baseUrl + UrlConstants.ObjectOrganization.All);\r\n }\r\n\r\n getObjectOrganization(id: string) {\r\n return this.http.get(this.baseUrl + UrlConstants.ObjectOrganization.Get.replace(':objectorganizationsId', id));\r\n }\r\n\r\n createObjectOrganization(objectOrganization: ObjectOrganization) {\r\n return this.http.post(this.baseUrl + UrlConstants.ObjectOrganization.Create, objectOrganization);\r\n }\r\n\r\n updateObjectOrganization(objectOrganization: ObjectOrganization) {\r\n return this.http.put(this.baseUrl + UrlConstants.ObjectOrganization.Update.replace(':objectorganizationsId', objectOrganization.id), objectOrganization);\r\n }\r\n deleteObjectOrganization(id: string) {\r\n return this.http.delete(this.baseUrl + UrlConstants.ObjectOrganization.Delete.replace(':objectorganizationsId', id));\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { text } from '@angular/core/src/render3';\r\nimport { OrganizationSettings } from '../models/organizationsettings.model';\r\n\r\n@Injectable()\r\nexport class OrganizationSettingsService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n getOrganizationSettings() {\r\n return this.http.get(this.baseUrl + UrlConstants.OrganizationSettings.GetSettings);\r\n }\r\n\r\n setOrganizationSettings(settings: OrganizationSettings) {\r\n return this.http.post(this.baseUrl + UrlConstants.OrganizationSettings.SetSettings, settings);\r\n }\r\n generateToken() {\r\n return this.http.get(this.baseUrl + UrlConstants.OrganizationSettings.GenerateToken);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Organization } from '../models/organization.model';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\n\r\n@Injectable()\r\nexport class OrganizationService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n getOrganizations() {\r\n return this.http.get(this.baseUrl + UrlConstants.Organizations.All);\r\n }\r\n\r\n getOrganization(id: any) {\r\n return this.http.get(this.baseUrl + UrlConstants.Organizations.Get.replace(':organizationId', id));\r\n }\r\n\r\n getCountEmployees(id: any) {\r\n return this.http.get(this.baseUrl + UrlConstants.Organizations.GetCountEmplyees.replace(':organizationId', id));\r\n }\r\n\r\n createOrganization(organization: Organization) {\r\n return this.http.post(this.baseUrl + UrlConstants.Organizations.Create, organization);\r\n }\r\n\r\n updateOrganization(organization: Organization) {\r\n return this.http.put(this.baseUrl + UrlConstants.Organizations.Update.replace(':organizationId', organization.id), organization);\r\n }\r\n deleteOrganization(id: string) {\r\n return this.http.delete(this.baseUrl + UrlConstants.Organizations.Delete.replace(':organizationId', id));\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { TimesheetRequest } from '../models/timesheet-request.model';\r\nimport { TimesheetResponce } from '../models/timesheet-responce.model';\r\nimport { WorkdayRequest } from '../models/workday-request.model'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) { }\r\n\r\n getTimesheet(data: TimesheetRequest): Observable {\r\n return this.http.put(this.baseUrl + UrlConstants.Report.Timesheet, data).pipe(\r\n map((res: TimesheetResponce) => res)\r\n );\r\n }\r\n\r\n getWorkdays(data: WorkdayRequest) {\r\n return this.http.put(this.baseUrl + UrlConstants.Report.Workdays, data);\r\n }\r\n\r\n getWorkday(data: WorkdayRequest) {\r\n return this.http.put(this.baseUrl + UrlConstants.Report.Workday, data);\r\n }\r\n\r\n getOrganization() {\r\n return this.http.get(this.baseUrl + UrlConstants.Organizations.All);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\n\r\n@Injectable()\r\nexport class RoleService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) {\r\n }\r\n\r\n getRoles() {\r\n return this.http.get(this.baseUrl + UrlConstants.Role.All);\r\n }\r\n\r\n \r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { Settings } from '../models/setting.model';\r\n\r\n@Injectable()\r\nexport class SettingService {\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') protected baseUrl: string) { }\r\n\r\n getSettings(): Observable {\r\n return this.http.get(this.baseUrl + UrlConstants.Settings.All).pipe(\r\n map((res: Settings) => res)\r\n );\r\n }\r\n\r\n updateSettings(settings: Settings) {\r\n return this.http.put(this.baseUrl + UrlConstants.Settings.Update, settings);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { HubConnection } from '@aspnet/signalr';\r\n\r\nimport { ActionTokenResult } from '../models/action-token-result.model';\r\nimport { Employee } from '../models/employee.model';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { ObjectOrganization } from '../models/objectorganization.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalRService {\r\n\r\n private hubConnection: HubConnection;\r\n public connectionId: string; // ID соединения с сервером\r\n\r\n constructor(@Inject('BASE_URL') private baseUrl: string,\r\n private authenticationService: AuthenticationService) {\r\n this.createConnectionHub();\r\n }\r\n\r\n public unsubscribeAll() {\r\n this.hubConnection.off('SuccessToken');\r\n this.hubConnection.off('ErrorToken');\r\n }\r\n\r\n public onSuccessToken(action: (actionTokenResult: ActionTokenResult) => any) {\r\n this.hubConnection.on('SuccessToken', action);\r\n }\r\n\r\n public onErrorToken(action: (actionTokenResult: ActionTokenResult) => any) {\r\n this.hubConnection.on('ErrorToken', action);\r\n }\r\n\r\n public onUpdateEmployee(action: (employee: Employee) => any) {\r\n this.hubConnection.on('UpdateEmployee', action);\r\n }\r\n\r\n public onUpdateEmployees(action: (employee: Employee[]) => any) {\r\n this.hubConnection.on('UpdateEmployees', action);\r\n }\r\n\r\n public onUpdateObjectOrganization(action: (objectOrganization: ObjectOrganization) => any) {\r\n this.hubConnection.on('UpdateObjectOrganization', action);\r\n }\r\n\r\n public onUpdateObjectOrganizations(action: (objectOrganization: ObjectOrganization[]) => any) {\r\n this.hubConnection.on('UpdateObjectOrganizations', action);\r\n }\r\n\r\n private createConnectionHub() {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.baseUrl + '/frontend', signalR.HttpTransportType.LongPolling)\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .build();\r\n this.hubConnection.start()\r\n .then(() => this.getConnectionId())\r\n .catch(err => console.error(err.toString()));\r\n\r\n const self = this;\r\n this.hubConnection.onclose(function () {\r\n setTimeout(function () {\r\n self.hubConnection.start().catch(err => console.error(err.toString()));\r\n console.error('hub reconnected');\r\n }, 5000); // Restart connection after 5 seconds.\r\n });\r\n }\r\n\r\n public getConnectionId() {\r\n this.hubConnection.invoke('getconnectionid').then(\r\n (data) => {\r\n this.connectionId = data;\r\n }\r\n );\r\n return this.connectionId;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { UrlConstants } from '../constants/app.url.constants';\r\nimport { TimeZone } from '../models/time-zone.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimeZoneService {\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) {\r\n }\r\n\r\n getTimeZones(): Promise> {\r\n return this.http.get(this.baseUrl + UrlConstants.TimeZone.List).pipe(\r\n map((res: Array) => res)\r\n ).toPromise();\r\n }\r\n}\r\n","import * as CryptoJS from 'crypto-js';\r\n\r\nexport function decrypt(key, ciphertextB64) {\r\n\r\n var key = CryptoJS.enc.Utf8.parse(key);\r\n var iv = CryptoJS.lib.WordArray.create([0x00, 0x00, 0x00, 0x00]);\r\n\r\n var decrypted = CryptoJS.AES.decrypt(ciphertextB64, key, { iv: iv });\r\n return decrypted.toString(CryptoJS.enc.Utf8);\r\n}\r\n\r\n\r\nexport function check_email(email: string) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(email);\r\n}\r\n\r\nexport function check_number(number: string) {\r\n var ru = /^((8|\\+7)[\\- ]?)?(\\(?\\d{3}\\)?[\\- ]?)?[\\d\\- ]{7,10}$/;\r\n var all = /^(\\+)?((\\d{2,3}) ?\\d|\\d)(([ -]?\\d)|( ?(\\d{2,3}) ?)){5,12}\\d$/;\r\n if (!ru.test(number))\r\n {\r\n return all.test(number);\r\n }\r\n return ru.test(number);\r\n}\r\n\r\n\r\nexport function check_double(number: string) {\r\n var double = /^[-]?[0-9]*[.]?[0-9]+$/;\r\n return double.test(number);\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nconst packageJson = require('../../package.json');\r\n\r\nexport const environment = {\r\n production: false,\r\n version: packageJson.build ? `${packageJson.version}.${packageJson.build}-${packageJson.suffix}` : packageJson.version\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule).catch(err => console.log(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}