{"version":3,"file":"main.js","mappings":"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;;;;;;;;;;;;;;;;;AClIvE,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;ACfvB;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/login/login-layout.component.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/shared/auth/auth.guard.ts","./src/app/shared/auth/auth.service.ts","./src/app/shared/auth/user.service.ts","./src/app/shared/auth/user.ts","./src/app/shared/chart/chart.component.ts","./src/app/shared/chart/chart.component.html","./src/app/shared/chart/chart.services.ts","./src/app/shared/configuration-modal/configuration-modal.component.ts","./src/app/shared/configuration-modal/configuration-modal.component.html","./src/app/shared/configuration-table-modal/configuration-table-modal.component.ts","./src/app/shared/configuration-table-modal/configuration-table-modal.component.html","./src/app/shared/configuration-table-modal/table.service.ts","./src/app/shared/confirmation-dialog/confirmation-dialog.component.ts","./src/app/shared/confirmation-dialog/confirmation-dialog.component.html","./src/app/shared/customers/customer-table-display.component.ts","./src/app/shared/customers/customer-table-display.component.html","./src/app/shared/customers/customer.model.ts","./src/app/shared/customers/customers.service.ts","./src/app/shared/details/details.component.ts","./src/app/shared/details/details.component.html","./src/app/shared/directives/promise-btn.directive.ts","./src/app/shared/image-modal/image-modal.component.ts","./src/app/shared/image-modal/image-modal.component.html","./src/app/shared/orders/base-order.model.ts","./src/app/shared/orders/light-order.model.ts","./src/app/shared/orders/orders.service.ts","./src/app/shared/orders/timeslot.model.ts","./src/app/shared/pdf/pdf.service.ts","./src/app/shared/resources/capacity-type.service.ts","./src/app/shared/resources/custom-fields.service.ts","./src/app/shared/resources/item-types.service.ts","./src/app/shared/resources/order-type.service.ts","./src/app/shared/resources/resources.service.ts","./src/app/shared/resources/skill.service.ts","./src/app/shared/resources/time-slot.service.ts","./src/app/shared/stepper/stepper.component.ts","./src/app/shared/stepper/stepper.component.html","./src/app/shared/utils/alert.service.ts","./src/app/shared/utils/custom-display.service.ts","./src/app/shared/utils/error.interceptor.ts","./src/app/shared/utils/jwt.interceptor.ts","./src/app/shared/utils/mat-paginator-i18n.service.ts","./src/app/shared/utils/must-match.validator.ts","./src/app/shared/utils/order-utils.service.ts","./src/app/shared/utils/required-order-type.validator.ts","./src/app/shared/warehouse/configuration.model.ts","./src/app/shared/warehouse/warehouse.service.ts","./src/app/warehouse/customers/customers-add-edit/customers-add-edit.component.ts","./src/app/warehouse/customers/customers-add-edit/customers-add-edit.component.html","./src/app/warehouse/customers/customers-details/customers-details.component.ts","./src/app/warehouse/customers/customers-details/customers-details.component.html","./src/app/warehouse/customers/customers.component.ts","./src/app/warehouse/customers/customers.component.html","./src/app/warehouse/header/header.component.ts","./src/app/warehouse/header/header.component.html","./src/app/warehouse/home-layout.component.ts","./src/app/warehouse/reports/reports.component.ts","./src/app/warehouse/reports/reports.component.html","./src/app/warehouse/settings/configuration/configuration.component.ts","./src/app/warehouse/settings/configuration/configuration.component.html","./src/app/warehouse/settings/my-account/my-account.component.ts","./src/app/warehouse/settings/my-account/my-account.component.html","./src/app/warehouse/settings/settings.component.ts","./src/app/warehouse/settings/settings.component.html","./src/app/warehouse/settings/shops/shops/create/createshop.component.ts","./src/app/warehouse/settings/shops/shops/create/createshop.component.html","./src/app/warehouse/settings/shops/shops/shops.component.ts","./src/app/warehouse/settings/shops/shops/shops.component.html","./src/app/warehouse/settings/users/create/createuser.component.ts","./src/app/warehouse/settings/users/create/createuser.component.html","./src/app/warehouse/settings/users/users.component.ts","./src/app/warehouse/settings/users/users.component.html","./src/app/warehouse/transport/add-item/add-item.component.ts","./src/app/warehouse/transport/add-item/add-item.component.html","./src/app/warehouse/transport/transport-add-edit/save-to-basket/save-to-basket.component.ts","./src/app/warehouse/transport/transport-add-edit/save-to-basket/save-to-basket.component.html","./src/app/warehouse/transport/transport-add-edit/score-and-save/score-and-save.component.ts","./src/app/warehouse/transport/transport-add-edit/score-and-save/score-and-save.component.html","./src/app/warehouse/transport/transport-add-edit/transport-add-edit.component.ts","./src/app/warehouse/transport/transport-add-edit/transport-add-edit.component.html","./src/app/warehouse/transport/transport.component.ts","./src/app/warehouse/transport/transport.component.html","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {LoginLayoutComponent} from './login/login-layout.component';\nimport {LoginComponent} from './login/login.component';\nimport {HomeLayoutComponent} from './warehouse/home-layout.component';\nimport {AuthGuard} from './shared/auth/auth.guard';\nimport {TransportComponent} from './warehouse/transport/transport.component';\nimport {SettingsComponent} from './warehouse/settings/settings.component';\nimport {CustomersComponent} from './warehouse/customers/customers.component';\nimport {UsersComponent} from './warehouse/settings/users/users.component';\nimport {ShopsComponent} from './warehouse/settings/shops/shops/shops.component';\nimport {CustomersDetailsComponent} from './warehouse/customers/customers-details/customers-details.component';\nimport {MyAccountComponent} from './warehouse/settings/my-account/my-account.component';\nimport {ReportsComponent} from './warehouse/reports/reports.component';\nimport {DetailsComponent} from './shared/details/details.component';\nimport {TransportAddEditComponent} from './warehouse/transport/transport-add-edit/transport-add-edit.component';\nimport { ConfigurationComponent } from './warehouse/settings/configuration/configuration.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: HomeLayoutComponent,\n canActivate: [AuthGuard],\n children: [\n {\n path: 'transport',\n component: TransportComponent\n },\n {\n path: 'transport/:orderId',\n component: DetailsComponent\n },\n {\n path: 'transport/:orderId/edit',\n component: TransportAddEditComponent\n },\n {\n path: 'transport-add',\n component: TransportAddEditComponent\n },\n {\n path: 'customers',\n component: CustomersComponent\n },\n {\n path: 'customers/:customerId',\n component: CustomersDetailsComponent\n },\n {\n path: 'customers/:customerId/order/:orderId',\n component: DetailsComponent\n },\n {\n path: 'reports',\n component: ReportsComponent\n },\n {\n path: 'reports/:orderId',\n component: DetailsComponent\n },\n {\n path: '',\n component: SettingsComponent,\n children: [\n {\n path: 'settings/my-account',\n component: MyAccountComponent\n },\n {\n path: 'settings/users',\n component: UsersComponent\n },\n {\n path: 'settings/shops',\n component: ShopsComponent\n },\n {\n path: 'settings/configuration',\n component: ConfigurationComponent\n }\n ]\n }\n ]\n },\n {\n path: '',\n component: LoginLayoutComponent,\n children: [\n {\n path: 'login',\n component: LoginComponent\n }\n ]\n },\n { path: '**', redirectTo: '' }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from './shared/auth/auth.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { ConfigurationModalComponent } from './shared/configuration-modal/configuration-modal.component';\n\nexport const DATE_FORMATS = {\n parse: {\n dateInput: 'DD/MM/YYYY',\n },\n display: {\n dateInput: 'DD/MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'DD/MM/YYYY',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n constructor(private translateService: TranslateService, private auth: AuthService, private dialog: MatDialog) {\n translateService.addLangs(['fr', 'en']);\n translateService.setDefaultLang('fr');\n translateService.use('fr');\n }\n\n ngOnInit() {\n this.translateService.addLangs(['fr', 'en']);\n this.translateService.setDefaultLang('fr');\n this.translateService.use('fr');\n const user = this.auth.currentUserValue;\n if (user.configuration.terminology) {\n this.translateService.use(user.configuration.terminology + \"-\" + user.language);\n } else {\n this.translateService.use('fr');\n }\n\n }\n}\n","\n","import { CustomDisplayService } from './shared/utils/custom-display.service';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CountdownModule } from 'ngx-countdown';\n\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatPaginatorModule, MatPaginatorIntl } from '@angular/material/paginator';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { StarRatingModule } from 'angular-star-rating';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatStepperModule } from '@angular/material/stepper';\n\nimport { LoginComponent } from './login/login.component';\nimport { LoginLayoutComponent } from './login/login-layout.component';\nimport { HomeLayoutComponent } from './warehouse/home-layout.component';\nimport { HeaderComponent } from './warehouse/header/header.component';\nimport { TransportComponent } from './warehouse/transport/transport.component';\nimport { SettingsComponent } from './warehouse/settings/settings.component';\n\nimport { AuthService } from './shared/auth/auth.service';\nimport { AuthGuard } from './shared/auth/auth.guard';\nimport { OrderService } from './shared/orders/orders.service';\nimport {CustomerTableDisplayComponent} from './shared/customers/customer-table-display.component';\nimport { ErrorInterceptor } from './shared/utils/error.interceptor';\nimport { JwtInterceptor } from './shared/utils/jwt.interceptor';\nimport { UsersComponent } from './warehouse/settings/users/users.component';\nimport { CreateUserComponent } from './warehouse/settings/users/create/createuser.component';\nimport { UserService } from './shared/auth/user.service';\nimport { ConfirmationDialogComponent } from './shared/confirmation-dialog/confirmation-dialog.component';\nimport {ConfigurationTableModalComponent} from './shared/configuration-table-modal/configuration-table-modal.component';\nimport { ImageModalComponent } from './shared/image-modal/image-modal.component';\nimport { MatPaginatorI18nService } from './shared/utils/mat-paginator-i18n.service';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { ShopsComponent } from './warehouse/settings/shops/shops/shops.component';\nimport { CustomersComponent } from './warehouse/customers/customers.component';\nimport { CustomersDetailsComponent } from './warehouse/customers/customers-details/customers-details.component';\nimport { CreateShopComponent } from './warehouse/settings/shops/shops/create/createshop.component';\nimport { WarehouseService } from './shared/warehouse/warehouse.service';\nimport { AlertService } from './shared/utils/alert.service';\nimport { MyAccountComponent } from './warehouse/settings/my-account/my-account.component';\nimport { SaveToBasketComponent } from './warehouse/transport/transport-add-edit/save-to-basket/save-to-basket.component';\n\nimport { OrderUtilsService } from './shared/utils/order-utils.service';\nimport { CustomersAddEditComponent } from './warehouse/customers/customers-add-edit/customers-add-edit.component';\nimport { ReportsComponent } from './warehouse/reports/reports.component';\nimport { DetailsComponent } from './shared/details/details.component';\nimport { StepperComponent } from './shared/stepper/stepper.component';\nimport { TransportAddEditComponent } from './warehouse/transport/transport-add-edit/transport-add-edit.component';\nimport { ConfigurationModalComponent } from './shared/configuration-modal/configuration-modal.component';\nimport { TableService } from './shared/configuration-table-modal/table.service';\nimport { PdfService } from './shared/pdf/pdf.service';\nimport { ConfigurationComponent } from './warehouse/settings/configuration/configuration.component';\nimport { ScoreAndSaveComponent } from './warehouse/transport/transport-add-edit/score-and-save/score-and-save.component';\nimport { ChartComponent } from './shared/chart/chart.component';\nimport { ChartService } from './shared/chart/chart.services';\nimport { NgChartsModule } from 'ng2-charts';\nimport { PromiseBtnDirective } from './shared/directives/promise-btn.directive';\nimport { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input';\nimport { AddItemComponent } from './warehouse/transport/add-item/add-item.component';\n\nexport function createTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeLayoutComponent,\n LoginLayoutComponent,\n LoginComponent,\n TransportComponent,\n HeaderComponent,\n SettingsComponent,\n CustomerTableDisplayComponent,\n CustomersComponent,\n UsersComponent,\n CreateUserComponent,\n CustomerTableDisplayComponent,\n ConfirmationDialogComponent,\n ConfigurationTableModalComponent,\n ImageModalComponent,\n ShopsComponent,\n CustomersDetailsComponent,\n CreateShopComponent,\n SaveToBasketComponent,\n ScoreAndSaveComponent,\n MyAccountComponent,\n ConfigurationComponent,\n CustomersAddEditComponent,\n ReportsComponent,\n DetailsComponent,\n StepperComponent,\n TransportAddEditComponent,\n ConfigurationModalComponent,\n ChartComponent,\n AddItemComponent,\n PromiseBtnDirective\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n HttpClientModule,\n FlexLayoutModule,\n MatToolbarModule,\n MatCardModule,\n MatButtonModule,\n MatInputModule,\n MatCheckboxModule,\n MatListModule,\n MatFormFieldModule,\n MatGridListModule,\n MatSidenavModule,\n MatTableModule,\n MatPaginatorModule,\n MatIconModule,\n MatDividerModule,\n MatDatepickerModule,\n MatMomentDateModule,\n MatMenuModule,\n MatDialogModule,\n MatSelectModule,\n MatAutocompleteModule,\n MatProgressSpinnerModule,\n MatSnackBarModule,\n MatRadioModule,\n MatTooltipModule,\n DragDropModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: createTranslateLoader, // exported factory function needed for AoT compilation\n deps: [HttpClient]\n }\n }),\n StarRatingModule.forRoot(),\n MatStepperModule,\n CountdownModule,\n NgxMatIntlTelInputComponent,\n NgChartsModule\n ],\n exports: [\n CustomerTableDisplayComponent\n ],\n providers: [\n AuthService,\n AuthGuard,\n OrderService,\n UserService,\n WarehouseService,\n AlertService,\n OrderUtilsService,\n TableService,\n PdfService,\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\n {\n provide: MatPaginatorIntl,\n useClass: MatPaginatorI18nService,\n },\n CustomDisplayService,\n ChartService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-login-layout',\n template: `\n \n `,\n styles: []\n})\nexport class LoginLayoutComponent {}\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\n\nimport { AuthService } from '../shared/auth/auth.service';\nimport { Router } from '@angular/router';\nimport { first } from 'rxjs/operators';\nimport { AlertService } from '../shared/utils/alert.service';\nimport { ConfigurationModalComponent } from '../shared/configuration-modal/configuration-modal.component';\nimport { MatDialogConfig, MatDialog } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n form: UntypedFormGroup;\n private formSubmitAttempt: boolean;\n public loginSubscription: Subscription;\n\n constructor(\n private fb: UntypedFormBuilder,\n private authService: AuthService,\n private router: Router,\n private alert: AlertService,\n private dialog: MatDialog\n ) { }\n\n ngOnInit() {\n this.form = this.fb.group({\n userName: ['', Validators.required],\n password: ['', Validators.required]\n });\n }\n\n isFieldInvalid(field: string) {\n return (\n (!this.form.get(field).valid && this.form.get(field).touched) ||\n (this.form.get(field).untouched && this.formSubmitAttempt)\n );\n }\n\n onSubmit() {\n if (this.form.valid) {\n this.loginSubscription = this.authService.login(this.form.get('userName').value, this.form.get('password').value)\n .pipe(first())\n .subscribe(\n data => {\n if (this.authService.currentUserValue && ! this.authService.currentUserValue.configured) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(ConfigurationModalComponent, dialogConfig);\n }\n this.router.navigate(['transport']);\n },\n error => {\n console.log(error);\n this.alert.error(error);\n });\n }\n this.formSubmitAttempt = true;\n }\n\n ngOnDestroy(): void {\n if (this.loginSubscription) {\n this.loginSubscription.unsubscribe();\n }\n }\n}\n","
\n \n \n
\n

{{ 'login.description' | translate }}

\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\n\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(private authService: AuthService, private router: Router) { }\n\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n const currentUser = this.authService.currentUserValue;\n if (currentUser) {\n return true;\n }\n\n this.router.navigate(['/login']);\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { User, USER_ROLE, USER_ADMIN } from './user';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Site } from '../resources/site.model';\n\n@Injectable()\nexport class AuthService {\n\n private currentUserSubject: BehaviorSubject;\n public currentUser: Observable;\n\n constructor(private http: HttpClient, private translate: TranslateService) {\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\n this.currentUser = this.currentUserSubject.asObservable();\n }\n\n public get currentUserValue(): User {\n return this.currentUserSubject.value;\n }\n\n login(email: string, password: string) {\n return this.http.post('warehouse/auth', { email, password }).pipe(map(user => {\n if (user && user.token) {\n this.translate.setDefaultLang('fr');\n if (user.configuration && user.configuration.terminology) {\n this.translate.use(user.configuration.terminology + \"-\" + user.language);\n } else {\n this.translate.use(user.language);\n }\n localStorage.setItem('currentUser', JSON.stringify(user));\n this.currentUserSubject.next(user);\n }\n return user;\n }));\n }\n\n configureAntsrouteAuth(email: string, password: string): Observable {\n return this.http.put('warehouse/api/configure/antsroute-auth', { email, password });\n }\n\n getAntsrouteSites(): Observable {\n return this.http.get('warehouse/api/configure/antsroute-sites');\n }\n\n configureAntsrouteSite(site: Site): Observable {\n return this.http.put('warehouse/api/configure/antsroute-site', site);\n }\n\n configurationDone() {\n this.currentUserValue.configured = true;\n localStorage.setItem('currentUser', JSON.stringify(this.currentUserValue));\n\n }\n\n getIcon() {\n return this.currentUserValue.icon;\n }\n\n logout() {\n localStorage.removeItem('currentUser');\n this.currentUserSubject.next(null);\n }\n\n isAdmin(): boolean {\n return this.currentUserValue.role === USER_ADMIN;\n }\n\n isConfigured(): boolean {\n return this.currentUserValue.configured;\n }\n\n isStoreAsDefaultLoading(): boolean {\n return this.currentUserValue.configuration.storeAsDefaultLoading;\n }\n\n isItemsEnable(): boolean {\n return this.currentUserValue.configuration.enableItems;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { UserView, CreateUser, User } from './user';\nimport { HttpResourcesResponse } from '../utils/HttpResourcesResponse.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class UserService {\n\n constructor(private http: HttpClient, private translate: TranslateService, private authService: AuthService) {\n }\n\n createUser(createUser: CreateUser): Observable {\n return this.http.post('warehouse/api/accounts', createUser);\n }\n\n updateUser(email: string, updateUser: CreateUser): Observable {\n return this.http.put('warehouse/api/accounts/' + email, updateUser);\n }\n\n deleteUser(user: UserView): Observable {\n return this.http.delete('warehouse/api/accounts/' + encodeURI(user.email));\n }\n\n findUsers(page: number, size: number): Observable> {\n let p = new HttpParams();\n p = p.append('page', String(page));\n p = p.append('size', String(size));\n return this.http.get>('warehouse/api/accounts', { params: p });\n }\n\n getUser(email: string): Observable {\n return this.http.get('warehouse/api/accounts/' + email);\n }\n\n getMyAccount(): Observable {\n return this.http.get('warehouse/api/my-account' );\n }\n\n updateMyAccount(updateUser: CreateUser): Observable {\n return this.http.put('warehouse/api/my-account', updateUser );\n }\n\n applyLanguage(language: string) {\n const user = this.authService.currentUserValue;\n if (user.configuration.terminology) {\n this.translate.use(user.configuration.terminology + \"-\" + language);\n } else {\n this.translate.use(language);\n }\n }\n\n public getAccountLabel(account: User): string {\n if (account.firstName || account.lastName) {\n let name = '';\n if (account.firstName) {\n name += account.firstName;\n }\n if (account.lastName) {\n if (name.length > 0) {\n name += ' ';\n }\n name += account.lastName;\n }\n return name;\n } else {\n return account.email;\n }\n }\n}\n","import { Configuration } from '../warehouse/configuration.model';\nimport { WarehouseId } from '../warehouse/warehouse.model';\n\nexport interface User {\n email: string;\n token: string;\n role: string;\n language: string;\n configured: boolean;\n icon: string;\n firstName?: string;\n lastName?: string;\n configuration: Configuration;\n}\n\nexport type Role = 'USER' | 'ADMIN';\nexport const USER_ROLE: Role = 'USER';\nexport const USER_ADMIN: Role = 'ADMIN';\n\nexport interface CreateUser {\n firstName: string;\n lastName: string;\n phone: string;\n email: string;\n password: string;\n role: Role;\n warehouseIds: number[];\n language: string;\n}\n\nexport interface UserView {\n firstName: string;\n lastName: string;\n phone: string;\n email: string;\n role: Role;\n language: string;\n warehouses: WarehouseId[];\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CubejsClient, CubejsClientModule } from '@cubejs-client/ngx';\nimport { Subject } from 'rxjs';\nimport * as moment from 'moment';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChartService } from './chart.services';\nimport { ResultSet } from '@cubejs-client/core';\n\nconst cubejsOptions = {\n token:\n '',\n options: {\n apiUrl: '/cubejs-api/v1'\n }\n};\n\n@Component({\n selector: 'ar-chart',\n templateUrl: './chart.component.html',\n styleUrls: ['./chart.component.scss']\n})\nexport class ChartComponent implements OnInit {\n @Input() chartType;\n @Input() query;\n @Input() title;\n @Input() isPickupDelivery: boolean;\n @Input() cubeJsToken: string;\n\n private cubejs: CubejsClient;\n\n constructor(private translateService: TranslateService, private chartService: ChartService) {\n }\n\n public chartData;\n public chartLabels;\n public chartOptions: any = {\n responsive: true,\n maintainAspectRatio: false\n };\n ready = false;\n showChart = false;\n\n public chartColors;\n public lineChartColors = [\n { borderColor: '#7DB3FF', backgroundColor: '#7DB3FF' },\n { borderColor: 'rgba(200,230,201,0.9)', backgroundColor: 'rgba(200,230,201,0.9)' }];\n\n public pieChartColors = [\n {\n backgroundColor: [\n '#7DB3FF',\n '#49457B',\n '#FF7C78',\n '#FED3D0',\n '#6F76D9',\n '#9ADFB4',\n '#2E7987'\n ]\n }\n ];\n\n private querySubject;\n\n private numberFormatter(x: number): string {\n if (x === null) {\n return '0';\n }\n return x.toLocaleString('fr-FR', {maximumFractionDigits: 1});\n }\n private dateFormatter = ({ x }) => moment(x).format('DD/MM');\n\n\n private round(x: number): number {\n if (!x || x === null) {\n return 0;\n }\n return Number(x.toFixed(1));\n }\n\n commonSetup(resultSet: ResultSet) {\n this.chartLabels = resultSet.chartPivot().map(this.dateFormatter);\n this.chartData = resultSet.seriesNames().map(({ key, title }) => ({\n data: resultSet.chartPivot().map(element => this.round(element[key])),\n label: this.getLabel(title.split(',')[0])\n }));\n }\n\n setLineChartData() {\n this.chartOptions = {\n ...this.chartOptions,\n scales: {\n xAxes: [\n {\n ticks: {\n maxTicksLimit: 4,\n maxRotation: 0\n }\n }\n ]\n },\n legend: {\n position: 'top'\n },\n elements: {\n line: {\n fill: false\n }\n }\n };\n this.chartColors = this.lineChartColors;\n }\n\n setPieChartData() {\n this.chartColors = this.pieChartColors;\n }\n\n setStackedBarChartData(resultSet: ResultSet) {\n this.chartType = 'bar';\n const colors = [];\n resultSet.seriesNames().map(({ key, title }) => title.split(',')[0]).forEach(l => {\n colors.push({ backgroundColor: this.getColor(l) });\n });\n this.chartColors = colors;\n this.chartOptions = {\n ...this.chartOptions,\n scales: {\n xAxes: [\n {\n stacked: true\n }\n ],\n yAxes: [{\n ticks: {\n precision:0\n },\n stacked: true\n }],\n },\n legend: {\n position: 'top'\n }\n };\n }\n\n resultChanged(resultSet: ResultSet) {\n this.commonSetup(resultSet);\n if (this.chartType === 'line') {\n this.setLineChartData();\n } else if (this.chartType === 'pie') {\n this.setPieChartData();\n } else if (this.chartType === 'stackedBar') {\n this.setStackedBarChartData(resultSet);\n } else if (this.chartType === 'singleValue') {\n if ( resultSet.chartPivot()[0][resultSet.seriesNames()[0].key] !== undefined) {\n this.chartData = this.numberFormatter(\n resultSet.chartPivot()[0][resultSet.seriesNames()[0].key]\n );\n }\n }\n this.ready = true;\n }\n\n ngOnInit() {\n cubejsOptions.token = this.cubeJsToken;\n CubejsClientModule.forRoot(cubejsOptions);\n this.cubejs = new CubejsClient(cubejsOptions);\n\n this.showChart = this.chartType !== 'singleValue';\n this.querySubject = new Subject();\n this.resultChanged = this.resultChanged.bind(this);\n\n this.cubejs\n .watch(this.querySubject)\n .subscribe(this.resultChanged, err => console.log(err));\n this.querySubject.next(this.query);\n }\n\n getColor(stackLabel: string): string {\n if (stackLabel === 'DN') {\n return 'rgba(200,230,201,0.9)';\n } else if (stackLabel === 'PL') {\n return 'rgba(187,222,251,0.9)';\n } else if (stackLabel === 'CL') {\n return 'rgba(255,205,210,0.9)';\n } else {\n return 'rgba(187,222,251,0.9)';\n }\n }\n\n getTitle(): string {\n if (this.isPickupDelivery) {\n const key = this.title + '.pickup';\n const translation = this.translateService.instant(key);\n if (key !== translation) {\n return translation;\n }\n }\n return this.translateService.instant(this.title);\n }\n\n getLabel(label: string): string {\n if (label.includes('#')) {\n const keyLabel = label.substring(label.indexOf('#') + 1, label.lastIndexOf('#'));\n return this.translateService.instant('reports.chart.label.' + keyLabel);\n\n } else {\n return this.translateService.instant('reports.chart.label.' + label);\n }\n }\n}\n","
\n\t
\n\t\t
{{ getTitle() }}
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{'reports.chart.chart-loading' | translate }}\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n \n

{{'reports.chart.no-data' | translate }}

\n\t\t\t

{{ chartData }}

\n\t\t
\n\t
\n
\n","import {Injectable} from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport class Chart {\n title: string;\n type: string;\n query: any;\n}\n\n@Injectable()\nexport class ChartService {\n\n constructor(private http: HttpClient) {\n }\n\n getCubeJsToken(): Observable {\n return this.http.get('warehouse/api/configuration/cubejs', { responseType: 'text' });\n }\n\n getPlannedOrderByDateAndState(from: string, to: string, customerIds: string[]): Chart {\n console.log(from, to);\n const chart = new Chart();\n chart.title = 'reports.chart.nb-order-per-day';\n chart.type = 'stackedBar';\n chart.query = {\n filters: [\n { dimension: 'Vehicle.registrationNumber', operator: 'set' },\n { dimension: 'Order.parent', operator: 'notSet' },\n { dimension: 'ChildOrder.destinationId', operator: 'equals', values: customerIds }\n ],\n measures: [ 'Order.count'],\n dimensions: [ 'Order.liveState'],\n timeDimensions: [\n {\n dimension: 'Order.scheduledDate',\n dateRange: [from, to],\n granularity: 'day'\n }\n ],\n segments: [ 'Order.doneOrder' ]\n };\n return chart;\n }\n\n getTotalNumberOfDoneOrder(from: string, to: string, customerIds: string[]): Chart {\n const chart = new Chart();\n chart.type = 'singleValue';\n chart.title = 'reports.chart.nb-order-done';\n chart.query = {\n filters: [\n { dimension: 'Order.route', operator: 'set' },\n { dimension: 'Order.parent', operator: 'notSet' },\n { dimension: 'Order.scheduledDate', operator: 'inDateRange', values: [from, to]},\n { dimension: 'ChildOrder.destinationId', operator: 'equals', values: customerIds}\n ],\n measures: [ 'Order.count' ],\n timeDimensions: [ { dimension: 'Order.scheduledDate' } ],\n segments: [ 'Order.doneOrder' ]\n };\n return chart;\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl } from '@angular/forms';\nimport { AuthService } from '../auth/auth.service';\nimport { AlertService } from '../utils/alert.service';\nimport { Site } from '../resources/site.model';\nimport { Router } from '@angular/router';\nimport { MatDialogRef } from '@angular/material/dialog';\n\nexport type Step = 'ANTSROUTE_AUTH' | 'ANTSROUTE_SITE';\nexport const ANTSROUTE_AUTH: Step = 'ANTSROUTE_AUTH';\nexport const ANTSROUTE_SITE: Step = 'ANTSROUTE_SITE';\n\n@Component({\n selector: 'app-configuration-modal',\n templateUrl: './configuration-modal.component.html',\n styleUrls: ['./configuration-modal.component.scss']\n})\nexport class ConfigurationModalComponent implements OnInit {\n\n antsrouteAuth: UntypedFormGroup;\n currentStep: Step = ANTSROUTE_AUTH;\n sites: Site[] = [];\n\n antsrouteSiteId = new UntypedFormControl('', Validators.required);\n\n constructor(\n private fb: UntypedFormBuilder,\n private authService: AuthService,\n private alert: AlertService,\n private router: Router,\n public dialogRef: MatDialogRef) { }\n\n ngOnInit() {\n this.antsrouteAuth = this.fb.group({\n userName: ['', Validators.required],\n password: ['', Validators.required]\n });\n }\n\n public firstStepHasError = (controlName: string, errorName: string) => {\n return this.antsrouteAuth.controls[controlName].hasError(errorName);\n }\n\n public secondStepHasError = (errorName: string) => {\n return this.antsrouteSiteId.hasError(errorName);\n }\n\n testAntsrouteAuth() {\n this.authService.configureAntsrouteAuth(this.antsrouteAuth.get('userName').value, this.antsrouteAuth.get('password').value).subscribe(\n () => {\n this.authService.getAntsrouteSites().subscribe(res => {\n this.sites = res;\n this.currentStep = ANTSROUTE_SITE;\n });\n },\n error => {\n this.alert.error(error);\n }\n );\n }\n\n setAntsrouteSiteId() {\n const antsrouteSite = this.sites.find(s => s.id === Number(this.antsrouteSiteId.value));\n this.authService.configureAntsrouteSite(antsrouteSite).subscribe(() => {\n this.authService.configurationDone();\n this.router.navigate(['/settings/shops']);\n this.dialogRef.close();\n },\n err => {\n this.alert.error(err);\n });\n }\n}\n","

Paramétrage

\n\n\n \n\n
\n
\n
\n
\n settingsVeuillez vous authentifier avec votre compte\n Antsroute afin de lier vos comptes.\n
\n
\n\n
\n \n \n {{'common.error.required' | translate}}\n \n \n \n \n {{'common.error.required' | translate}}\n \n \n
\n
\n
\n\n
\n
\n
\n
\n settingsMerci de sélectionner le site Antsroute que\n vous souhaitez utiliser.\n
\n
\n
\n\n
\n \n Site Antsroute\n \n {{site.name}}\n \n \n {{'common.error.required' | translate}}\n \n \n
\n
\n\n
\n
\n\n \n\n \n\n","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Columns, TableService, TABLE_TYPE } from './table.service';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\n\nexport class ConfigurationTable {\n tableType: TABLE_TYPE;\n columns: Columns;\n}\n\n@Component({\n selector: 'app-configuration-table-modal',\n templateUrl: './configuration-table-modal.component.html',\n styleUrls: ['./configuration-table-modal.component.scss']\n})\nexport class ConfigurationTableModalComponent {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public configurationTable: ConfigurationTable, private tableService: TableService) {\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n isSelected(column: string) {\n return this.configurationTable.columns.selected.findIndex(c => c === column) !== -1;\n }\n\n getName(column: string): string {\n return this.tableService.getHeaderName(column);\n }\n\n changeColumn(column: string) {\n if (this.isSelected(column)) {\n this.configurationTable.columns.selected = this.configurationTable.columns.selected.filter(c => c !== column);\n this.configurationTable.columns.available.push(column);\n } else {\n this.configurationTable.columns.available = this.configurationTable.columns.available.filter(c => c !== column);\n this.configurationTable.columns.selected.splice((this.configurationTable.columns.selected.length - 1), 0, column);\n }\n }\n\n drop(event: CdkDragDrop) {\n console.log(event);\n moveItemInArray(\n this.configurationTable.columns.selected,\n event.previousIndex,\n event.currentIndex\n );\n }\n\n save() {\n this.tableService.setTransportHeaders(this.configurationTable.tableType, this.configurationTable.columns);\n this.dialogRef.close(this.configurationTable.columns.selected);\n }\n}\n","
\n
\n
\n \n
\n
\n {{getName(column) | uppercase}}\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n {{getName(column) | uppercase}}\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomField } from '../resources/custom-fields.service';\nimport { CustomDisplayService } from '../utils/custom-display.service';\nimport { DisplayField } from '../warehouse/configuration.model';\n\nexport class Column {\n selected: string[];\n available: string[];\n}\n\nexport class Columns {\n selected: string[];\n available: string[];\n}\n\nexport type TABLE_TYPE = 'TRANSPORT_TABLE' | 'REPORT_TABLE';\nexport const TRANSPORT_TABLE: TABLE_TYPE = 'TRANSPORT_TABLE';\nexport const REPORT_TABLE: TABLE_TYPE = 'REPORT_TABLE';\n\n@Injectable()\nexport class TableService {\n\n private defaultTransportHeaders = ['status', 'date', 'pickup', 'delivery', 'delivery-time', 'actions'];\n private defaultReportColumns = ['date', 'type', 'customer', 'address', 'satisfaction', 'time', 'actions'];\n\n constructor(private translate: TranslateService, private customDisplayService: CustomDisplayService) {\n }\n\n getTransportHeadersTables(tableType: TABLE_TYPE, customFields: CustomField[]): Columns {\n const transportHeaders = new BehaviorSubject(JSON.parse(localStorage.getItem(tableType)));\n if (!transportHeaders.value) {\n const columns = new Columns();\n if (tableType === TRANSPORT_TABLE) {\n columns.selected = Object.assign([], this.filterDefaultTransportHeaders());\n } else {\n columns.selected = Object.assign([], this.defaultReportColumns);\n }\n\n columns.available = customFields.map(f => f.name);\n return columns;\n } else {\n let allPossibleColumns = [];\n if (tableType === TRANSPORT_TABLE) {\n allPossibleColumns = this.filterDefaultTransportHeaders();\n } else {\n allPossibleColumns = this.defaultReportColumns;\n }\n allPossibleColumns = allPossibleColumns.concat(customFields.map(f => f.name));\n\n transportHeaders.value.selected =\n transportHeaders.value.selected.filter(c => allPossibleColumns.findIndex(possible => possible === c ) !== -1);\n transportHeaders.value.available =\n allPossibleColumns.filter(c => transportHeaders.value.selected.findIndex(selected => selected === c) === -1);\n\n return transportHeaders.value;\n\n }\n }\n\n setTransportHeaders(tableType: TABLE_TYPE, columns: Columns) {\n localStorage.setItem(tableType, JSON.stringify(columns));\n }\n\n getHeaderName(column: string): string {\n const allDefaultHeaders = this.defaultTransportHeaders.concat(this.defaultReportColumns);\n if (allDefaultHeaders.findIndex(c => c === column) !== -1) {\n return this.translate.instant('common.table.' + column);\n } else {\n return column;\n }\n }\n\n filterDefaultTransportHeaders() {\n if (!this.customDisplayService.display(DisplayField.WAREHOUSE_TIMESLOT)) {\n this.defaultTransportHeaders = this.defaultTransportHeaders.filter(c => c !== 'pickup-time');\n }\n return this.defaultTransportHeaders;\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss']\n})\nexport class ConfirmationDialogComponent {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public message: string) { }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","
\n
\n
\n

{{message}}

\n
\n
\n
\n
\n \n \n
\n","import { CustomDisplayService } from './../utils/custom-display.service';\nimport { DisplayField } from 'src/app/shared/warehouse/configuration.model';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { CustomerView } from './customer.model';\nimport { LightOrder } from '../orders/light-order.model';\n\n@Component({\n selector: 'app-customer-table',\n templateUrl: './customer-table-display.component.html',\n styleUrls: ['./customer-table-display.component.scss']\n})\nexport class CustomerTableDisplayComponent implements OnInit {\n\n @Input() order: LightOrder;\n @Input() serviceType: string;\n\n customer: CustomerView = new CustomerView();\n\n constructor(private customDisplayService: CustomDisplayService) {\n }\n\n ngOnInit() {\n if (this.order.serviceType === this.serviceType) {\n this.customer = this.order.customer;\n } else {\n this.customer = this.order.child.customer;\n }\n }\n\n getPhoneNumber(): string {\n if (this.customer.mobileNumber && this.customer.mobileNumber !== '') {\n return this.customer.mobileNumber;\n } else if (this.customer.phoneNumber && this.customer.phoneNumber !== '') {\n return this.customer.phoneNumber;\n } else {\n return '';\n }\n }\n\n displayAddress(): boolean {\n if (this.order.serviceType === this.serviceType) {\n return true;\n } else {\n return this.customDisplayService.display(DisplayField.WAREHOUSE_ADDRESS);\n }\n }\n}\n","
\n\n
\n
\n {{customer.lastName}} {{customer.firstName}}\n {{customer.lastName}} {{customer.firstName}}\n
\n
\n {{ getPhoneNumber() }}
\n {{customer.address}}\n
\n
\n\n\n\n\n
\n","export class CustomerView {\n\n customerId?: number;\n\n siteId?: number;\n\n externalId?: string;\n\n firstName?: string;\n\n lastName?: string;\n\n phoneNumber?: string;\n\n mobileNumber?: string;\n\n email?: string;\n\n comments?: string;\n\n privateComments?: string;\n\n address?: string;\n\n latitude?: number;\n\n longitude?: number;\n\n altitude?: number;\n\n openingHours: [];\n}\n","import { Injectable } from '@angular/core';\nimport { HttpResourcesResponse } from '../utils/HttpResourcesResponse.model';\nimport { Observable } from 'rxjs';\nimport { CustomerView } from './customer.model';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { LightOrder } from '../orders/light-order.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomersService {\n\n constructor(private http: HttpClient) { }\n\n findAllCustomers(page: number, size: number, filter: string): Observable> {\n let p = new HttpParams();\n p = p.append('page', String(page));\n p = p.append('size', String(size));\n p = p.append('filter', filter);\n return this.http.get>('warehouse/api/customers', {params : p});\n }\n\n findCustomer(customerId: number): Observable {\n return this.http.get('warehouse/api/customers/' + String(customerId));\n }\n\n findAllLightOrdersForACustomer(customerId: number, page: number, size: number): Observable> {\n let p = new HttpParams();\n p = p.append('page', String(page));\n p = p.append('size', String(size));\n return this.http.get>('warehouse/api/customers/' + String(customerId) + '/orders', {params : p});\n }\n\n addCustomer(customer: CustomerView): Observable> {\n return this.http.post('warehouse/api/customers/', customer, {observe: 'response'});\n }\n\n editCustomer(customer: CustomerView) {\n return this.http.put('warehouse/api/customers/' + customer.customerId, customer);\n }\n\n}\n","import { CustomDisplayService } from \"./../utils/custom-display.service\";\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { OrderService } from \"../orders/orders.service\";\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from \"@angular/forms\";\nimport * as _moment from \"moment\";\nimport { FullOrderView, UpdateTransport } from \"../orders/base-order.model\";\nimport { ResourcesService } from \"../resources/resources.service\";\nimport { OrderType } from \"../resources/order-type.service\";\nimport { Skill } from \"../resources/skill.service\";\nimport { CapacityType, Capacity } from \"../resources/capacity-type.service\";\nimport { TimeSlot } from \"../resources/time-slot.service\";\nimport { CREATED } from \"../orders/light-order.model\";\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from \"@angular/material/core\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { MatSelectChange } from \"@angular/material/select\";\nimport { MomentDateAdapter } from \"@angular/material-moment-adapter\";\nimport { DATE_FORMATS } from \"src/app/app.component\";\nimport { AlertService } from \"../utils/alert.service\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { ImageModalComponent } from \"../image-modal/image-modal.component\";\nimport { ConfirmationDialogComponent } from \"../confirmation-dialog/confirmation-dialog.component\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport {\n CustomField,\n CustomFieldType,\n OrderCustomFields,\n CustomFieldsService,\n} from \"../resources/custom-fields.service\";\nimport { DisplayField } from \"../warehouse/configuration.model\";\nimport { RequiredOrderTypeValidator } from \"../utils/required-order-type.validator\";\nimport { Subscription } from \"rxjs\";\nimport { AuthService } from \"../auth/auth.service\";\n\nconst moment = _moment;\n\nenum PossibleState {\n DONE = \"DONE\",\n CREATED = \"CREATED\",\n PLANNED = \"PLANNED\",\n CANCELED = \"CANCELED\",\n}\n\nexport class UpdateOrderFields extends OrderCustomFields {}\n\n@Component({\n selector: \"app-details\",\n templateUrl: \"./details.component.html\",\n styleUrls: [\"./details.component.scss\"],\n providers: [\n // The locale would typically be provided on the root module of your application. We do it at\n // the component level here, due to limitations of our example generation script.\n { provide: MAT_DATE_LOCALE, useValue: \"fr\" },\n\n // `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing\n // `MatMomentDateModule` in your applications root module. We provide it at the component level\n // here, due to limitations of our example generation script.\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE],\n },\n { provide: MAT_DATE_FORMATS, useValue: DATE_FORMATS },\n ],\n})\nexport class DetailsComponent implements OnInit, OnDestroy {\n orderId: number;\n\n minDate = new UntypedFormControl(moment());\n maxDate = new UntypedFormControl(moment());\n\n isEditable = false;\n appearance = \"outline\";\n\n orderDetailsFormGroup: UntypedFormGroup;\n orderSaved: FullOrderView;\n isLoading = true;\n isDone = false;\n currentDate = moment(new Date());\n\n orderTypes: OrderType[];\n skills: Skill[];\n capacityTypes: CapacityType[];\n timeSlots: TimeSlot[];\n orderFields: CustomField[];\n capacities: Capacity[] = [];\n updatedOrderFields: UpdateOrderFields;\n\n signingUrl: any;\n photosUrl: any[] = [];\n transportSubscription: Subscription;\n isStoreAsDefaultLoading = this.authService.isStoreAsDefaultLoading();\n\n CustomFieldType = CustomFieldType;\n\n public DisplayField = DisplayField;\n\n constructor(\n private orderService: OrderService,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private formBuilder: UntypedFormBuilder,\n private resourcesService: ResourcesService,\n private alertService: AlertService,\n private sanitizer: DomSanitizer,\n public dialog: MatDialog,\n public translate: TranslateService,\n public customFieldsService: CustomFieldsService,\n private customDisplayService: CustomDisplayService,\n private authService: AuthService\n ) {}\n\n ngOnInit() {\n this.orderId = Number(this.activatedRoute.snapshot.paramMap.get(\"orderId\"));\n this.resourcesService.getAllResources().subscribe((results) => {\n this.orderTypes = results[0];\n this.skills = results[1];\n this.capacityTypes = results[2];\n this.timeSlots = results[3];\n const customFieldsCategories = results[4];\n this.orderFields = [];\n customFieldsCategories.forEach((category) => {\n this.orderFields.push(...category.customFields);\n });\n\n this.orderService.getById(this.orderId).subscribe((order) => {\n this.orderSaved = order;\n this.updatedOrderFields = new UpdateOrderFields();\n this.updatedOrderFields.fields = order.fields;\n this.minDate.setValue(moment(this.orderSaved.openDate, \"YYYY-MM-DD\"));\n this.maxDate.setValue(moment(this.orderSaved.dueDate, \"YYYY-MM-DD\"));\n\n if (this.orderSaved.capacities) {\n this.orderSaved.capacities.forEach((fullCap) => {\n const capacity = new Capacity();\n capacity.value = fullCap.value;\n capacity.capacityTypeId = fullCap.capacityType.id;\n this.capacities.push(capacity);\n });\n }\n\n if (this.orderSaved.hasSigning) {\n this.orderService.getSigning(this.orderId).subscribe((signing) => {\n const blob = new Blob([signing], { type: \"image/jpeg\" });\n const unsafeImageUrl = URL.createObjectURL(blob);\n this.signingUrl =\n this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl);\n });\n }\n\n if (this.orderSaved.nbPhoto > 0) {\n Array.from(Array(this.orderSaved.nbPhoto).keys()).forEach((index) => {\n this.orderService\n .getPhoto(this.orderId, index)\n .subscribe((signing) => {\n const blob = new Blob([signing], { type: \"image/jpeg\" });\n const unsafeImageUrl = URL.createObjectURL(blob);\n this.photosUrl.push(\n this.sanitizer.bypassSecurityTrustUrl(unsafeImageUrl)\n );\n });\n });\n }\n this.orderSaved.state === PossibleState.DONE\n ? (this.isDone = true)\n : (this.isDone = false);\n if (order.state === CREATED) {\n this.isEditable = true;\n this.appearance = \"legacy\";\n }\n this.buildForm();\n this.addCapacityFields();\n this.addCustomFields();\n this.isLoading = false;\n });\n });\n }\n\n buildForm(): void {\n this.orderDetailsFormGroup = this.formBuilder.group({\n shopName: new UntypedFormControl({\n value: this.orderSaved.child.customer.lastName,\n disabled: true,\n }),\n shopAddress: new UntypedFormControl({\n value: this.orderSaved.child.customer.address,\n disabled: true,\n }),\n warehouseTimeSlotId: new UntypedFormControl({\n value: String(this.orderSaved.child.timeSlot.id),\n }),\n warehouseDuration: new UntypedFormControl(\n Number(this.orderSaved.child.duration).toString()\n ),\n customerName: new UntypedFormControl({\n value:\n this.orderSaved.customer.lastName +\n \" \" +\n this.orderSaved.customer.firstName,\n disabled: true,\n }),\n customerAddress: new UntypedFormControl({\n value: this.orderSaved.customer.address,\n disabled: true,\n }),\n customerMobilePhone: new UntypedFormControl({\n value: this.orderSaved.customer.mobileNumber,\n disabled: true,\n }),\n customerMail: new UntypedFormControl({\n value: this.orderSaved.customer.email,\n disabled: true,\n }),\n customerTimeSlotId: new UntypedFormControl({\n value: String(this.orderSaved.timeSlot.id),\n }),\n customerComment: new UntypedFormControl({\n value: this.orderSaved.customer.comments,\n disabled: true,\n }),\n customerDuration: new UntypedFormControl(this.orderSaved.duration),\n comment: new UntypedFormControl(this.orderSaved.comments),\n skillId: new UntypedFormControl(),\n orderTypeId: new UntypedFormControl(\n null,\n this.isRequired(DisplayField.ORDER_TYPE)\n ? RequiredOrderTypeValidator\n : null\n ),\n scheduledDate: new UntypedFormControl(moment(this.orderSaved.scheduledDate)),\n\n reportScheduledTime: new UntypedFormControl(\n moment(this.orderSaved.theoreticalArrivalTime, \"HH:mm:ss\").format(\n \"HH:mm\"\n )\n ),\n reportArrivalTime: new UntypedFormControl(\n moment(this.orderSaved.terminatedDate).format(\"HH:mm\")\n ),\n reportAgent: new UntypedFormControl(this.orderSaved.assignedAgent),\n reportVehicle: new UntypedFormControl(this.orderSaved.assignedVehicle),\n reportComment: new UntypedFormControl(this.orderSaved.resolutionComments),\n reportCustomerFeedback: new UntypedFormControl(\"\"),\n });\n this.orderDetailsFormGroup.get(\"scheduledDate\").disable();\n this.orderDetailsFormGroup.get(\"reportScheduledTime\").disable();\n this.orderDetailsFormGroup.get(\"reportArrivalTime\").disable();\n this.orderDetailsFormGroup.get(\"reportAgent\").disable();\n this.orderDetailsFormGroup.get(\"reportVehicle\").disable();\n this.orderDetailsFormGroup.get(\"reportComment\").disable();\n this.orderDetailsFormGroup.get(\"reportCustomerFeedback\").disable();\n\n if (!this.isStoreAsDefaultLoading) {\n this.orderDetailsFormGroup.get(\"shopName\").setValue(this.orderSaved.customer.lastName);\n this.orderDetailsFormGroup.get(\"shopAddress\").setValue(this.orderSaved.customer.address);\n this.orderDetailsFormGroup.get(\"warehouseTimeSlotId\").setValue(String(this.orderSaved.timeSlot.id));\n this.orderDetailsFormGroup.get(\"warehouseDuration\").setValue(this.orderSaved.duration);\n\n this.orderDetailsFormGroup.get(\"customerName\").setValue(this.orderSaved.child.customer.lastName);\n this.orderDetailsFormGroup.get(\"customerAddress\").setValue(this.orderSaved.child.customer.address);\n this.orderDetailsFormGroup.get(\"customerMobilePhone\").setValue(this.orderSaved.child.customer.mobileNumber);\n this.orderDetailsFormGroup.get(\"customerMail\").setValue(this.orderSaved.child.customer.email);\n this.orderDetailsFormGroup.get(\"customerComment\").setValue(this.orderSaved.child.customer.comments);\n this.orderDetailsFormGroup.get(\"customerDuration\").setValue(this.orderSaved.child.duration);\n this.orderDetailsFormGroup.get(\"customerTimeSlotId\").setValue(String(this.orderSaved.child.timeSlot.id));\n\n }\n\n // select fields initialization\n this.orderDetailsFormGroup.get(\"skillId\").setValue(\"-1\");\n if (this.orderSaved.skill) {\n this.orderDetailsFormGroup\n .get(\"skillId\")\n .setValue(String(this.orderSaved.skill.id));\n }\n\n this.orderDetailsFormGroup.get(\"orderTypeId\").setValue(\"-1\");\n if (this.orderSaved.orderType) {\n this.orderDetailsFormGroup\n .get(\"orderTypeId\")\n .setValue(String(this.orderSaved.orderType.id));\n this.orderDetailsFormGroup.get(\"customerDuration\").disable();\n this.orderDetailsFormGroup.get(\"skillId\").disable();\n if (\n this.orderSaved.orderType.timeSlotStart &&\n this.orderSaved.orderType.timeSlotEnd\n ) {\n this.orderDetailsFormGroup.get(\"customerTimeSlotId\").disable();\n } else {\n this.orderDetailsFormGroup.get(\"customerTimeSlotId\").enable();\n }\n }\n\n if (this.orderSaved.child.timeSlot) {\n this.orderDetailsFormGroup\n .get(\"warehouseTimeSlotId\")\n .setValue(String(this.orderSaved.child.timeSlot.id));\n }\n if (this.orderSaved.timeSlot) {\n this.orderDetailsFormGroup\n .get(\"customerTimeSlotId\")\n .setValue(String(this.orderSaved.timeSlot.id));\n }\n\n if (this.orderSaved.customerReview) {\n this.orderDetailsFormGroup\n .get(\"reportCustomerFeedback\")\n .setValue(this.orderSaved.customerReview.comments);\n }\n\n if (!this.isEditable) {\n this.orderDetailsFormGroup.get(\"warehouseTimeSlotId\").disable();\n this.orderDetailsFormGroup.get(\"warehouseDuration\").disable();\n\n this.orderDetailsFormGroup.get(\"customerTimeSlotId\").disable();\n this.orderDetailsFormGroup.get(\"customerDuration\").disable();\n this.orderDetailsFormGroup.get(\"comment\").disable();\n this.orderDetailsFormGroup.get(\"skillId\").disable();\n this.orderDetailsFormGroup.get(\"orderTypeId\").disable();\n }\n\n this.setupOnChangeOrderType();\n }\n\n private setupOnChangeOrderType() {\n this.orderDetailsFormGroup\n .get(\"orderTypeId\")\n .valueChanges.subscribe((orderTypeSelected) => {\n if (Number(orderTypeSelected) === -1) {\n this.orderDetailsFormGroup.get(\"customerDuration\").enable();\n this.orderDetailsFormGroup.get(\"skillId\").enable();\n this.orderDetailsFormGroup.get(\"customerTimeSlotId\").enable();\n } else {\n const orderType = this.orderTypes.find(\n (s) => s.id === Number(orderTypeSelected)\n );\n this.orderDetailsFormGroup.get(\"customerDuration\").disable();\n this.orderDetailsFormGroup\n .get(\"customerDuration\")\n .setValue(orderType.duration);\n this.orderDetailsFormGroup.get(\"skillId\").disable();\n if (orderType.skill) {\n this.orderDetailsFormGroup\n .get(\"skillId\")\n .setValue(String(orderType.skill.id));\n }\n if (orderType.timeSlotStart && orderType.timeSlotEnd) {\n const timeSlot = this.timeSlots.find(\n (t) =>\n t.from === orderType.timeSlotStart &&\n t.to === orderType.timeSlotEnd\n );\n this.orderDetailsFormGroup\n .get(\"customerTimeSlotId\")\n .setValue(String(timeSlot.id));\n this.orderDetailsFormGroup.get(\"customerTimeSlotId\").disable();\n } else {\n this.orderDetailsFormGroup.get(\"customerTimeSlotId\").enable();\n }\n }\n });\n }\n\n private addCapacityFields() {\n this.capacityTypes.forEach((capacityType) => {\n let value = \"0\";\n if (\n this.capacities.findIndex(\n (c) => c.capacityTypeId === capacityType.id\n ) !== -1\n ) {\n value = this.capacities\n .find((c) => c.capacityTypeId === capacityType.id)\n .value.toString();\n }\n const control = new UntypedFormControl(value);\n if (!this.isEditable) {\n control.disable();\n }\n control.valueChanges.subscribe((x) => {\n if (!isNaN(x) && x !== \"\") {\n if (\n this.capacities.findIndex(\n (c) => c.capacityTypeId === capacityType.id\n ) !== -1\n ) {\n this.capacities.find(\n (c) => c.capacityTypeId === capacityType.id\n ).value = x;\n } else {\n const capacity = new Capacity();\n capacity.capacityTypeId = capacityType.id;\n capacity.value = x;\n this.capacities.push(capacity);\n }\n } else {\n const index = this.capacities.findIndex(\n (c) => c.capacityTypeId === capacityType.id\n );\n if (index > -1) {\n this.capacities.splice(index, 1);\n }\n }\n });\n this.orderDetailsFormGroup.addControl(\"cap\" + capacityType.id, control);\n });\n }\n\n private addCustomFields() {\n this.orderFields.forEach((orderField) => {\n const control = new UntypedFormControl(\"\");\n this.orderDetailsFormGroup.addControl(\"field\" + orderField.id, control);\n if (!this.isEditable) {\n control.disable();\n }\n\n if (\n this.orderSaved.fields.findIndex(\n (f) => f.field.id === orderField.id\n ) !== -1\n ) {\n if (orderField.type === CustomFieldType.DATE) {\n const stringValue = this.orderSaved.fields.find(\n (f) => f.field.id === orderField.id\n ).value;\n this.orderDetailsFormGroup\n .get(\"field\" + orderField.id)\n .setValue(moment(stringValue, \"YYYY-MM-DD\"));\n } else {\n this.orderDetailsFormGroup\n .get(\"field\" + orderField.id)\n .setValue(\n this.orderSaved.fields.find((f) => f.field.id === orderField.id)\n .value\n );\n }\n }\n });\n }\n\n onChangeStringOrderField(orderField: CustomField, event): void {\n this.customFieldsService.onChangeOrderField(\n this.updatedOrderFields,\n orderField,\n event.target.value\n );\n }\n\n onChangeDateOrderField(orderField: CustomField, event): void {\n let selectedDate;\n if (event.target.value) {\n selectedDate = event.target.value.toDate();\n }\n this.customFieldsService.onChangeOrderField(\n this.updatedOrderFields,\n orderField,\n selectedDate\n );\n }\n\n onChangeBooleanOrderField(orderField: CustomField, event: any) {\n this.customFieldsService.onChangeBooleanOrderField(\n this.updatedOrderFields,\n orderField,\n event.checked\n );\n }\n\n onChangeSelectOrderField(\n orderField: CustomField,\n event: MatSelectChange\n ): void {\n this.customFieldsService.onChangeOrderField(\n this.updatedOrderFields,\n orderField,\n event.value\n );\n }\n\n minDateChange() {\n if (this.minDate.value.isAfter(this.maxDate.value)) {\n this.maxDate.setValue(moment(this.minDate.value).add(3, \"days\"));\n }\n }\n\n maxDateChange() {\n if (this.maxDate.value.isBefore(this.minDate.value)) {\n this.minDate.setValue(this.maxDate.value);\n }\n }\n\n goBack() {\n const customerId = Number(\n this.activatedRoute.snapshot.paramMap.get(\"customerId\")\n );\n if (this.router.url.indexOf(\"reports\") > 0) {\n this.router.navigate([\"/reports\"]);\n } else if (this.router.url.indexOf(\"transport\") > 0) {\n this.router.navigate([\"/transport\"]);\n } else if (this.router.url.indexOf(\"customers\") > 0) {\n this.router.navigate([\"/customers/\" + customerId]);\n }\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.orderDetailsFormGroup.controls[controlName].hasError(errorName);\n };\n\n updateTransport(value: UpdateTransport) {\n value.openDate = this.minDate.value.format(\"YYYY-MM-DD\");\n value.dueDate = this.maxDate.value.format(\"YYYY-MM-DD\");\n\n value.warehouseTimeSlot = this.timeSlots.find(\n (t) => t.id === Number(value.warehouseTimeSlotId)\n );\n value.customerTimeSlot = this.timeSlots.find(\n (t) => t.id === Number(value.customerTimeSlotId)\n );\n\n if (value.skillId === -1) {\n value.skill = undefined;\n } else {\n value.skill = this.skills.find((s) => s.id === Number(value.skillId));\n }\n\n if (value.orderTypeId === -1) {\n value.orderType = undefined;\n } else {\n value.orderType = this.orderTypes.find(\n (s) => s.id === Number(value.orderTypeId)\n );\n }\n\n value.capacities = this.capacities;\n value.fields = this.updatedOrderFields.fields;\n\n this.transportSubscription = this.orderService\n .updateOrder(this.orderId, value)\n .subscribe(\n (res) => {\n this.alertService.info(\"orders.updated\");\n },\n (err) => {\n this.alertService.error(err);\n this.router.navigate([\"/transport/\" + this.orderId]);\n }\n );\n }\n\n deleteTransport() {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: \"350px\",\n data: this.translate.instant(\"orders.confirm-deletion\"),\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.orderService.deleteOrder(this.orderId).subscribe(\n () => {\n this.alertService.info(\"orders.deleted\");\n this.router.navigate([\n \"/customers/\" + this.orderSaved.customer.customerId,\n ]);\n },\n (err) => {\n this.alertService.error(err);\n this.router.navigate([\"/transport/\" + this.orderId]);\n }\n );\n }\n });\n }\n\n openImage(url: string) {\n const dialogRef = this.dialog.open(ImageModalComponent, {\n data: url,\n });\n }\n\n private displayField(displayField: DisplayField) {\n return this.customDisplayService.display(displayField);\n }\n\n private isRequired(displayField: DisplayField) {\n return this.customDisplayService.isRequired(displayField);\n }\n\n ngOnDestroy(): void {\n if (this.transportSubscription) {\n this.transportSubscription.unsubscribe();\n }\n }\n}\n","
\n \n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n \n
\n
\n
\n \n \n \n \n \n\n \n \n \n \n \n\n \n {{ 'orders.details.time-slot' | translate }}\n \n \n {{timeslot.from | slice:0:5}} - {{timeslot.to | slice:0:5}}\n \n \n \n
\n\n
\n \n {{'orders.details.date' | translate}}\n \n \n \n \n\n \n {{ 'orders.details.time-slot' | translate }}\n \n \n {{timeslot.from | slice:0:5}} - {{timeslot.to | slice:0:5}}\n \n \n \n
\n
\n\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n
\n room\n
\n {{ 'orders.details.loading' | translate }}: {{ 'orders.details.shop.title' | translate }}\n {{ 'orders.details.unloading' | translate }}: {{ 'orders.details.shop.title' | translate }}\n {{ 'orders.details.delivery' | translate }}: {{ 'orders.details.shop.title' | translate }}\n {{ 'orders.details.pickup' | translate }}: {{ 'orders.details.shop.title' | translate }}\n
\n \n \n
\n
\n \n {{ 'orders.details.shop.name' | translate }}\n \n \n
\n
\n
\n
\n \n {{ 'orders.details.shop.address' | translate }}\n \n \n
\n
\n\n
\n \n {{ (orderSaved.serviceType === 'DELIVERY' ? 'model.shop.loading-timeslot' :\n 'model.shop.unloading-timeslot') | translate }}\n \n \n {{timeslot.from | slice:0:5}} - {{timeslot.to | slice:0:5}}\n \n \n \n
\n
\n
\n
\n\n
\n swap_horiz\n
\n\n
\n \n \n
\n room\n
\n {{ 'orders.details.delivery' | translate }}: {{ 'orders.details.customer.title' | translate }}\n {{ 'orders.details.pickup' | translate}}: {{ 'orders.details.customer.title' | translate }}\n {{ 'orders.details.loading' | translate }}: {{ 'orders.details.customer.title' | translate }}\n {{ 'orders.details.unloading' | translate}}: {{ 'orders.details.customer.title' | translate }}\n
\n \n \n
\n
\n \n {{ 'orders.details.customer.name' | translate }}\n \n \n
\n
\n
\n
\n \n {{ 'orders.details.customer.address' | translate }}\n \n \n
\n
\n\n
\n
\n \n {{ 'common.table.mobile-phone' | translate }}\n \n \n
\n
\n \n {{ 'orders.details.customer.mail' | translate }}\n \n \n
\n
\n\n
\n
\n \n {{ 'orders.details.customer.comment' | translate }}\n \n \n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n
\n local_shipping\n
\n {{ 'orders.details.title' | translate }}\n
\n \n \n
\n
\n
\n \n {{ (orderSaved.serviceType === 'DELIVERY' ? 'orders.details.delivery-time' :\n 'orders.details.pickup-time') | translate }}\n \n min\n {{'common.error.required' |\n translate}}\n \n {{'common.error.integer' | translate}}\n \n \n \n {{ (orderSaved.serviceType === 'DELIVERY' ? 'orders.details.loading-time' :\n 'orders.details.unloading-time') | translate }}\n \n min\n {{'common.error.required' |\n translate}}\n \n {{'common.error.integer' | translate}}\n \n \n
\n\n
0\">\n\n \n\n \n \n {{orderField.name}}\n \n \n\n \n {{orderField.name}}\n \n \n \n \n\n \n \n {{'common.error.integer' |\n translate}}\n \n \n\n
\n \n {{orderField.name}}\n \n
\n\n \n \n {{orderField.name}}\n \n \n \n {{ option }}\n \n \n \n\n
\n
\n\n
\n\n
\n
\n \n {{ 'orders.details.comment' | translate }}\n \n {{'common.error.maxlength' |\n translate:{\"value\" : \"1000\"} }}\n \n \n
\n
\n
\n\n
\n
0 || orderTypes.length > 0\">\n
0 && displayField(DisplayField.ORDER_TYPE)\">\n \n {{'orders.details.order-type' | translate}} *\n \n {{'orders.details.no-order-type' | translate}}\n {{orderType.name}}\n \n \n {{'common.error.required' |\n translate}}\n \n \n
\n
0\">\n \n {{'orders.details.skill' | translate}}\n \n {{'orders.details.no-skill' | translate}}\n {{skill.name}}\n \n \n \n
\n
\n\n
\n \n
\n \n {{capacityType.name}}\n \n {{capacityType.unit}}\n {{'common.error.required' |\n translate}}\n \n {{'common.error.integer' |\n translate}}\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
0\">\n
\n \n \n
\n list\n
\n Articles\n
\n \n \n
\n \n
\n {{item.quantity}} x {{item.itemType.label}} ({{item.itemType.reference}})\n
\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n
\n equalizer\n
\n {{ 'orders.details.report.title' | translate }}\n
\n \n \n
\n
\n
\n
\n \n {{ 'orders.details.report.scheduled-time' | translate }}\n \n \n
\n
\n \n {{ 'orders.details.report.arrival-time' | translate }}\n\n \n \n
\n
\n\n
\n
\n \n {{ 'orders.details.report.agent' | translate }}\n \n \n
\n
\n \n {{ 'orders.details.report.vehicle' | translate }}\n \n \n
\n
\n\n
\n
\n \n {{ 'orders.details.report.comment' | translate }}\n \n \n
\n
\n
\n\n
\n
\n
\n {{ 'orders.details.report.signing' | translate }} \n \n
\n\n
\n {{ 'orders.details.report.photo' | translate }} {{i + 1}} \n \n
\n\n
\n \n
\n
\n

{{ 'orders.details.report.customer-rating' | translate }} :

\n \n
\n
\n\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n\n
\n
\n \n \n
\n
\n
\n","import { AfterContentInit, Directive, ElementRef, HostListener, Input, OnDestroy } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\n/**\n * Code adapted from https://github.com/johannesjo/angular2-promise-buttons/\n */\n\ninterface PromiseBtnConfig {\n spinnerTpl?: string;\n disableBtn?: boolean;\n btnLoadingClass?: boolean | string;\n handleCurrentBtnOnly?: boolean;\n minDuration?: number | null;\n}\n\nconst DEFAULT_CFG: PromiseBtnConfig = {\n spinnerTpl: '',\n disableBtn: true,\n btnLoadingClass: 'is-loading',\n handleCurrentBtnOnly: false,\n minDuration: null\n};\n\n@Directive({\n selector: '[promiseBtn]'\n})\nexport class PromiseBtnDirective implements OnDestroy, AfterContentInit {\n cfg: PromiseBtnConfig = DEFAULT_CFG;\n // the timeout used for min duration display\n minDurationTimeout: number;\n // boolean to determine minDurationTimeout state\n isMinDurationTimeoutDone: boolean;\n // boolean to determine if promise was resolved\n isPromiseDone: boolean;\n // the promise button button element\n btnEl: HTMLElement;\n // the promise itself or a function expression\n // NOTE: we need the type any here as we might deal with custom promises like bluebird\n promise: any;\n\n // this is added to fix the overriding of the disabled state by the loading indicator button.\n // https://github.com/johannesjo/angular2-promise-buttons/issues/34\n @Input('disabled')\n set isDisabledFromTheOutsideSetter(v: boolean) {\n this.isDisabledFromTheOutside = v;\n if (v) {\n // disabled means always disabled\n this.btnEl.setAttribute('disabled', 'disabled');\n } else if (this.isPromiseDone || this.isPromiseDone === undefined) {\n this.btnEl.removeAttribute('disabled');\n }\n // else the button is loading, so do not change the disabled loading state.\n }\n\n isDisabledFromTheOutside: boolean;\n\n private _fakePromiseResolve: (args?: any) => void;\n\n constructor(el: ElementRef) {\n // save element\n this.btnEl = el.nativeElement;\n }\n\n @Input()\n set promiseBtn(passedValue: any) {\n const isObservable: boolean = passedValue instanceof Observable;\n const isSubscription: boolean = passedValue instanceof Subscription;\n const isBoolean: boolean = typeof passedValue === 'boolean';\n const isPromise: boolean =\n passedValue instanceof Promise ||\n (passedValue !== null &&\n typeof passedValue === 'object' &&\n typeof passedValue.then === 'function' &&\n typeof passedValue.catch === 'function');\n\n if (isObservable) {\n throw new TypeError('promiseBtn must be an instance of Subscription, instance of Observable given');\n } else if (isSubscription) {\n const sub: Subscription = passedValue;\n if (!sub.closed) {\n this.promise = new Promise((resolve) => {\n sub.add(resolve);\n });\n }\n } else if (isPromise) {\n this.promise = passedValue;\n } else if (isBoolean) {\n this.promise = this.createPromiseFromBoolean(passedValue);\n }\n\n this.checkAndInitPromiseHandler(this.btnEl);\n }\n\n ngAfterContentInit(): void {\n this.prepareBtnEl(this.btnEl);\n // trigger changes once to handle initial promises\n this.checkAndInitPromiseHandler(this.btnEl);\n }\n\n ngOnDestroy(): void {\n // cleanup\n if (this.minDurationTimeout) {\n clearTimeout(this.minDurationTimeout);\n }\n }\n\n createPromiseFromBoolean(val: boolean): Promise {\n if (val) {\n return new Promise((resolve) => {\n this._fakePromiseResolve = resolve;\n });\n } else {\n if (this._fakePromiseResolve) {\n this._fakePromiseResolve();\n }\n return this.promise;\n }\n }\n\n /**\n * Initializes all html and event handlers\n */\n prepareBtnEl(btnEl: HTMLElement): void {\n // handle promises passed via promiseBtn attribute\n this.appendSpinnerTpl(btnEl);\n }\n\n /**\n * Checks if all required parameters are there and inits the promise handler\n */\n checkAndInitPromiseHandler(btnEl: HTMLElement): void {\n // check if element and promise is set\n if (btnEl && this.promise) {\n this.initPromiseHandler(btnEl);\n }\n }\n\n /**\n * Helper FN to add class\n */\n addLoadingClass(el: any): void {\n if (typeof this.cfg.btnLoadingClass === 'string') {\n el.classList.add(this.cfg.btnLoadingClass);\n }\n }\n\n /**\n * Helper FN to remove classes\n */\n removeLoadingClass(el: any): void {\n if (typeof this.cfg.btnLoadingClass === 'string') {\n el.classList.remove(this.cfg.btnLoadingClass);\n }\n }\n\n /**\n * Handles everything to be triggered when the button is set\n * to loading state.\n */\n initLoadingState(btnEl: HTMLElement): void {\n this.addLoadingClass(btnEl);\n this.disableBtn(btnEl);\n }\n\n /**\n * Handles everything to be triggered when loading is finished\n */\n cancelLoadingStateIfPromiseAndMinDurationDone(btnEl: HTMLElement): void {\n if ((!this.cfg.minDuration || this.isMinDurationTimeoutDone) && this.isPromiseDone) {\n this.removeLoadingClass(btnEl);\n this.enableBtn(btnEl);\n }\n }\n\n disableBtn(btnEl: HTMLElement): void {\n if (this.cfg.disableBtn) {\n btnEl.setAttribute('disabled', 'disabled');\n }\n }\n\n enableBtn(btnEl: HTMLElement): void {\n if (this.cfg.disableBtn) {\n if (this.isDisabledFromTheOutside) {\n btnEl.setAttribute('disabled', 'disabled');\n } else {\n btnEl.removeAttribute('disabled');\n }\n }\n }\n\n /**\n * Initializes a watcher for the promise. Also takes\n * this.cfg.minDuration into account if given.\n */\n\n initPromiseHandler(btnEl: HTMLElement): void {\n const promise = this.promise;\n\n // watch promise to resolve or fail\n this.isMinDurationTimeoutDone = false;\n this.isPromiseDone = false;\n\n // create timeout if option is set\n if (this.cfg.minDuration) {\n this.minDurationTimeout = window.setTimeout(() => {\n this.isMinDurationTimeoutDone = true;\n this.cancelLoadingStateIfPromiseAndMinDurationDone(btnEl);\n }, this.cfg.minDuration);\n }\n\n const resolveLoadingState = (): void => {\n this.isPromiseDone = true;\n this.cancelLoadingStateIfPromiseAndMinDurationDone(btnEl);\n };\n\n if (!this.cfg.handleCurrentBtnOnly) {\n this.initLoadingState(btnEl);\n }\n // native Promise doesn't have finally\n if (promise.finally) {\n promise.finally(resolveLoadingState);\n } else {\n promise.then(resolveLoadingState).catch(resolveLoadingState);\n }\n }\n\n /**\n * $compile and append the spinner template to the button.\n */\n appendSpinnerTpl(btnEl: HTMLElement): void {\n btnEl.insertAdjacentHTML('beforeend', this.cfg.spinnerTpl);\n }\n\n /**\n * Limit loading state to show only for the currently clicked button.\n * Executed only if this.cfg.handleCurrentBtnOnly is set\n */\n @HostListener('click')\n handleCurrentBtnOnly(): boolean {\n if (!this.cfg.handleCurrentBtnOnly) {\n return true; // return true for testing\n }\n\n // Click triggers @Input update\n // We need to use timeout to wait for @Input to update\n window.setTimeout(() => {\n // return if something else than a promise is passed\n if (!this.promise) {\n return;\n }\n\n this.initLoadingState(this.btnEl);\n }, 0);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { saveAs } from 'file-saver';\n@Component({\n selector: 'app-image-modal',\n templateUrl: './image-modal.component.html',\n styleUrls: ['./image-modal.component.scss']\n})\nexport class ImageModalComponent {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public url: any) { }\n\n\n download() {\n saveAs(this.url.changingThisBreaksApplicationSecurity, 'image.jpg');\n }\n\n}\n","
\n
\n
\n \n
\n
\n
\n
\n \n
\n","import {ServiceType, State} from './light-order.model';\nimport {CustomerView} from '../customers/customer.model';\nimport {TimeSlot} from './timeslot.model';\nimport { Skill } from '../resources/skill.service';\nimport { FullCapacity, Capacity } from '../resources/capacity-type.service';\nimport { WarehouseView } from '../warehouse/warehouse.model';\nimport { OrderType } from '../resources/order-type.service';\nimport { OrderCustomFields, CustomFieldValue } from '../resources/custom-fields.service';\nimport { Item } from '../resources/item-types.service';\n\nexport class BaseOrder {\n\n id?: number;\n\n serviceType: ServiceType;\n\n comments?: string;\n\n duration: number;\n\n customer: CustomerView = new CustomerView();\n\n theoreticalArrivalTime?: string;\n\n timeSlot?: TimeSlot;\n\n scheduledDate?: string;\n\n terminatedDate?: string;\n\n openDate?: string;\n\n dueDate?: string;\n\n state?: State;\n\n assignedVehicle?: string;\n\n assignedAgent?: string;\n\n fields: CustomFieldValue[] = [];\n\n items: Item[] = [];\n\n}\n\nexport class CustomerReview {\n rating: 0 | 1 | 2 | 3 | 4 | 5;\n comments: string;\n token: string;\n}\n\nexport class FullOrderView extends BaseOrder {\n skill?: Skill;\n orderType?: OrderType;\n capacities: FullCapacity[];\n customerReview?: CustomerReview;\n child: FullOrderView;\n resolutionComments?: string;\n hasSigning: boolean;\n nbPhoto: number;\n}\n\n\nexport class UpdateTransport extends OrderCustomFields {\n customerDuration: number;\n customerTimeSlot: TimeSlot;\n customerTimeSlotId: number;\n\n warehouseDuration: number;\n warehouseTimeSlot: TimeSlot;\n warehouseTimeSlotId: number;\n\n comment: string;\n\n skillId: number;\n skill: Skill;\n\n capacities: Capacity[];\n\n openDate?: string;\n\n dueDate?: string;\n\n orderTypeId: number;\n orderType: OrderType;\n\n}\n\n\nexport class CreateTransport extends UpdateTransport {\n serviceType: ServiceType;\n\n customer: CustomerView;\n customerId: number;\n\n shop: WarehouseView;\n warehouseId: number;\n items: Item[];\n}\n\nexport type InfeasibleReason =\n 'NOT_YET_OPTIMIZED' |\n 'TIME_CONSTRAINT' |\n 'SKILL_CONSTRAINT' |\n 'CAPACITY_CONSTRAINT' |\n 'TRAFFIC_CONSTRAINT' |\n 'PLANNING_LOCKED' |\n 'DISTANCE_CONSTRAINT' |\n 'END_WORKING_TIME_CONSTRAINT' |\n 'AGENT_CONSTRAINT' |\n 'UNKNOWN';\n\nexport class InsertionStatus {\n date: Date;\n timeSlot: TimeSlot;\n insertionCost: number;\n reason: InfeasibleReason;\n\n //only for display\n selected: boolean;\n}\n\nexport class ScoreOrderReport {\n uniqueOrderScoreIdentifier: string;\n timeoutTimestamp: number;\n status: InsertionStatus[];\n}\n\nexport class ScoreOrderValidation {\n uniqueOrderScoreIdentifier: string;\n date: Date;\n timeSlot: TimeSlot;\n orderId: number;\n}\n","import {BaseOrder} from './base-order.model';\n\n\nexport type ServiceType = 'SERVICE' | 'PICKUP' | 'DELIVERY';\nexport const SERVICE: ServiceType = 'SERVICE';\nexport const PICKUP: ServiceType = 'PICKUP';\nexport const DELIVERY: ServiceType = 'DELIVERY';\n\nexport type State = 'PLANNED' | 'UNASSIGNED' | 'CREATED' | 'DELETED' | 'CANCELED' | 'DONE' | 'REPROGRAMMED' | 'DEPROGRAMMED'\n | 'PENDING' | 'CONFIRMED';\nexport const PLANNED: State = 'PLANNED';\nexport const UNASSIGNED: State = 'UNASSIGNED';\nexport const CREATED: State = 'CREATED';\nexport const CANCELED: State = 'CANCELED';\nexport const DONE: State = 'DONE';\nexport const REPROGRAMMED: State = 'REPROGRAMMED';\nexport const DEPROGRAMMED: State = 'DEPROGRAMMED';\nexport const DELETED: State = 'DELETED';\nexport const CONFIRMED: State = 'CONFIRMED';\nexport const PENDING: State = 'PENDING';\n\nexport class LightOrder extends BaseOrder {\n\n child: LightOrder;\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpParams, HttpResponse} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {LightOrder, State} from './light-order.model';\nimport {HttpResourcesResponse} from '../utils/HttpResourcesResponse.model';\nimport {TimeSlot} from './timeslot.model';\nimport {FullOrderView, CreateTransport, UpdateTransport, ScoreOrderReport, ScoreOrderValidation} from './base-order.model';\n\n@Injectable()\nexport class OrderService {\n\n constructor(private http: HttpClient) {\n }\n\n findAllLightOrders(page: number, size: number, minDate: string, maxDate: string): Observable> {\n return this.findAllLightOrdersByState(page, size, minDate, maxDate, [], []);\n }\n\n findAllLightOrdersByState(page: number, size: number, minDate: string, maxDate: string, states?: Array,\n warehouses?: Array):\n Observable> {\n let p = new HttpParams();\n p = p.append('page', String(page));\n p = p.append('size', String(size));\n if (minDate) {\n p = p.append('minDate', minDate);\n }\n if (maxDate) {\n p = p.append('maxDate', maxDate);\n }\n if (states && states.length !== 0) {\n p = p.append('state', states.toString());\n }\n if (warehouses && warehouses.length !== 0) {\n p = p.append('warehouses', warehouses.toString());\n }\n return this.http.get>('warehouse/api/orders', { params: p });\n }\n\n findTimeslots(): Observable> {\n return this.http.get>('warehouse/api/time-slots');\n }\n\n getById(id: number): Observable {\n return this.http.get('warehouse/api/orders/' + id);\n }\n\n getSigning(id: number): Observable {\n return this.http.get('warehouse/api/orders/' + id + '/signing', { responseType: 'blob' });\n }\n\n getPhoto(id: number, index: number): Observable {\n return this.http.get('warehouse/api/orders/' + id + '/photos/' + index, { responseType: 'blob' });\n }\n\n scoreOrder(createOrder: CreateTransport, from: string, to: string): Observable {\n let p = new HttpParams();\n p = p.append('from', from);\n p = p.append('to', to);\n return this.http.put('warehouse/api/orders/score', createOrder, { params: p });\n }\n\n validateScoreOrder(scoreOrderValidation: ScoreOrderValidation) {\n return this.http.post('warehouse/api/orders/score/validate', scoreOrderValidation);\n }\n\n cancelScoreOrder(uniqueOrderScoreIdentifier: string) {\n let p = new HttpParams();\n p = p.append('uniqueOrderScoreIdentifier', uniqueOrderScoreIdentifier);\n return this.http.delete('warehouse/api/orders/score/cancel', { params: p });\n }\n\n createOrder(createOrder: CreateTransport): Observable> {\n return this.http.post('warehouse/api/orders', createOrder, {observe: 'response'});\n }\n\n updateOrder(id: number, updateOrder: UpdateTransport): Observable {\n return this.http.put('warehouse/api/orders/' + id, updateOrder);\n }\n\n deleteOrder(id: number) {\n return this.http.delete('warehouse/api/orders/' + id);\n }\n}\n","export class TimeSlot {\n id: number;\n from: string;\n to: string;\n\n // only for display\n selected?: boolean;\n}\n","import { Injectable } from '@angular/core';\nimport * as jsPDF from 'jspdf';\nimport * as moment from 'moment';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FullOrderView } from '../orders/base-order.model';\nimport { CustomerView } from '../customers/customer.model';\nimport { WarehouseService } from '../warehouse/warehouse.service';\nconst FILE_EXTENSION_PDF = '.pdf';\n\n@Injectable()\nexport class PdfService {\n\n private line: number;\n\n constructor(private translateService: TranslateService, private warehouseService: WarehouseService) { }\n\n public generatePurchaseOrder(order: FullOrderView): void {\n this.warehouseService.getConfiguration().subscribe(res => {\n if (order.serviceType === 'PICKUP') {\n this.generatePDF(order, order.child, res.customFieldIdForOrderNumber);\n } else {\n this.generatePDF(order.child, order, res.customFieldIdForOrderNumber);\n }\n });\n }\n\n private generatePDF(pickupOrder: FullOrderView, deliveryOrder: FullOrderView, customFieldIdToAdd: number): void {\n const doc = new jsPDF.jsPDF({ orientation: 'landscape' });\n this.line = 20;\n doc.setFontSize(22);\n doc.text(this.translateService.instant('purchase-order.sender') + ' : ',20, this.line);\n doc.setFontSize(12);\n this.addNumberOfLines(10);\n doc.setFont(doc.getFont().fontName, 'bold');\n const customerSplit = doc.splitTextToSize(this.getCustomerLabel(pickupOrder.customer), 130);\n doc.text(customerSplit,20, this.line );\n this.addNumberOfLines(5 * customerSplit.length);\n doc.setFont(doc.getFont().fontName, 'normal');\n const addressSplit = doc.splitTextToSize(pickupOrder.customer.address, 130);\n doc.text(addressSplit,20, this.line);\n this.addNumberOfLines(5 * addressSplit.length);\n if (pickupOrder.customer.phoneNumber) {\n this.addCustomerData(pickupOrder.customer.phoneNumber, doc, 'purchase-order.phone-number');\n }\n\n this.line = 80;\n doc.setFontSize(18);\n doc.text(this.translateService.instant('purchase-order.removal-date'),110, this.line );\n this.addNumberOfLines(10);\n const scheduledDate = moment(pickupOrder.scheduledDate, 'YYYY-MM-DD').format('DD/MM/YYYY');\n doc.text(scheduledDate, 130, this.line);\n this.addNumberOfLines(20);\n doc.text(this.translateService.instant('purchase-order.delivery-date'),105, this.line);\n this.addNumberOfLines(10);\n doc.text(scheduledDate, 130, this.line);\n\n this.addNumberOfLines(20);\n doc.setFontSize(22);\n doc.text(this.translateService.instant('purchase-order.customer-address') + ' : ',20, this.line);\n doc.setFontSize(12);\n this.addNumberOfLines(10);\n doc.setFont(doc.getFont().fontName, 'bold');\n doc.text(this.getCustomerLabel(deliveryOrder.customer),20, this.line);\n doc.setFont(doc.getFont().fontName, 'normal');\n this.addNumberOfLines(5);\n doc.text(deliveryOrder.customer.address,20, this.line );\n this.addNumberOfLines(5);\n if (deliveryOrder.customer.phoneNumber) {\n this.addCustomerData(deliveryOrder.customer.phoneNumber, doc, 'purchase-order.phone-number');\n }\n if (deliveryOrder.customer.mobileNumber) {\n this.addCustomerData(deliveryOrder.customer.mobileNumber, doc, 'purchase-order.mobile-number');\n }\n if (deliveryOrder.customer.email) {\n this.addCustomerData(deliveryOrder.customer.email, doc, 'detail.customer.email');\n }\n if (deliveryOrder.customer.comments) {\n this.addCustomerData(deliveryOrder.customer.comments, doc, 'detail.customer.comments');\n }\n this.line = 20;\n\n doc.setFontSize(20);\n\n if (customFieldIdToAdd && this.customFieldIdExist(pickupOrder, deliveryOrder, customFieldIdToAdd)) {\n doc.text(doc.splitTextToSize(this.getCustomFieldName(pickupOrder, deliveryOrder, customFieldIdToAdd) + ' : ', 100),155, this.line);\n this.addNumberOfLines(10);\n doc.setFont(doc.getFont().fontName, 'bold');\n doc.setFontSize(20);\n doc.text(this.getCustomFieldValue(pickupOrder, deliveryOrder, customFieldIdToAdd),155, this.line);\n } else {\n this.addNumberOfLines(10);\n }\n\n doc.setFontSize(12);\n this.addNumberOfLines(15);\n doc.setFont(doc.getFont().fontName, 'normal');\n doc.text(this.translateService.instant('purchase-order.batch-number') + ' : ',155, this.line);\n\n\n doc.rect(15, 10, 135, 50);\n doc.rect(150, 10, 135, 50);\n doc.rect(150, 10, 135, 25);\n doc.rect(15, 60, 270, 70);\n doc.rect(15, 130, 270, 70);\n\n doc.save(this.translateService.instant('purchase-order.file-name') + '-' + scheduledDate + FILE_EXTENSION_PDF);\n }\n\n private addCustomerData(data: string, doc: jsPDF.jsPDF, translateKey: string): void {\n doc.text(this.translateService.instant(translateKey) + ' : ' + data, 20, this.line);\n this.addNumberOfLines(5);\n }\n\n private addNumberOfLines(lines: number): void {\n this.line = this.line + lines;\n }\n\n public getCustomerLabel(customer: CustomerView): string {\n let label = customer.lastName;\n if (customer.firstName) {\n label += ' ' + customer.firstName;\n }\n return label;\n }\n\n\n private customFieldIdExist(pickupOrder: FullOrderView, deliveryOrder: FullOrderView, customFieldIdToAdd: number) {\n let parent: FullOrderView;\n if (pickupOrder.child) {\n parent = pickupOrder;\n } else {\n parent = deliveryOrder;\n }\n\n return parent.fields.findIndex(f => f.field.id === customFieldIdToAdd) !== -1;\n }\n\n private getCustomFieldName(pickupOrder: FullOrderView, deliveryOrder: FullOrderView, customFieldIdToAdd: number): string {\n let parent: FullOrderView;\n if (pickupOrder.child) {\n parent = pickupOrder;\n } else {\n parent = deliveryOrder;\n }\n\n return parent.fields.find(f => f.field.id === customFieldIdToAdd).field.name;\n }\n\n private getCustomFieldValue(pickupOrder: FullOrderView, deliveryOrder: FullOrderView, customFieldIdToAdd: number): string {\n let parent: FullOrderView;\n if (pickupOrder.child) {\n parent = pickupOrder;\n } else {\n parent = deliveryOrder;\n }\n\n return parent.fields.find(f => f.field.id === customFieldIdToAdd).value;\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\n\nexport enum ValidationMode {\n REQUIRED = 'REQUIRED',\n OPTIONAL = 'OPTIONAL'\n}\n\nexport class FullCapacity {\n capacityType: CapacityType;\n value: number;\n}\n\n\nexport class Capacity {\n capacityTypeId: number;\n value: number;\n}\n\nexport class CapacityType {\n id: number;\n name: string;\n unit: string;\n validationMode: ValidationMode;\n defaultValue: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CapacityTypeService {\n\n constructor(private http: HttpClient) {\n }\n\n public findCapacityTypes(): Observable> {\n return this.http.get>('warehouse/api/capacity-types');\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Observable } from \"rxjs\";\n\nexport enum CustomFieldType {\n STRING = \"STRING\",\n DATE = \"DATE\",\n INTEGER = \"INTEGER\",\n BOOLEAN = \"BOOLEAN\",\n SELECT_UNIQUE = \"SELECT_UNIQUE\",\n SELECT_MULTIPLE = \"SELECT_MULTIPLE\",\n PHOTO = \"PHOTO\",\n}\n\nexport enum CustomFieldObject {\n CUSTOMER = \"CUSTOMER\",\n ORDER = \"ORDER\",\n MOBILE = \"MOBILE\",\n}\n\nexport class CustomField {\n id: number;\n name: string;\n type: CustomFieldType;\n object: CustomFieldObject;\n category: CustomFieldCategory;\n selectOptions: string[];\n\n // not use in API, just for Form\n value: any;\n dateValue: any;\n}\n\nexport class CustomFieldValue {\n field: CustomField;\n type: CustomFieldType;\n value: any;\n}\n\nexport class CustomFieldCategory {\n id: number;\n name: string;\n object: CustomFieldObject;\n customFields: CustomField[];\n}\n\nexport class OrderCustomFields {\n fields?: CustomFieldValue[];\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CustomFieldsService {\n constructor(private http: HttpClient) {}\n\n public findCustomFields(): Observable> {\n return this.http.get>(\n \"warehouse/api/custom-fields\"\n );\n }\n\n onChangeOrderField(\n order: OrderCustomFields,\n customerField: CustomField,\n value: string | number | string[]\n ): void {\n if (value) {\n let customerFieldValue = order.fields.find(\n (item) => item.field.id === customerField.id\n );\n if (!customerFieldValue) {\n customerFieldValue = new CustomFieldValue();\n customerFieldValue.field = customerField;\n customerFieldValue.value = value;\n customerFieldValue.type = customerField.type;\n order.fields.push(customerFieldValue);\n } else {\n customerFieldValue.value = value;\n }\n } else {\n order.fields = order.fields.filter(\n (item) => item.field.id !== customerField.id\n );\n }\n }\n\n onChangeDateOrderField(\n order: OrderCustomFields,\n customerField: CustomField,\n event: Date\n ): void {\n if (event) {\n let customerFieldValue = order.fields.find(\n (item) => item.field.id === customerField.id\n );\n if (!customerFieldValue) {\n customerFieldValue = new CustomFieldValue();\n customerFieldValue.field = customerField;\n customerFieldValue.value = this.formatDate(event);\n customerFieldValue.type = customerField.type;\n order.fields.push(customerFieldValue);\n } else {\n customerFieldValue.value = this.formatDate(event);\n }\n } else {\n order.fields = order.fields.filter(\n (item) => item.field.id !== customerField.id\n );\n }\n }\n\n onChangeBooleanOrderField(\n order: OrderCustomFields,\n orderField: CustomField,\n checked: boolean\n ) {\n if (checked) {\n let orderFieldValue = order.fields.find(\n (item) => item.field.id === orderField.id\n );\n if (!orderFieldValue) {\n orderFieldValue = new CustomFieldValue();\n orderFieldValue.field = orderField;\n orderFieldValue.value = checked;\n orderFieldValue.type = orderField.type;\n order.fields.push(orderFieldValue);\n } else {\n orderFieldValue.value = checked;\n }\n } else {\n order.fields = order.fields.filter(\n (item) => item.field.id !== orderField.id\n );\n }\n }\n\n private formatDate(date: Date): string {\n const options: Intl.NumberFormatOptions = { minimumIntegerDigits: 2 };\n return (\n date.getFullYear() +\n \"-\" +\n (date.getMonth() + 1).toLocaleString(\"en-Us\", options) +\n \"-\" +\n date.getDate().toLocaleString(\"en-Us\", options)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpResourcesResponse } from '../utils/HttpResourcesResponse.model';\nimport { Observable } from 'rxjs';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nexport class ItemType {\n id: number;\n reference: string;\n label: string;\n}\n\nexport class Item {\n itemType: ItemType;\n quantity: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ItemTypeService {\n\n constructor(private http: HttpClient) { }\n\n findAllItemTypes(page: number, size: number, filter: string): Observable> {\n let p = new HttpParams();\n p = p.append('page', String(page));\n p = p.append('size', String(size));\n p = p.append('filter', filter);\n return this.http.get>('warehouse/api/item-types', {params : p});\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Skill} from './skill.service';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\n\nexport class OrderType {\n id: number;\n name: string;\n duration: number;\n skill: Skill;\n timeSlotStart: string;\n timeSlotEnd: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderTypeService {\n\n constructor(private http: HttpClient) {\n }\n\n public findOrderTypes(): Observable> {\n return this.http.get>('warehouse/api/order-types');\n }\n}\n","import {Injectable} from '@angular/core';\nimport {OrderType, OrderTypeService} from './order-type.service';\nimport {CapacityType, CapacityTypeService} from './capacity-type.service';\nimport {Skill, SkillService} from './skill.service';\nimport {TimeSlot, TimeSlotService} from './time-slot.service';\nimport {forkJoin, Observable} from 'rxjs';\nimport { CustomFieldsService, CustomField, CustomFieldCategory } from './custom-fields.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ResourcesService {\n\n constructor(private orderTypeService: OrderTypeService, private capacityTypeService: CapacityTypeService,\n private skillService: SkillService, private timeSlotService: TimeSlotService, private customFields: CustomFieldsService) {\n }\n\n getAllResources(): Observable<[OrderType[], Skill[], CapacityType[], TimeSlot[], CustomFieldCategory[]]> {\n return forkJoin([\n this.orderTypeService.findOrderTypes(),\n this.skillService.findSkills(),\n this.capacityTypeService.findCapacityTypes(),\n this.timeSlotService.findTimeSlots(),\n this.customFields.findCustomFields()]\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\n\nexport class Skill {\n id: number;\n name: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkillService {\n\n constructor(private http: HttpClient) {\n }\n\n public findSkills(): Observable> {\n return this.http.get>('warehouse/api/skills');\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\n\n\nexport class TimeSlot {\n id: number;\n from: string;\n to: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TimeSlotService {\n\n constructor(private http: HttpClient) {\n }\n\n public findTimeSlots(): Observable> {\n return this.http.get>('warehouse/api/time-slots');\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {FullOrderView} from '../orders/base-order.model';\nimport * as moment from 'moment';\nimport { DeviceDetectorService } from 'ngx-device-detector';\n\n@Component({\n selector: 'app-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss']\n})\nexport class StepperComponent implements OnInit {\n\n @Input() order: FullOrderView;\n mobile: boolean = this.mobileDetector.isMobile();\n\n stepper = {\n created: true,\n planned: false,\n progress: false,\n confirmed: false,\n canceled: false,\n done: false,\n };\n\n constructor(private mobileDetector: DeviceDetectorService) {\n }\n\n ngOnInit() {\n console.log(this.mobileDetector.isMobile());\n this.mobile = this.mobileDetector.isMobile();\n this.configureStepper();\n }\n\n currentColor(): string {\n switch (this.order.state) {\n case 'CANCELED':\n return 'red ' + (this.mobile ? ' mobile' : '');\n default:\n return 'green' + (this.mobile ? ' mobile' : '');\n }\n }\n\n configureStepper(): void {\n this.stepper.created = true;\n this.stepper.planned = true;\n switch (this.order.state) {\n case 'CREATED':\n case 'DEPROGRAMMED':\n this.stepper.planned = false;\n break;\n case 'CANCELED':\n this.stepper.canceled = true;\n break;\n case 'PLANNED' :\n if (this.isInProgress()) {\n this.stepper.confirmed = true;\n this.stepper.progress = true;\n }\n break;\n case 'CONFIRMED':\n this.stepper.confirmed = true;\n this.stepper.progress = this.isInProgress();\n break;\n case 'PENDING':\n case 'REPROGRAMMED':\n case 'UNASSIGNED': {\n this.stepper.progress = this.isInProgress();\n break;\n }\n case 'DONE':\n this.stepper.confirmed = true;\n this.stepper.progress = true;\n this.stepper.done = true;\n break;\n }\n }\n\n isInProgress() {\n const s = this.order.state;\n const childState = this.order.child.state;\n return (moment()\n .startOf('d')\n .isSame(moment(this.order.scheduledDate, 'YYYY-MM-DD')) &&\n (s === 'PLANNED' || s === 'CONFIRMED' || s === 'PENDING')) || (childState === 'DONE');\n }\n}\n","
    \n\n
  • \n
    \n check\n
    \n
    {{'common.state.CREATED'|translate}}
    \n
    \n
    \n
  • \n\n
  • \n
    \n \n check\n \n
    \n
    {{'common.state.PLANNED'|translate}}
    \n
    {{order.scheduledDate|date:'dd-MM-yyyy'}}
    \n
    \n
  • \n\n
  • \n
    \n \n check\n \n
    \n
    {{'common.state.CONFIRMED'|translate}}
    \n
    \n
    \n
  • \n\n
  • \n
    \n \n check\n \n
    \n
    {{'common.state.PROGRESS'|translate}}
    \n
    \n
    \n
  • \n\n
  • \n
    \n \n close\n \n
    \n
    {{'common.state.CANCELED'|translate}}
    \n
    \n
    \n
  • \n\n
  • \n
    \n \n check\n \n
    \n
    {{'common.state.DONE'|translate}}
    \n
    {{order.terminatedDate|date:'dd-MM-yyyy HH:mm'}}
    \n
    \n
  • \n
\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable()\nexport class AlertService {\n\n constructor(private snackBar: MatSnackBar, private translate: TranslateService) {\n }\n\n info(translationKey: string) {\n this.snackBar.open(\n this.translate.instant(translationKey),\n null, { panelClass: ['snackbar-info'],\n duration: 3000,\n verticalPosition: 'top'});\n }\n\n error(error: any) {\n let message = this.translate.instant('common.error.common');\n if (error.status && error.status === 409) {\n message = this.translate.instant('common.error.errorCode.' + error.error.errorCode);\n } else if (error.status && error.status === 403) {\n message = this.translate.instant('common.error.forbidden');\n } else if (error.status && error.status === 401) {\n message = this.translate.instant('common.error.unauthorized');\n }\n this.snackBar.open(\n message,\n null, { panelClass: ['snackbar-error'],\n duration: 3000,\n verticalPosition: 'top'});\n }\n}\n","import { WarehouseService } from './../warehouse/warehouse.service';\nimport { Injectable } from '@angular/core';\nimport { DisplaySetting, DisplayField } from '../warehouse/configuration.model';\nimport { AuthService } from '../auth/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomDisplayService {\n\n displaySettings: Array = [];\n\n constructor(private authService: AuthService) {\n this.loadDisplaySettings();\n }\n\n loadDisplaySettings() {\n this.displaySettings = this.authService.currentUserValue.configuration.displaySettings;\n }\n\n display(displayField: DisplayField) {\n return this.getSetting(displayField).visible.value;\n }\n\n isRequired(displayField: DisplayField) {\n return this.getSetting(displayField).required.value;\n }\n\n hasDefaultValue(displayField: DisplayField) {\n return this.getSetting(displayField).defaultValue.value !== null\n && this.getSetting(displayField).defaultValue.value !== '-1';\n }\n\n getDefaultValue(displayField: DisplayField): string {\n return this.getSetting(displayField).defaultValue.value;\n }\n\n private getSetting(displayField: DisplayField) {\n return this.displaySettings.find(c => c.field === displayField);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpRequest, HttpHandler, HttpEvent, HttpInterceptor} from '@angular/common/http';\nimport {Observable, throwError} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\nimport {AuthService} from '../auth/auth.service';\nimport { Router } from '@angular/router';\nimport { AlertService } from './alert.service';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n constructor(private authenticationService: AuthService, private router: Router, private alert: AlertService) {\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(catchError(err => {\n const isLoginPage = request.url.indexOf('login') > 0;\n if (err.status === 401 && !isLoginPage) {\n // auto logout if 401 response returned from api\n this.authenticationService.logout();\n this.router.navigate(['/login']);\n this.alert.error(err);\n }\n return throwError(err);\n }));\n }\n}\n\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../auth/auth.service';\n\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n constructor(private authService: AuthService) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // add authorization header with jwt token if available\n const currentUser = this.authService.currentUserValue;\n if (currentUser && currentUser.token) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${currentUser.token}`\n }\n });\n }\n\n return next.handle(request);\n }\n}\n","import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Injectable } from '@angular/core';\n\nconst ITEMS_PER_PAGE = 'Items per page:';\nconst NEXT_PAGE = 'Next page';\nconst PREV_PAGE = 'Previous page';\nconst FIRST_PAGE = 'First page';\nconst LAST_PAGE = 'Last page';\n\n@Injectable()\nexport class MatPaginatorI18nService extends MatPaginatorIntl {\n public constructor(private translate: TranslateService) {\n super();\n\n this.translate.onLangChange.subscribe((e: Event) => {\n this.getAndInitTranslations();\n });\n\n this.getAndInitTranslations();\n }\n\n public getRangeLabel = (page: number, pageSize: number, length: number): string => {\n if (length === 0 || pageSize === 0) {\n return `0 / ${length}`;\n }\n\n length = Math.max(length, 0);\n\n const startIndex: number = page * pageSize;\n const endIndex: number = startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} / ${length}`;\n }\n\n public getAndInitTranslations(): void {\n this.translate.get([\n ITEMS_PER_PAGE,\n NEXT_PAGE,\n PREV_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n ])\n .subscribe((translation: any) => {\n this.itemsPerPageLabel = translation[ITEMS_PER_PAGE];\n this.nextPageLabel = translation[NEXT_PAGE];\n this.previousPageLabel = translation[PREV_PAGE];\n this.firstPageLabel = translation[FIRST_PAGE];\n this.lastPageLabel = translation[LAST_PAGE];\n\n this.changes.next();\n });\n }\n}\n","import { UntypedFormGroup } from '@angular/forms';\n\n// custom validator to check that two fields match\nexport function MustMatch(controlName: string, matchingControlName: string) {\n return (formGroup: UntypedFormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\n // return if another validator has already found an error on the matchingControl\n return;\n }\n\n // set error on matchingControl if validation fails\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ mustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n };\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LightOrder, PLANNED, CONFIRMED, PENDING, DONE, CANCELED, CREATED, UNASSIGNED } from '../orders/light-order.model';\n\n@Injectable()\nexport class OrderUtilsService {\n\n constructor(private translate: TranslateService) {\n }\n\n isPlanned(order: LightOrder): boolean {\n return (order.state === PLANNED || order.state === PENDING || order.state === UNASSIGNED);\n }\n\n getStateClass(order: LightOrder): string {\n if (order.state === DONE && order.child.state === DONE) {\n return 'done-state';\n } else if (order.state === DONE || order.child.state === DONE) {\n return 'pending-state';\n } else if (this.isPlanned(order) && this.isPlanned(order.child)) {\n return 'planned-state';\n } else if (order.state === CANCELED) {\n return 'canceled-state';\n } else if (order.state === CREATED) {\n return 'to-plan-state';\n } else if (order.state === CONFIRMED) {\n return 'confirmed-state';\n }\n }\n\n getStateTooltip(order: LightOrder): string {\n if (order.state === DONE && order.child.state === DONE) {\n return this.translate.instant('model.order.state.done');\n } else if (order.state === DONE || order.child.state === DONE) {\n return this.translate.instant('model.order.state.pending');\n } else if (this.isPlanned(order) && this.isPlanned(order.child)) {\n return this.translate.instant('model.order.state.planned');\n } else if (order.state === CANCELED) {\n return this.translate.instant('model.order.state.canceled');\n } else if (order.state === CREATED) {\n return this.translate.instant('model.order.state.to-plan');\n } else if (order.state === CONFIRMED) {\n return this.translate.instant('model.order.state.confirmed');\n }\n }\n}\n","import { AbstractControl } from '@angular/forms';\n\n/** custom validator to check that order type is required even if input value is -1\n * when user has made it required in display settings\n */\nexport function RequiredOrderTypeValidator(control: AbstractControl) {\n if (control.value === '-1') {\n return {requiredOrderType: true};\n } else {\n return null;\n }\n}\n","export type TRANSPORT_PROCESS = 'BUCKET' | 'SCORING';\nexport const BUCKET: TRANSPORT_PROCESS = 'BUCKET';\nexport const SCORING: TRANSPORT_PROCESS = 'SCORING';\n\nexport enum DisplayField {\n WAREHOUSE_ADDRESS = 'WAREHOUSE_ADDRESS',\n WAREHOUSE_TIMESLOT = 'WAREHOUSE_TIMESLOT',\n WAREHOUSE_DURATION = 'WAREHOUSE_DURATION',\n CUSTOMER_DELIVERY_DURATION = 'CUSTOMER_DELIVERY_DURATION',\n CUSTOMER_PICKUP_DURATION = 'CUSTOMER_PICKUP_DURATION',\n ORDER_TYPE = 'ORDER_TYPE'\n}\n\nexport class Configuration {\n iconUrl: string;\n customFieldIdForOrderNumber: number;\n process: TRANSPORT_PROCESS;\n displaySettings: DisplaySetting[];\n scoringNbDayToScore: number;\n scoringBeginDay: number;\n scoringMinimumScore: number;\n terminology: string;\n storeAsDefaultLoading: boolean;\n enableItems: boolean;\n basketPeriodInDays: number;\n}\n\nexport class UpdateConfiguration {\n iconUrl: string;\n customFieldIdForOrderNumber: number;\n displaySettings: UpdateDisplaySetting[];\n scoringNbDayToScore: number;\n scoringBeginDay: number;\n scoringMinimumScore: number;\n}\n\nexport class UpdateDisplaySetting {\n field: DisplayField;\n visible: boolean;\n required: boolean;\n defaultValue: string;\n}\n\nexport class BooleanDisplayRule {\n value: boolean;\n editable: boolean;\n}\n\nexport class StringDisplayRule {\n value: string;\n editable: boolean;\n}\n\nexport class DisplaySetting {\n field: DisplayField;\n visible: BooleanDisplayRule;\n required: BooleanDisplayRule;\n defaultValue: StringDisplayRule;\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpParams, HttpResponse, HttpHeaders} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {HttpResourcesResponse} from '../utils/HttpResourcesResponse.model';\nimport {CreateWarehouse, WarehouseView, UpdateWarehouse} from './warehouse.model';\nimport {map} from 'rxjs/operators';\nimport { Configuration, UpdateConfiguration } from './configuration.model';\n\n@Injectable()\nexport class WarehouseService {\n\n constructor(private http: HttpClient) {\n }\n\n createWarehouse(createWarehouse: CreateWarehouse): Observable {\n return this.http.post('warehouse/api/warehouses', createWarehouse);\n }\n\n updateWarehouse(id: number, updateWarehouse: UpdateWarehouse): Observable {\n return this.http.put('warehouse/api/warehouses/' + String(id), updateWarehouse);\n }\n\n findWarehouse(warehouseId: number): Observable {\n return this.http.get('warehouse/api/warehouses/' + String(warehouseId));\n }\n\n deleteWarehouse(warehouseId: number): Observable {\n return this.http.delete('warehouse/api/warehouses/' + String(warehouseId));\n }\n\n findWarehouses(page: number, size: number): Observable> {\n let p = new HttpParams();\n p = p.append('page', String(page));\n p = p.append('size', String(size));\n return this.http.get>('warehouse/api/warehouses', { params: p });\n }\n\n getConfiguration(): Observable {\n return this.http.get('warehouse/api/configuration');\n }\n\n setConfiguration(configuration: UpdateConfiguration): Observable {\n return this.http.put('warehouse/api/configuration', configuration);\n }\n}\n","import {Component, OnInit, OnDestroy, NgZone, EventEmitter} from '@angular/core';\nimport {CustomerView} from 'src/app/shared/customers/customer.model';\nimport {UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';\nimport {CustomersService} from 'src/app/shared/customers/customers.service';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport {AlertService} from 'src/app/shared/utils/alert.service';\nimport {Observable, Subscription} from 'rxjs';\nimport {E164Number, parsePhoneNumber} from 'libphonenumber-js';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'app-customers-add-edit',\n templateUrl: './customers-add-edit.component.html',\n styleUrls: ['./customers-add-edit.component.scss']\n})\nexport class CustomersAddEditComponent implements OnInit, OnDestroy {\n\n currentCustomer = new CustomerView();\n isUpdate: boolean;\n customerAddressSaved: string;\n isAddressCorrectlySelected = true;\n invalidNumber: string;\n customerFormGroup: UntypedFormGroup;\n addCustomerSubscription: Subscription;\n\n locationModelChanged = new Subject();\n locationModelChangedSubscription: Subscription;\n locations: google.maps.places.AutocompletePrediction[] = [];\n opened = new EventEmitter();\n closed = new EventEmitter();\n address: string;\n\n constructor(private formBuilder: UntypedFormBuilder,\n private customersService: CustomersService,\n public dialogRef: MatDialogRef,\n private alert: AlertService, private zone: NgZone) {\n }\n\n ngOnInit() {\n // In the case of the update, the customerId attribute isn't empty because the customer object parameters is passed to this component\n this.currentCustomer.customerId ? this.isUpdate = true : this.isUpdate = false;\n this.customerAddressSaved = this.currentCustomer.address;\n\n this.customerFormGroup = this.formBuilder.group({\n customerId: new UntypedFormControl(this.currentCustomer.customerId),\n lastName: new UntypedFormControl(this.currentCustomer.lastName, [Validators.required]),\n firstName: new UntypedFormControl(this.currentCustomer.firstName),\n address: new UntypedFormControl(this.currentCustomer.address, [Validators.required]),\n mobileNumber: new UntypedFormControl(this.initializePhoneNumber(this.currentCustomer.mobileNumber)),\n phoneNumber: new UntypedFormControl(this.currentCustomer.phoneNumber),\n email: new UntypedFormControl(this.currentCustomer.email, [Validators.email]),\n comments: new UntypedFormControl(this.currentCustomer.comments),\n longitude: new UntypedFormControl(this.currentCustomer.longitude),\n latitude: new UntypedFormControl(this.currentCustomer.latitude)\n });\n\n this.customerFormGroup.controls['address'].valueChanges.pipe(debounceTime(400), distinctUntilChanged()).subscribe((input) => {\n if (this.customerAddressSaved !== input) {\n this.customerFormGroup.get('address').setErrors({'badAddress': true});\n }\n if (input.length >= 3) {\n this.getPredictions(input);\n } else {\n this.locations = [];\n }\n });\n }\n\n private initializePhoneNumber(phone: string): E164Number | null {\n if (phone && phone !== '') {\n const phoneNumber = parsePhoneNumber(phone, 'FR');\n this.invalidNumber = (!phoneNumber.isValid()) ? phone : null;\n return phoneNumber.number;\n } else {\n return null;\n }\n }\n\n\n hasError(controlName: string, errorName: string): boolean {\n return this.customerFormGroup.controls[controlName].hasError(errorName);\n }\n\n save(customerFormGroupValue: CustomerView) {\n let request: Observable;\n if (!this.isUpdate) {\n request = this.customersService.addCustomer(customerFormGroupValue);\n } else {\n request = this.customersService.editCustomer(customerFormGroupValue);\n }\n\n this.addCustomerSubscription = request.subscribe(res => {\n if (res) {\n const location = res.headers.get('Location');\n const id = location.substring(location.lastIndexOf('/') + 1);\n this.dialogRef.close(id);\n } else {\n this.dialogRef.close(true);\n }\n },\n error => {\n this.alert.error(error);\n });\n }\n\n ngOnDestroy(): void {\n if (this.addCustomerSubscription) {\n this.addCustomerSubscription.unsubscribe();\n }\n }\n\n updateLocation(place: google.maps.places.AutocompletePrediction): void {\n const geocoder = new google.maps.Geocoder();\n geocoder.geocode({ placeId: place.place_id }, (responses, status) => {\n if (status === google.maps.GeocoderStatus.OK) {\n if (!responses[0].formatted_address) {\n this.customerFormGroup.get('address').setErrors({'badAddress': true});\n } else {\n this.customerAddressSaved = responses[0].formatted_address;\n this.customerFormGroup.get('address').setValue(responses[0].formatted_address);\n this.customerFormGroup.get('latitude').setValue(responses[0].geometry.location.lat());\n this.customerFormGroup.get('longitude').setValue(responses[0].geometry.location.lng());\n this.isAddressCorrectlySelected = true;\n }\n }\n });\n }\n\n private getPredictions(input: string): void {\n const autocompleteService = new google.maps.places.AutocompleteService();\n autocompleteService.getPlacePredictions(\n {\n input\n },\n (predictions, status) => {\n if (status === google.maps.places.PlacesServiceStatus.OK) {\n this.zone.run(() => {\n this.locations = predictions;\n });\n }\n }\n );\n }\n\n eventOpened(): void {\n this.opened.emit();\n }\n\n eventClosed(): void {\n this.closed.emit();\n }\n\n}\n","

{{'customers.add-customer' | translate}}

\n

{{'customers.edit-customer' | translate}}

\n\n
\n\n \n\n
\n
\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n \n \n \n
\n
\n\n
\n
\n \n\n \n \n \n location_on\n {{ location.description }}\n \n \n\n {{'common.error.required' | translate}}\n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n \n \n \n {{'common.error.phone-number-format' | translate}}\n \n \n {{'common.error.phone-number-incorrect' | translate : {value: invalidNumber} }}\n \n \n
\n
\n \n \n \n
\n
\n\n
\n
\n \n \n {{'common.error.required' | translate}}\n {{'common.error.email' | translate}}\n \n
\n
\n\n
\n
\n \n \n \n
\n
\n\n
\n \n \n\n \n \n \n\n
\n","import {Component, OnInit, ViewChild, AfterViewInit} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {CustomerView} from 'src/app/shared/customers/customer.model';\nimport {CustomersService} from 'src/app/shared/customers/customers.service';\nimport { MatDialogConfig, MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource, MatTable } from '@angular/material/table';\nimport {startWith, switchMap, map, catchError} from 'rxjs/operators';\nimport {merge, of as observableOf} from 'rxjs';\nimport {LightOrder} from 'src/app/shared/orders/light-order.model';\nimport {OrderUtilsService} from 'src/app/shared/utils/order-utils.service';\nimport {CustomersAddEditComponent} from '../customers-add-edit/customers-add-edit.component';\nimport {AlertService} from 'src/app/shared/utils/alert.service';\nimport { CustomField, CustomFieldsService } from 'src/app/shared/resources/custom-fields.service';\nimport { TableService, TRANSPORT_TABLE } from 'src/app/shared/configuration-table-modal/table.service';\nimport { ConfigurationTableModalComponent, ConfigurationTable } from 'src/app/shared/configuration-table-modal/configuration-table-modal.component';\n\n@Component({\n selector: 'app-customers-details',\n templateUrl: './customers-details.component.html',\n styleUrls: ['./customers-details.component.scss']\n})\nexport class CustomersDetailsComponent implements OnInit, AfterViewInit {\n\n customerId = Number(this.route.snapshot.paramMap.get('customerId'));\n currentCustomer = new CustomerView();\n\n displayedColumns = ['status', 'date', 'pickup', 'pickup-time', 'delivery', 'delivery-time', 'actions'];\n data: MatTableDataSource = new MatTableDataSource();\n\n @ViewChild(MatTable) table: MatTable;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n resultsLength = 0;\n customFields: Array = [];\n\n constructor(private route: ActivatedRoute,\n private customersService: CustomersService,\n private router: Router,\n private orderUtils: OrderUtilsService,\n public dialog: MatDialog,\n private alert: AlertService,\n private tableService: TableService, private customFieldService: CustomFieldsService) {\n }\n\n ngOnInit() {\n this.customFieldService.findCustomFields().subscribe(categories => {\n this.customFields = [];\n categories.forEach(category => {\n this.customFields.push(...category.customFields);\n });\n this.displayedColumns = this.tableService.getTransportHeadersTables(TRANSPORT_TABLE, this.customFields).selected;\n });\n }\n\n ngAfterViewInit() {\n this.updateData();\n }\n\n clickOnBackButton() {\n this.router.navigate(['/customers']);\n }\n\n openEditModal() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(CustomersAddEditComponent, dialogConfig);\n dialogRef.componentInstance.currentCustomer = this.currentCustomer;\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.alert.info('customers.update-success');\n this.updateData();\n }\n });\n }\n\n addTransport() {\n this.router.navigate(['/transport-add'], { queryParams: { c: this.customerId } });\n }\n\n getStateClass(order: LightOrder): string {\n return this.orderUtils.getStateClass(order);\n }\n\n getStateTooltip(order: LightOrder): string {\n return this.orderUtils.getStateTooltip(order);\n }\n\n updateData() {\n this.customersService.findCustomer(this.customerId).subscribe(res => {\n this.currentCustomer = res;\n });\n\n merge(this.paginator.page)\n .pipe(\n startWith({}),\n switchMap(() => {\n return this.customersService.findAllLightOrdersForACustomer(this.customerId,\n this.paginator.pageIndex, this.paginator.pageSize);\n }),\n map(data => {\n // Flip flag to show that loading has finished.\n this.resultsLength = data.totalElements;\n\n return data.elements;\n }),\n catchError(() => {\n return observableOf([]);\n })\n ).subscribe(data => this.data.data = data);\n }\n\n goToDetails(order: any) {\n this.router.navigate(['customers/' + this.customerId + '/order/' + order.orderId]);\n }\n\n getFieldValue(lightOrder: LightOrder, field: CustomField): string {\n if (lightOrder.fields.findIndex(f => f.field.id === field.id) !== -1) {\n return lightOrder.fields.find(f => f.field.id === field.id).value;\n }\n return '';\n }\n\n configureTable() {\n const configureTable = new ConfigurationTable();\n configureTable.tableType = TRANSPORT_TABLE;\n configureTable.columns = this.tableService.getTransportHeadersTables(TRANSPORT_TABLE, this.customFields);\n const dialogRef = this.dialog.open(ConfigurationTableModalComponent, {\n width: '350px',\n disableClose: true,\n data: configureTable\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.displayedColumns = result;\n }\n });\n }\n\n}\n","
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n\n
\n\n
\n \n \n {{ currentCustomer.firstName }} {{ currentCustomer.lastName }}\n \n \n
\n
\n
\n \n {{ 'common.table.address' | translate }}\n \n \n
\n
\n \n {{ 'common.table.email' | translate }}\n \n \n
\n
\n
\n
\n
\n \n {{ 'common.table.mobile-phone' | translate }}\n \n \n
\n
\n \n {{ 'common.table.landline-phone' | translate }}\n \n \n
\n
\n
\n \n {{ 'common.table.comment' | translate }}\n \n \n
\n
\n
\n
\n
\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
{{ 'common.table.status' | translate | uppercase }} \n
\n
{{ 'common.table.date' | translate | uppercase }} {{element.scheduledDate}} {{ 'common.table.pickup' | translate | uppercase }} \n \n {{ 'common.table.time-slot' | translate | uppercase }}\n \n {{element.timeSlot.from | slice:0:5}} - {{element.timeSlot.to | slice:0:5}} \n {{element.child.timeSlot.from | slice:0:5}} -\n {{element.child.timeSlot.to | slice:0:5}} \n {{ 'common.table.delivery' | translate | uppercase }} \n \n {{ 'common.table.time-slot' | translate | uppercase }}\n \n {{element.timeSlot.from | slice:0:5}} - {{element.timeSlot.to | slice:0:5}} \n {{element.child.timeSlot.from | slice:0:5}} -\n {{element.child.timeSlot.to | slice:0:5}} \n {{ customField.name | uppercase }} \n {{getFieldValue(element, customField)}}\n \n {{ 'common.table.action' | translate | uppercase }}\n \n \n \n
\n\n \n
\n","import { Component, ViewChild, AfterViewInit, OnInit } from '@angular/core';\nimport { MatDialogConfig, MatDialog } from '@angular/material/dialog';\nimport { MatInput } from '@angular/material/input';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource, MatTable } from '@angular/material/table';\nimport { merge, of as observableOf} from 'rxjs';\nimport { startWith, switchMap, catchError, map } from 'rxjs/operators';\nimport { CustomerView } from 'src/app/shared/customers/customer.model';\nimport { CustomersService } from 'src/app/shared/customers/customers.service';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { CustomersAddEditComponent } from './customers-add-edit/customers-add-edit.component';\nimport { DeviceDetectorService } from 'ngx-device-detector';\n@Component({\n selector: 'app-customers',\n templateUrl: './customers.component.html',\n styleUrls: ['./customers.component.scss']\n})\nexport class CustomersComponent implements AfterViewInit, OnInit {\n displayedColumns = ['lastname', 'firstname', 'email', 'phone', 'address', 'actions'];\n data: MatTableDataSource = new MatTableDataSource();\n resultsLength = 0;\n isLoadingResults = true;\n\n @ViewChild(MatTable) table: MatTable;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatInput) filter: MatInput;\n\n constructor(private customersService: CustomersService,\n public dialog: MatDialog,\n private alert: AlertService,\n private deviceDetectorService: DeviceDetectorService) { }\n\n ngOnInit() {\n if (this.deviceDetectorService.isMobile()) {\n this.displayedColumns = ['lastname', 'address', 'actions'];\n }\n }\n\n ngAfterViewInit() {\n merge(this.paginator.page)\n .pipe(\n startWith({}),\n switchMap(() => {\n this.isLoadingResults = true;\n return this.customersService.findAllCustomers(this.paginator.pageIndex, this.paginator.pageSize, this.filter.value);\n }),\n map(data => {\n // Flip flag to show that loading has finished.\n this.isLoadingResults = false;\n this.resultsLength = data.totalElements;\n\n return data.elements;\n }),\n catchError(() => {\n this.isLoadingResults = false;\n return observableOf([]);\n })\n ).subscribe(data => this.data.data = data);\n }\n\n\n filterChanged() {\n if (this.filter.value.length >= 3) {\n this.paginator.firstPage();\n this.updateData();\n }\n }\n\n updateData() {\n this.customersService.findAllCustomers(this.paginator.pageIndex, this.paginator.pageSize, this.filter.value)\n .subscribe(res => {\n this.data.data = res.elements;\n this.resultsLength = res.totalElements;\n });\n }\n\n openCreateModal() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(CustomersAddEditComponent, dialogConfig);\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.alert.info('customers.create-success');\n this.updateData();\n }\n });\n }\n}\n","
\n
\n

{{ 'customers.title' | translate}}

\n
\n
\n \n \n
\n
\n
\n\n
\n \n \n search\n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
{{ 'common.table.lastname' | translate | uppercase }} {{element.lastName}} {{ 'common.table.firstname' | translate | uppercase }} {{element.firstName}} {{ 'common.table.email' | translate | uppercase }} {{element.email}} {{ 'common.table.mobile-phone' | translate | uppercase }} {{element.mobileNumber}} {{ 'common.table.address' | translate | uppercase }} {{element.address}} {{ 'common.table.action' | translate | uppercase }} \n \n visibility\n \n
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../shared/auth/auth.service';\nimport { User } from 'src/app/shared/auth/user';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../shared/auth/user.service';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n loggedUser: User;\n icon: string;\n\n constructor(private authService: AuthService, private router: Router, public userService: UserService) { }\n\n ngOnInit() {\n this.loggedUser = this.authService.currentUserValue;\n this.icon = this.authService.getIcon();\n }\n\n onLogout() {\n this.authService.logout();\n this.router.navigate(['/login']);\n }\n}\n","\n\n\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n

AntsRoute Book

\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-home-layout',\n template: `\n \n
\n \n
\n `,\n styles: []\n})\nexport class HomeLayoutComponent {}\n","import {Component, OnInit, ViewChild, AfterViewInit} from '@angular/core';\nimport {UntypedFormControl} from '@angular/forms';\nimport * as _moment from 'moment';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\nimport {merge, of as observableOf} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\nimport {OrderService} from 'src/app/shared/orders/orders.service';\nimport { MomentDateAdapter} from '@angular/material-moment-adapter';\nimport {DONE, LightOrder} from '../../shared/orders/light-order.model';\nimport {Router} from '@angular/router';\nimport { DATE_FORMATS } from 'src/app/app.component';\nimport { TableService, REPORT_TABLE } from 'src/app/shared/configuration-table-modal/table.service';\nimport { CustomFieldsService, CustomField } from 'src/app/shared/resources/custom-fields.service';\nimport { Chart, ChartService } from '../../shared/chart/chart.services';\nimport {\n ConfigurationTable,\n ConfigurationTableModalComponent\n} from 'src/app/shared/configuration-table-modal/configuration-table-modal.component';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\n\nconst moment = _moment;\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n styleUrls: ['./reports.component.scss'],\n providers: [\n // The locale would typically be provided on the root module of your application. We do it at\n // the component level here, due to limitations of our example generation script.\n { provide: MAT_DATE_LOCALE, useValue: 'fr' },\n\n // `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing\n // `MatMomentDateModule` in your applications root module. We provide it at the component level\n // here, due to limitations of our example generation script.\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: DATE_FORMATS }\n ]\n})\nexport class ReportsComponent implements OnInit, AfterViewInit {\n displayedColumns = ['date', 'type', 'customer', 'address', 'satisfaction', 'time', 'actions'];\n data: MatTableDataSource = new MatTableDataSource();\n resultsLength = 0;\n isLoadingResults = true;\n\n @ViewChild(MatTable) table: MatTable;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n minDate = new UntypedFormControl(moment().subtract(1, 'months'));\n maxDate = new UntypedFormControl(moment());\n customFields: Array = [];\n\n charts: Chart[] = [];\n numberCharts: Chart[] = [];\n cubeJsToken: string;\n loadingChart: boolean;\n\n constructor(\n private orderService: OrderService, private router: Router, public dialog: MatDialog,\n private tableService: TableService, private customFieldService: CustomFieldsService,\n private chartService: ChartService, private warehouseService: WarehouseService) {\n }\n\n ngOnInit() {\n this.loadingChart = true;\n this.chartService.getCubeJsToken().subscribe(cubeJsToken => {\n this.cubeJsToken = cubeJsToken;\n });\n\n this.customFieldService.findCustomFields().subscribe(categories => {\n this.customFields = [];\n categories.forEach(category => {\n this.customFields.push(...category.customFields);\n });\n this.displayedColumns = this.tableService.getTransportHeadersTables(REPORT_TABLE, this.customFields).selected;\n });\n }\n\n ngAfterViewInit() {\n merge(this.paginator.page)\n .pipe(\n startWith({}),\n switchMap(() => {\n this.isLoadingResults = true;\n return this.orderService.findAllLightOrdersByState(\n this.paginator.pageIndex, this.paginator.pageSize,\n this.minDate.value.format('YYYY-MM-DD'), this.maxDate.value.format('YYYY-MM-DD'), [DONE]);\n }),\n map(data => {\n // Flip flag to show that loading has finished.\n this.isLoadingResults = false;\n this.resultsLength = data.totalElements;\n this.renderChart();\n return data.elements;\n }),\n catchError(() => {\n this.isLoadingResults = false;\n return observableOf([]);\n })\n ).subscribe(data => this.data.data = data);\n }\n\n renderChart(): void {\n this.warehouseService.findWarehouses(0, 1000).subscribe(warehouses => {\n const warehouseCustomerIds = warehouses.elements.map(w => String(w.customerId));\n this.charts = [];\n this.numberCharts = [];\n this.charts.push(this.chartService.getPlannedOrderByDateAndState(this.minDate.value.format('YYYY-MM-DD'),\n this.maxDate.value.format('YYYY-MM-DD'), warehouseCustomerIds));\n this.numberCharts.push(this.chartService.getTotalNumberOfDoneOrder(this.minDate.value.format('YYYY-MM-DD'),\n this.maxDate.value.format('YYYY-MM-DD'), warehouseCustomerIds));\n this.loadingChart = false;\n });\n }\n\n minDateChange() {\n if (this.minDate.value.isAfter(this.maxDate.value)) {\n this.maxDate.setValue(this.minDate.value);\n }\n this.paginator.firstPage();\n this.updateData();\n }\n\n maxDateChange() {\n if (this.maxDate.value.isBefore(this.minDate.value)) {\n this.minDate.setValue(this.maxDate.value);\n }\n this.paginator.firstPage();\n this.updateData();\n }\n\n private updateData() {\n this.orderService.findAllLightOrdersByState(\n this.paginator.pageIndex, this.paginator.pageSize,\n this.minDate.value.format('YYYY-MM-DD'), this.maxDate.value.format('YYYY-MM-DD'), [DONE])\n .subscribe(res => {\n this.data.data = res.elements;\n this.resultsLength = res.totalElements;\n this.renderChart();\n });\n }\n\n goToDetails(order: any) {\n this.router.navigate([this.router.url + '/' + order.orderId]);\n }\n\n getFieldValue(lightOrder: LightOrder, field: CustomField): string {\n if (lightOrder.fields.findIndex(f => f.field.id === field.id) !== -1) {\n return lightOrder.fields.find(f => f.field.id === field.id).value;\n }\n return '';\n }\n\n configureTable() {\n const configureTable = new ConfigurationTable();\n configureTable.tableType = REPORT_TABLE;\n configureTable.columns = this.tableService.getTransportHeadersTables(REPORT_TABLE, this.customFields);\n const dialogRef = this.dialog.open(ConfigurationTableModalComponent, {\n width: '350px',\n disableClose: true,\n data: configureTable\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.displayedColumns = result;\n }\n });\n }\n}\n","
\n
\n

{{ 'reports.title' | translate}}

\n
\n
\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n \n
\n
\n \n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n
{{ 'common.table.date' | translate | uppercase }} {{element.terminatedDate | date: 'dd/MM/yyyy' }} {{ 'common.table.type' | translate | uppercase }} {{ 'common.table.' + element.serviceType.toLowerCase() | translate | uppercase }} {{ 'common.table.customer' | translate | uppercase }} {{ element.customer.firstName }} {{ element.customer.lastName }} {{ 'common.table.address' | translate | uppercase }} {{element.customer.address}} {{ 'common.table.satisfaction' | translate | uppercase }} \n {{ 'common.table.time' | translate | uppercase }} {{ 'model.order.terminated-date' | translate }}: {{element.terminatedDate | date:'HH\\'h\\'mm'}} {{ customField.name | uppercase }} \n {{getFieldValue(element, customField)}}\n \n {{ 'common.table.action' | translate | uppercase }}\n \n \n \n
\n \n
\n","import {\n DisplaySetting,\n UpdateConfiguration,\n UpdateDisplaySetting,\n DisplayField,\n TRANSPORT_PROCESS,\n} from \"./../../../shared/warehouse/configuration.model\";\nimport { Component, OnInit, OnDestroy } from \"@angular/core\";\nimport {\n UntypedFormGroup,\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormArray,\n Validators,\n} from \"@angular/forms\";\nimport { AlertService } from \"src/app/shared/utils/alert.service\";\nimport { WarehouseService } from \"src/app/shared/warehouse/warehouse.service\";\nimport { Configuration } from \"../../../shared/warehouse/configuration.model\";\nimport {\n CustomFieldsService,\n CustomField,\n CustomFieldType,\n} from \"src/app/shared/resources/custom-fields.service\";\nimport {\n OrderTypeService,\n OrderType,\n} from \"./../../../shared/resources/order-type.service\";\nimport { CustomDisplayService } from \"src/app/shared/utils/custom-display.service\";\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: \"app-configuration\",\n templateUrl: \"./configuration.component.html\",\n styleUrls: [\"./configuration.component.scss\"],\n})\nexport class ConfigurationComponent implements OnInit, OnDestroy {\n settingsOrder = [\n DisplayField.WAREHOUSE_ADDRESS,\n DisplayField.WAREHOUSE_TIMESLOT,\n DisplayField.WAREHOUSE_DURATION,\n DisplayField.CUSTOMER_DELIVERY_DURATION,\n DisplayField.CUSTOMER_PICKUP_DURATION,\n DisplayField.ORDER_TYPE,\n ];\n\n configuration: UntypedFormGroup;\n settings: UntypedFormGroup;\n customFields: CustomField[];\n orderTypes: OrderType[] = [];\n displaySettings: DisplaySetting[] = [];\n configSubscription: Subscription;\n\n process: TRANSPORT_PROCESS;\n\n startDaysArray = [1, 2, 3];\n ndDaysArray = [3, 4, 5];\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n private alert: AlertService,\n private customFieldService: CustomFieldsService,\n private warehouseService: WarehouseService,\n private orderTypeService: OrderTypeService,\n private customDisplayService: CustomDisplayService\n ) {}\n\n ngOnInit() {\n this.findOrderTypes();\n this.buildForm();\n this.customFieldService.findCustomFields().subscribe((categories) => {\n this.customFields = [];\n categories.forEach((category) => {\n // custom field PHOTO not yet managed in warehouse\n const fields = category.customFields.filter(\n (field) => field.type !== CustomFieldType.PHOTO\n );\n this.customFields.push(...fields);\n });\n });\n }\n\n private findOrderTypes() {\n this.orderTypeService.findOrderTypes().subscribe((result) => {\n this.orderTypes = result;\n });\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.configuration.controls[controlName].hasError(errorName);\n };\n\n public fieldError = (control: any, errorName: string) => {\n return control.hasError(errorName);\n };\n\n save(configuration: Configuration) {\n const updateConfiguration = new UpdateConfiguration();\n updateConfiguration.displaySettings = [];\n\n updateConfiguration.iconUrl = configuration.iconUrl;\n updateConfiguration.scoringBeginDay = configuration.scoringBeginDay;\n updateConfiguration.scoringNbDayToScore = configuration.scoringNbDayToScore;\n updateConfiguration.scoringMinimumScore = configuration.scoringMinimumScore;\n\n if (Number(configuration.customFieldIdForOrderNumber) === -1) {\n updateConfiguration.customFieldIdForOrderNumber = undefined;\n } else {\n updateConfiguration.customFieldIdForOrderNumber = Number(\n configuration.customFieldIdForOrderNumber\n );\n }\n\n this.displaySettings.forEach((d) => {\n const updateDisplaySetting = new UpdateDisplaySetting();\n updateDisplaySetting.field = d.field;\n updateDisplaySetting.visible = d.visible.value;\n updateDisplaySetting.required = d.required.value;\n updateDisplaySetting.defaultValue = d.defaultValue.value;\n\n updateConfiguration.displaySettings.push(updateDisplaySetting);\n });\n\n this.configSubscription = this.warehouseService\n .setConfiguration(updateConfiguration)\n .subscribe(\n () => {\n this.alert.info(\"settings.configuration.update-success\");\n this.customDisplayService.loadDisplaySettings();\n },\n (error) => this.alert.error(error)\n );\n }\n\n get arrayRequired(): UntypedFormArray {\n return this.configuration.get(\"arrayRequired\") as UntypedFormArray;\n }\n\n get arrayVisible(): UntypedFormArray {\n return this.configuration.get(\"arrayVisible\") as UntypedFormArray;\n }\n\n get arrayDefaultValue(): UntypedFormArray {\n return this.configuration.get(\"arrayDefaultValue\") as UntypedFormArray;\n }\n\n private buildForm() {\n this.configuration = this.formBuilder.group(\n {\n iconUrl: new UntypedFormControl(\"\"),\n customFieldIdForOrderNumber: new UntypedFormControl(String(-1)),\n arrayVisible: new UntypedFormArray([]),\n arrayRequired: new UntypedFormArray([]),\n arrayDefaultValue: new UntypedFormArray([]),\n scoringBeginDay: new UntypedFormControl(1),\n scoringNbDayToScore: new UntypedFormControl(3),\n scoringMinimumScore: new UntypedFormControl(0, [\n Validators.required,\n Validators.min(0),\n Validators.max(100),\n ]),\n },\n {}\n );\n\n this.warehouseService.getConfiguration().subscribe((config) => {\n this.process = config.process;\n\n this.displaySettings = config.displaySettings.sort((a, b) => {\n const aIndex = Number(\n this.settingsOrder.findIndex(\n (c) => c.toString() === a.field.toString()\n )\n );\n const bIndex = Number(\n this.settingsOrder.findIndex(\n (c) => c.toString() === b.field.toString()\n )\n );\n if (aIndex < bIndex) {\n return -1;\n } else {\n return 1;\n }\n });\n this.configuration\n .get(\"scoringBeginDay\")\n .setValue(config.scoringBeginDay);\n this.configuration\n .get(\"scoringNbDayToScore\")\n .setValue(config.scoringNbDayToScore);\n this.configuration\n .get(\"scoringMinimumScore\")\n .setValue(config.scoringMinimumScore);\n\n this.configuration.get(\"iconUrl\").setValue(config.iconUrl);\n if (config.customFieldIdForOrderNumber) {\n this.configuration\n .get(\"customFieldIdForOrderNumber\")\n .setValue(String(config.customFieldIdForOrderNumber));\n }\n this.configuration.setControl(\n \"arrayVisible\",\n this.formBuilder.array(\n config.displaySettings.map(\n (c) =>\n new UntypedFormControl({\n value: c.visible.value,\n disabled: !c.visible.editable,\n })\n )\n )\n );\n this.configuration.setControl(\n \"arrayRequired\",\n this.formBuilder.array(\n config.displaySettings.map(\n (c) =>\n new UntypedFormControl({\n value: c.required.value,\n disabled: !c.required.editable,\n })\n )\n )\n );\n this.configuration.setControl(\n \"arrayDefaultValue\",\n this.formBuilder.array(\n config.displaySettings.map(\n (c) =>\n new UntypedFormControl({\n value: c.defaultValue.value,\n disabled: !c.defaultValue.editable,\n })\n )\n )\n );\n });\n }\n\n getDisplaySettings(field: DisplayField): DisplaySetting {\n return this.displaySettings.find((d) => d.field === field);\n }\n\n changeVisibility(field: DisplayField, event: any) {\n this.getDisplaySettings(field).visible.value = event.checked;\n }\n\n changeRequired(field: DisplayField, event: any) {\n this.getDisplaySettings(field).required.value = event.checked;\n if (event.checked) {\n const test = this.configuration.get(\"arrayDefaultValue\") as UntypedFormArray;\n test.controls.forEach((c) => {\n c.markAsTouched();\n });\n }\n }\n\n changeDefaultValue(field: DisplayField, event: any) {\n const update = this.getDisplaySettings(field);\n if (event.target) {\n update.defaultValue.value = event.target.value;\n } else if (event.value) {\n update.defaultValue.value = event.value;\n }\n }\n\n ngOnDestroy(): void {\n if (this.configSubscription) {\n this.configSubscription.unsubscribe();\n }\n }\n}\n","
\n
\n

{{'settings.configuration.title' | translate}}

\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n
\n\n \n \n

{{'settings.configuration.general' | translate}}

\n
\n \n
\n
\n \n \n {{'common.error.bad-url' | translate}}\n \n
\n
\n \n {{'settings.configuration.customFieldIdForOrderNumber' | translate}}\n \n {{'settings.configuration.no-custom-field' | translate}}\n \n {{customField.name}}\n \n \n \n
\n
\n
\n
\n
\n
\n \n \n

{{'settings.configuration.scoring.title' | translate}}

\n
\n \n
\n \n {{'settings.configuration.scoring.scoringBeginDay' | translate}}\n \n \n J + {{start}}\n \n \n \n \n {{'settings.configuration.scoring.scoringNbDayToScore' | translate}}\n \n \n {{nb}}\n \n \n \n
\n
\n \n {{'settings.configuration.scoring.scoringMinimumScore' | translate}}\n \n {{'common.error.required' | translate}}\n {{'common.error.percentage' | translate}}\n {{'common.error.percentage' | translate}}\n \n
\n
\n
\n
\n
\n
\n \n \n

{{'settings.configuration.display' | translate}}

\n
\n \n
\n
{{'settings.configuration.display-options.field-header' | translate}}
\n
{{'settings.configuration.display-options.visible-header' | translate}}
\n
{{'settings.configuration.display-options.required-header' | translate}}
\n
{{'settings.configuration.display-options.default-value-header' | translate}}
\n
\n
\n\n
\n {{'settings.configuration.display-options.' + setting.field | translate }}
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n {{'common.error.required' | translate}}\n \n \n
\n
\n \n \n \n {{'common.error.required' | translate}}\n \n \n
\n
\n 0\">\n \n {{'orders.details.no-order-type' | translate}}\n {{orderType.name}}\n \n \n \n {{'common.error.required' | translate}}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n \n
\n
\n\n
\n\n\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, UntypedFormControl, Validators } from '@angular/forms';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { MustMatch } from 'src/app/shared/utils/must-match.validator';\nimport { UserService } from 'src/app/shared/auth/user.service';\nimport { WarehouseView } from 'src/app/shared/warehouse/warehouse.model';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\nimport { CreateUser, User } from 'src/app/shared/auth/user';\nimport { AuthService } from '../../../shared/auth/auth.service';\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-my-account',\n templateUrl: './my-account.component.html',\n styleUrls: ['./my-account.component.scss']\n})\nexport class MyAccountComponent implements OnInit, OnDestroy {\n\n update: UntypedFormGroup;\n warehouses: WarehouseView[] = [];\n accountSubscription: Subscription;\n\n constructor(\n private formBuilder: UntypedFormBuilder, private alert: AlertService, private userService: UserService,\n private warehouseService: WarehouseService, private authService: AuthService) { }\n\n ngOnInit() {\n this.warehouseService.findWarehouses(0, 1000).subscribe(res => {\n this.warehouses = res.elements;\n });\n this.update = this.formBuilder.group({\n phone: new UntypedFormControl(''),\n email : new UntypedFormControl('', [Validators.required, Validators.email]),\n firstName : new UntypedFormControl('', [Validators.required]),\n lastName : new UntypedFormControl('', [Validators.required]),\n password : new UntypedFormControl('', [Validators.required]),\n confirmPassword : new UntypedFormControl('', [Validators.required]),\n role : new UntypedFormControl('USER', [Validators.required]),\n warehouseIds : new UntypedFormControl('', [Validators.required]),\n language : new UntypedFormControl('fr')\n }, {\n validators: [ MustMatch('password', 'confirmPassword')]\n });\n\n this.userService.getMyAccount().subscribe(myaccount => {\n this.update.get('email').setValue(myaccount.email);\n this.update.get('email').disable();\n this.update.get('firstName').setValue(myaccount.firstName);\n this.update.get('lastName').setValue(myaccount.lastName);\n this.update.get('phone').setValue(myaccount.phone);\n this.update.get('password').setValue('NOCHANGE');\n this.update.get('confirmPassword').setValue('NOCHANGE');\n this.update.get('role').setValue(myaccount.role);\n this.update.get('role').disable();\n this.update.get('language').setValue(myaccount.language);\n this.update.get('warehouseIds').setValue(myaccount.warehouses.map(warehouseId => String(warehouseId.id)));\n this.update.get('warehouseIds').disable();\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.update.controls[controlName].hasError(errorName);\n }\n\n save(user: CreateUser) {\n if (user.password === 'NOCHANGE') {\n user.password = undefined;\n }\n this.accountSubscription = this.userService.updateMyAccount(user).subscribe( () => {\n this.userService.applyLanguage(user.language);\n this.authService.currentUserValue.firstName = user.firstName;\n this.authService.currentUserValue.lastName = user.lastName;\n this.alert.info('settings.my-account.update-success');\n },\n error => {\n this.alert.error(error);\n });\n }\n\n ngOnDestroy(): void {\n if (this.accountSubscription) {\n this.accountSubscription.unsubscribe();\n }\n }\n\n}\n","
\n
\n

{{'settings.my-account.title' | translate}}

\n
\n
\n \n
\n
\n
\n\n
\n
\n\n \n \n

{{'settings.my-account.information' | translate}}

\n
\n \n
\n
\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n \n \n
\n
\n \n \n {{'common.error.required' | translate}}\n {{'common.error.email' | translate}}\n \n
\n
\n\n
\n
\n \n {{'model.user.role' | translate}}\n \n {{'model.user.USER' | translate}}\n {{'model.user.ADMIN' | translate}}\n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n {{'model.user.shops' | translate}}\n \n {{warehouse.name}}\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n {{'model.user.fr' | translate}}\n {{'model.user.en' | translate}}\n \n
\n
\n
\n
\n\n\n \n\n
\n
\n \n
\n
\n\n
\n\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../shared/auth/auth.service';\nimport { User } from 'src/app/shared/auth/user';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.scss']\n})\nexport class SettingsComponent implements OnInit {\n\n loggedUser: User;\n isAdmin = this.authService.isAdmin();\n\n constructor(private authService: AuthService, private router: Router) { }\n\n ngOnInit() {\n }\n\n}\n","\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { User, CreateUser, USER_ROLE } from 'src/app/shared/auth/user';\nimport { Router } from '@angular/router';\nimport { AuthService } from 'src/app/shared/auth/auth.service';\nimport { UntypedFormControl, Validators, UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';\nimport { UserService } from 'src/app/shared/auth/user.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CustomersService } from 'src/app/shared/customers/customers.service';\nimport { CustomerView } from 'src/app/shared/customers/customer.model';\nimport { debounceTime, switchMap, finalize, tap } from 'rxjs/operators';\nimport { CreateWarehouse } from 'src/app/shared/warehouse/warehouse.model';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { TimeSlot } from 'src/app/shared/orders/timeslot.model';\nimport { OrderService } from 'src/app/shared/orders/orders.service';\nimport { Subscription } from 'rxjs';\n\nexport interface UpdateWarehouse {\n id: number;\n}\n\n@Component({\n selector: 'app-shop-create',\n templateUrl: './createshop.component.html',\n})\nexport class CreateShopComponent implements OnInit, OnDestroy {\n\n timeslots: TimeSlot[] = [];\n filteredCustomers: CustomerView[] = [];\n shopForm: UntypedFormGroup;\n customerSelected = false;\n isLoading = false;\n isUpdate = false;\n createWarehouseSubscription: Subscription;\n\n constructor(\n private fb: UntypedFormBuilder, public dialogRef: MatDialogRef, private customersService: CustomersService,\n private warehouseService: WarehouseService, private alert: AlertService, private orderService: OrderService,\n @Inject(MAT_DIALOG_DATA) public data: UpdateWarehouse) { }\n\n ngOnInit() {\n this.shopForm = this.fb.group({\n customerInput: null,\n address: null,\n defaultLoadingTime: new UntypedFormControl('', [Validators.required, Validators.pattern('[0-9]*')]),\n defaultLoadingTimeSlotId: new UntypedFormControl('', [Validators.required]),\n defaultUnloadingTime: new UntypedFormControl('', [Validators.required, Validators.pattern('[0-9]*')]),\n defaultUnloadingTimeSlotId: new UntypedFormControl('', [Validators.required])\n });\n this.shopForm.get('address').disable();\n this.shopForm\n .get('customerInput')\n .valueChanges\n .pipe(\n debounceTime(300),\n tap(() => this.isLoading = true),\n switchMap(value => this.customersService.findAllCustomers(0, 20, value)\n .pipe(\n finalize(() => this.isLoading = false)\n )\n )\n )\n .subscribe(results => this.filteredCustomers = results.elements);\n\n this.orderService.findTimeslots().subscribe(res => {\n this.timeslots = res;\n });\n\n if (this.data && this.data.id) {\n this.isUpdate = true;\n this.warehouseService.findWarehouse(this.data.id).subscribe(\n warehouse => {\n this.customersService.findCustomer(warehouse.customerId).subscribe(customer => {\n this.customerSelected = true;\n this.shopForm.get('customerInput').setValue(customer);\n this.shopForm.get('customerInput').disable();\n this.shopForm.get('address').setValue(warehouse.address);\n this.shopForm.get('address').disable();\n this.shopForm.get('defaultLoadingTime').setValue(warehouse.defaultLoadingTime);\n this.shopForm.get('defaultLoadingTimeSlotId').setValue(String(warehouse.defaultLoadingTimeSlotId));\n this.shopForm.get('defaultUnloadingTime').setValue(warehouse.defaultUnloadingTime);\n this.shopForm.get('defaultUnloadingTimeSlotId').setValue(String(warehouse.defaultUnLoadingTimeSlotId));\n });\n }\n );\n }\n\n this.shopForm.get('customerInput').valueChanges.subscribe(\n val => {\n if (val.customerId) {\n this.customerSelected = true;\n this.shopForm.get('address').setValue(val.address);\n } else {\n this.customerSelected = false;\n }\n });\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.shopForm.controls[controlName].hasError(errorName);\n }\n\n displayFn(customer: CustomerView) {\n if (customer) { return customer.lastName + ' ' + (customer.firstName !== null ? customer.firstName : ''); }\n }\n\n save(createWarehouse: CreateWarehouse) {\n if (! this.isUpdate) {\n createWarehouse.customerId = this.shopForm.get('customerInput').value.customerId;\n this.createWarehouseSubscription = this.warehouseService.createWarehouse(createWarehouse).subscribe(res => {\n this.dialogRef.close(true);\n }, err => {\n this.alert.error(err);\n });\n } else {\n this.createWarehouseSubscription = this.warehouseService.updateWarehouse(this.data.id, createWarehouse).subscribe(res => {\n this.dialogRef.close(true);\n }, err => {\n this.alert.error(err);\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.createWarehouseSubscription) {\n this.createWarehouseSubscription.unsubscribe();\n }\n }\n}\n","

{{'settings.shops.add' | translate}}

\n

{{'settings.shops.update' | translate}}

\n\n\n
\n\n \n
\n
\n \n \n \n\n \n \n \n \n \n \n {{ customer.lastName }} {{ customer.firstName }}\n | {{customer.address}}\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n\n
\n
\n \n \n {{'common.minutes' | translate}}\n {{'common.error.required' | translate}}\n {{'common.error.integer' | translate}}\n\n \n
\n\n
\n \n {{'model.shop.loading-timeslot' | translate}}\n \n {{ timeslot.from | slice:0:5}} - {{ timeslot.to | slice:0:5}}\n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n \n {{'common.minutes' | translate}}\n {{'common.error.required' | translate}}\n {{'common.error.integer' | translate}}\n\n \n
\n\n
\n \n {{'model.shop.unloading-timeslot' | translate}}\n \n {{ timeslot.from | slice:0:5}} - {{ timeslot.to | slice:0:5}}\n \n {{'common.error.required' | translate}}\n \n
\n
\n\n\n
\n \n \n \n \n \n
\n","import { Component, ViewChild, AfterViewInit } from '@angular/core';\nimport { MatDialogConfig, MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource, MatTable } from '@angular/material/table';\nimport { CreateShopComponent } from './create/createshop.component';\nimport { WarehouseView } from 'src/app/shared/warehouse/warehouse.model';\nimport { merge, of as observableOf } from 'rxjs';\nimport { startWith, switchMap, map, catchError } from 'rxjs/operators';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { ConfirmationDialogComponent } from 'src/app/shared/confirmation-dialog/confirmation-dialog.component';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-shops',\n templateUrl: './shops.component.html',\n styleUrls: ['./shops.component.scss']\n})\nexport class ShopsComponent implements AfterViewInit {\n\n displayedColumns = ['name', 'address', 'phone', 'actions'];\n data: MatTableDataSource = new MatTableDataSource();\n resultsLength = 0;\n isLoadingResults = true;\n\n @ViewChild(MatTable) table: MatTable;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n constructor(\n private warehouseService: WarehouseService, public dialog: MatDialog, private alert: AlertService,\n private translate: TranslateService) { }\n\n ngAfterViewInit() {\n merge(this.paginator.page)\n .pipe(\n startWith({}),\n switchMap(() => {\n this.isLoadingResults = true;\n return this.warehouseService.findWarehouses(\n this.paginator.pageIndex, this.paginator.pageSize);\n }),\n map(data => {\n // Flip flag to show that loading has finished.\n this.isLoadingResults = false;\n this.resultsLength = data.totalElements;\n\n return data.elements;\n }),\n catchError(() => {\n this.isLoadingResults = false;\n return observableOf([]);\n })\n ).subscribe(data => this.data.data = data);\n }\n\n openCreateModal() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(CreateShopComponent, dialogConfig);\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.alert.info('settings.shops.create-success');\n this.updateData();\n }\n });\n }\n\n openUpdateModal(warehouse: WarehouseView) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {id: warehouse.warehouseId};\n\n const dialogRef = this.dialog.open(CreateShopComponent, dialogConfig);\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.alert.info('settings.shops.update-success');\n this.updateData();\n }\n });\n }\n\n deleteWarehouse(warehouse: WarehouseView) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '350px',\n data: this.translate.instant('settings.shops.confirm-deletion')\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.warehouseService.deleteWarehouse(warehouse.warehouseId).subscribe(\n () => {\n this.alert.info('settings.shops.delete-success');\n this.updateData();\n },\n err => {\n this.alert.error(err);\n }\n );\n }\n });\n }\n\n private updateData() {\n this.warehouseService.findWarehouses(\n this.paginator.pageIndex, this.paginator.pageSize)\n .subscribe(res => {\n this.data.data = res.elements;\n this.resultsLength = res.totalElements;\n });\n }\n\n\n}\n","
\n
\n

{{'settings.shops.title' | translate}}

\n
\n
\n \n
\n
\n
\n\n
\n\n \n\n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n
{{ 'model.shop.name' | translate | uppercase }} {{element.name}} {{element.firstName}} {{ 'model.shop.address' | translate | uppercase }} {{element.address}} {{ 'model.shop.phone' | translate | uppercase }} {{element.phone}} {{ 'common.table.action' | translate | uppercase }} \n \n \n\n
\n \n\n\n
\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { User, CreateUser, USER_ROLE } from 'src/app/shared/auth/user';\nimport { Router } from '@angular/router';\nimport { AuthService } from 'src/app/shared/auth/auth.service';\nimport { UntypedFormControl, Validators, UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';\nimport { UserService } from 'src/app/shared/auth/user.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { WarehouseView } from 'src/app/shared/warehouse/warehouse.model';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\nimport { MustMatch } from 'src/app/shared/utils/must-match.validator';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { Observable, Subscription } from 'rxjs';\n\nexport interface UpdateAccount {\n email: string;\n}\n\n@Component({\n selector: 'app-user-create',\n templateUrl: './createuser.component.html',\n styleUrls : ['./createuser.component.scss']\n})\nexport class CreateUserComponent implements OnInit, OnDestroy {\n\n createUser: UntypedFormGroup;\n warehouses: WarehouseView[] = new Array();\n isUpdate = false;\n createUserSubscription: Subscription;\n constructor(\n public dialogRef: MatDialogRef,\n private userService: UserService,\n private warehouseService: WarehouseService,\n private formBuilder: UntypedFormBuilder,\n private alert: AlertService,\n @Inject(MAT_DIALOG_DATA) public data: UpdateAccount) {\n }\n\n ngOnInit() {\n\n this.warehouseService.findWarehouses(0, 1000).subscribe(res => {\n this.warehouses = res.elements;\n });\n this.createUser = this.formBuilder.group({\n phone: new UntypedFormControl(''),\n email : new UntypedFormControl('', [Validators.required, Validators.email]),\n firstName : new UntypedFormControl('', [Validators.required]),\n lastName : new UntypedFormControl('', [Validators.required]),\n password : new UntypedFormControl('', [Validators.required]),\n confirmPassword : new UntypedFormControl('', [Validators.required]),\n role : new UntypedFormControl('USER', [Validators.required]),\n warehouseIds : new UntypedFormControl('', [Validators.required]),\n language : new UntypedFormControl('fr')\n }, {\n validators: [ MustMatch('password', 'confirmPassword')]\n });\n\n if (this.data && this.data.email) {\n this.isUpdate = true;\n this.userService.getUser(this.data.email).subscribe(user => {\n this.createUser.get('email').setValue(user.email);\n this.createUser.get('email').disable();\n this.createUser.get('firstName').setValue(user.firstName);\n this.createUser.get('lastName').setValue(user.lastName);\n this.createUser.get('phone').setValue(user.phone);\n this.createUser.get('password').setValue('NOCHANGE');\n this.createUser.get('confirmPassword').setValue('NOCHANGE');\n this.createUser.get('role').setValue(user.role);\n this.createUser.get('language').setValue(user.language);\n this.createUser.get('warehouseIds').setValue(user.warehouses.map(warehouseId => String(warehouseId.id)));\n });\n }\n\n this.createUser.get('role').valueChanges.subscribe(val => {\n if (val === 'USER') {\n this.createUser.get('warehouseIds').enable();\n } else {\n this.createUser.get('warehouseIds').disable();\n }\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.createUser.controls[controlName].hasError(errorName);\n }\n\n save(user: CreateUser) {\n let request: Observable;\n if (this.isUpdate) {\n if (this.createUser.get('password').value === 'NOCHANGE') {\n user.password = undefined;\n }\n request = this.userService.updateUser(this.data.email, user);\n } else {\n request = this.userService.createUser(user);\n }\n\n this.createUserSubscription = request.subscribe( () => {\n this.dialogRef.close(true);\n },\n error => {\n this.alert.error(error);\n });\n }\n\n ngOnDestroy(): void {\n if (this.createUserSubscription) {\n this.createUserSubscription.unsubscribe();\n }\n }\n}\n","

{{'settings.users.add' | translate}}

\n

{{'settings.users.update' | translate}}

\n\n
\n\n \n
\n
\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n \n \n
\n
\n \n \n {{'common.error.required' | translate}}\n {{'common.error.email' | translate}}\n \n
\n
\n\n
\n
\n \n \n {{'common.error.required' | translate}}\n {{'common.error.confirm-password' | translate}}\n \n \n
\n
\n \n \n {{'common.error.required' | translate}}\n {{'common.error.confirm-password' | translate}}\n \n\n \n
\n
\n\n
\n
\n \n {{'model.user.role' | translate}}\n \n {{'model.user.USER' | translate}}\n {{'model.user.ADMIN' | translate}}\n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n {{'model.user.shops' | translate}}\n \n {{warehouse.name}}\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n
\n \n {{'model.user.fr' | translate}}\n {{'model.user.en' | translate}}\n \n
\n
\n\n\n\n
\n \n \n \n\n \n \n\n
\n","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\nimport { UserView } from 'src/app/shared/auth/user';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatTableDataSource, MatTable } from '@angular/material/table';\nimport { CreateUserComponent } from './create/createuser.component';\nimport { merge, of as observableOf } from 'rxjs';\nimport { catchError, map, startWith, switchMap } from 'rxjs/operators';\nimport { UserService } from 'src/app/shared/auth/user.service';\nimport { ConfirmationDialogComponent } from 'src/app/shared/confirmation-dialog/confirmation-dialog.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\nimport { WarehouseView } from 'src/app/shared/warehouse/warehouse.model';\n\n@Component({\n selector: 'app-users',\n templateUrl: './users.component.html',\n styleUrls: ['./users.component.scss']\n})\nexport class UsersComponent implements OnInit, AfterViewInit {\n\n displayedColumns = ['name', 'role', 'email', 'phone', 'shops', 'actions'];\n data: MatTableDataSource = new MatTableDataSource();\n resultsLength = 0;\n isLoadingResults = true;\n warehouses: WarehouseView[] = [];\n\n @ViewChild(MatTable) table: MatTable;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n constructor(\n private userService: UserService, public dialog: MatDialog, private translate: TranslateService,\n private alert: AlertService, private wharehouseService: WarehouseService) { }\n\n ngOnInit() {\n this.wharehouseService.findWarehouses(0, 100).subscribe(\n res => {\n this.warehouses = res.elements;\n }\n );\n }\n\n ngAfterViewInit() {\n merge(this.paginator.page)\n .pipe(\n startWith({}),\n switchMap(() => {\n this.isLoadingResults = true;\n return this.userService.findUsers(\n this.paginator.pageIndex, this.paginator.pageSize);\n }),\n map(data => {\n // Flip flag to show that loading has finished.\n this.isLoadingResults = false;\n this.resultsLength = data.totalElements;\n return data.elements;\n }),\n catchError(() => {\n this.isLoadingResults = false;\n return observableOf([]);\n })\n ).subscribe(data => this.data.data = data);\n }\n openCreateModal() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(CreateUserComponent, dialogConfig);\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.updateData();\n this.alert.info('settings.users.create-success');\n }\n });\n }\n\n openUpdateModal(accountEmail: string) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {email: accountEmail};\n\n const dialogRef = this.dialog.open(CreateUserComponent, dialogConfig);\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.updateData();\n this.alert.info('settings.users.update-success');\n }\n });\n }\n\n deleteUser(user: UserView) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '350px',\n data: this.translate.instant('model.user.confirm-deletion')\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.userService.deleteUser(user).subscribe(\n res => {\n this.updateData();\n this.alert.info('settings.users.delete-success');\n },\n error => {\n this.alert.error(error);\n }\n );\n }\n });\n }\n\n private updateData() {\n this.userService.findUsers(\n this.paginator.pageIndex, this.paginator.pageSize)\n .subscribe(res => {\n this.data.data = res.elements;\n this.resultsLength = res.totalElements;\n });\n }\n\n getWarehouseName(id: number) {\n const found = this.warehouses.find(warehouse => warehouse.warehouseId === id);\n if (found) {\n return found.name;\n }\n return '';\n }\n\n}\n\n","
\n
\n

{{'settings.users.title' | translate}}

\n
\n
\n \n
\n
\n
\n\n
\n\n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n\n\n \n \n
{{ 'model.user.name' | translate | uppercase }} {{element.lastName}} {{element.firstName}} {{ 'model.user.role' | translate | uppercase }} {{'model.user.' + element.role | translate}} {{ 'model.user.email' | translate | uppercase }} {{element.email}} {{ 'model.user.phone-number' | translate | uppercase }} {{element.phone}} {{ 'model.user.shops' | translate | uppercase }} \n {{ 'common.all' | translate | uppercase}}\n \n {{getWarehouseName(warehouseId.id)}}
\n
\n
{{ 'common.table.action' | translate | uppercase }} \n\n \n \n
\n \n\n\n
\n","import {Component, OnInit} from '@angular/core';\nimport {UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators} from '@angular/forms';\nimport {CustomersService} from 'src/app/shared/customers/customers.service';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport {AlertService} from 'src/app/shared/utils/alert.service';\nimport { ItemType } from 'src/app/shared/resources/item-types.service';\n\n@Component({\n selector: 'app-add-item',\n templateUrl: './add-item.component.html',\n styleUrls: ['./add-item.component.scss']\n})\nexport class AddItemComponent implements OnInit {\n\n itemType: ItemType;\n quantityFormGroup: UntypedFormGroup;\n quantity: number = 0;\n\n constructor(private formBuilder: UntypedFormBuilder,\n private customersService: CustomersService,\n public dialogRef: MatDialogRef,\n private alert: AlertService) {\n }\n\n ngOnInit() {\n this.quantityFormGroup = this.formBuilder.group({\n quantity: new UntypedFormControl(this.quantity, [Validators.required]),\n });\n }\n\n save(value: any) {\n this.dialogRef.close(value.quantity)\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.quantityFormGroup.controls[controlName].hasError(errorName);\n }\n}\n","

Ajouter un article

\n\n
\n\n \n\n
\n
\n \n \n \n
\n
\n \n \n {{'common.error.required' | translate}}\n \n
\n
\n\n
\n \n \n\n \n\n \n\n
\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { OrderService } from 'src/app/shared/orders/orders.service';\nimport { CreateTransport } from 'src/app/shared/orders/base-order.model';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport * as _moment from 'moment';\nimport { TimeSlotService } from 'src/app/shared/resources/time-slot.service';\nimport { TimeSlot } from 'src/app/shared/orders/timeslot.model';\nimport { Router } from '@angular/router';\nimport { DATE_FORMATS } from 'src/app/app.component';\nimport { Subscription } from 'rxjs';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\nimport { Configuration } from 'src/app/shared/warehouse/configuration.model';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { MatSelectChange } from '@angular/material/select';\nimport { AuthService } from 'src/app/shared/auth/auth.service';\n\nconst moment = _moment;\n\nexport type Step = 'CONFIRM_DATE' | 'CONFIRM_TIMESLOT' | 'CONFIRM_INFORMATION';\nexport const CONFIRM_DATE: Step = 'CONFIRM_DATE';\nexport const CONFIRM_TIMESLOT: Step = 'CONFIRM_TIMESLOT';\nexport const CONFIRM_INFORMATION: Step = 'CONFIRM_INFORMATION';\n\nexport interface TransportToCreate {\n transport: CreateTransport;\n}\n\n@Component({\n selector: 'app-save-to-basket',\n templateUrl: './save-to-basket.component.html',\n styleUrls: ['./save-to-basket.component.scss'],\n providers: [\n // The locale would typically be provided on the root module of your application. We do it at\n // the component level here, due to limitations of our example generation script.\n { provide: MAT_DATE_LOCALE, useValue: 'fr' },\n\n // `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing\n // `MatMomentDateModule` in your applications root module. We provide it at the component level\n // here, due to limitations of our example generation script.\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: DATE_FORMATS }\n ]\n})\nexport class SaveToBasketComponent implements OnInit, OnDestroy {\n\n minDate = new UntypedFormControl(moment().add(1, 'days'));\n maxDate = new UntypedFormControl(moment().add(4, 'days'));\n today = moment();\n\n currentStep: Step = CONFIRM_DATE;\n\n timeSlots: TimeSlot[] = [];\n selectedTimeSlot: TimeSlot;\n saveTransportSubscription: Subscription;\n configuration: Configuration;\n isMobile = this.deviceDetectorService.isMobile();\n isStoreDefaultLoading = this.authService.currentUserValue.configuration.storeAsDefaultLoading;\n\n constructor(\n private router: Router, public dialogRef: MatDialogRef, private warehouseService: WarehouseService, private authService: AuthService,\n private timeSlotService: TimeSlotService, private alert: AlertService, private orderService: OrderService, private deviceDetectorService: DeviceDetectorService,\n @Inject(MAT_DIALOG_DATA) public data: TransportToCreate) { }\n\n ngOnInit() {\n this.warehouseService.getConfiguration().subscribe(configuration => {\n this.configuration = configuration;\n this.minDate.setValue(moment().add(1, 'days'));\n this.maxDate.setValue(moment().add(configuration.basketPeriodInDays, 'days'));\n });\n this.timeSlotService.findTimeSlots().subscribe(res => {\n this.timeSlots = res;\n });\n }\n\n minDateChange() {\n if (this.minDate.value.isAfter(this.maxDate.value)) {\n this.maxDate.setValue(moment(this.minDate.value).add(this.configuration.basketPeriodInDays -1, 'days'));\n }\n }\n\n maxDateChange() {\n if (this.maxDate.value.isBefore(this.minDate.value)) {\n this.minDate.setValue(this.maxDate.value);\n }\n }\n\n confirmDate() {\n this.data.transport.openDate = this.minDate.value.format('YYYY-MM-DD');\n this.data.transport.dueDate = this.maxDate.value.format('YYYY-MM-DD');\n\n if ( this.data.transport.orderType && this.data.transport.orderType.timeSlotStart && this.data.transport.orderType.timeSlotEnd ) {\n const transiantTimeSlot = new TimeSlot();\n transiantTimeSlot.from = this.data.transport.orderType.timeSlotStart;\n transiantTimeSlot.to = this.data.transport.orderType.timeSlotEnd;\n this.selectedTimeSlot = transiantTimeSlot;\n this.currentStep = CONFIRM_INFORMATION;\n\n } else {\n this.currentStep = CONFIRM_TIMESLOT;\n }\n }\n\n chooseTimeSlot(timeSlot: TimeSlot) {\n this.timeSlots.forEach(t => t.selected = false);\n this.timeSlots.find(t => t.id === timeSlot.id).selected = true;\n this.selectedTimeSlot = timeSlot;\n }\n\n confirmTimeSlot() {\n this.data.transport.customerTimeSlot = this.selectedTimeSlot;\n this.currentStep = CONFIRM_INFORMATION;\n }\n\n saveTransport() {\n this.saveTransportSubscription = this.orderService.createOrder(this.data.transport).subscribe(res => {\n const location = res.headers.get('Location');\n const id = location.substring(location.lastIndexOf('/') + 1);\n this.alert.info('orders.save-to-basket.success');\n this.dialogRef.close(true);\n this.router.navigate(['/transport']);\n }, err => {\n this.alert.error(err);\n });\n }\n\n timeSlotSelected(selected: MatSelectChange) {\n console.log(selected);\n this.selectedTimeSlot = this.timeSlots.find(t => t.id === Number(selected.value));\n }\n\n ngOnDestroy(): void {\n if (this.saveTransportSubscription) {\n this.saveTransportSubscription.unsubscribe();\n }\n }\n}\n","

{{'orders.book-transport' | translate }}

\n\n\n\n \n
\n
\n calendar_today\n {{'orders.save-to-basket.choose-period' | translate}}\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n
\n
\n schedule\n {{'orders.save-to-basket.choose-time-slot' | translate:{\"from\" : minDate.value.format('DD/MM/YYYY'), \"to\": maxDate.value.format('DD/MM/YYYY')} }}\n
\n\n
\n \n
\n {{timeSlot.from | slice:0:5}} - {{timeSlot.to | slice:0:5}}\n
\n
\n
\n\n
\n \n \n \n {{timeSlot.from | slice:0:5}} - {{timeSlot.to | slice:0:5}}\n \n \n \n
\n\n
\n\n
\n\n \n

{{data.transport.customer.lastName}}\n {{data.transport.customer.firstName}}

\n

{{data.transport.customer.address}}

\n
\n\n \n

{{data.transport.shop.name}}

\n

{{data.transport.shop.address}}

\n
\n\n
\n
\n calendar_today{{ 'common.from' | translate }}\n {{minDate.value.format('DD/MM/YYYY')}} {{ 'common.to' | translate }}\n {{maxDate.value.format('DD/MM/YYYY')}}\n
\n
\n schedule{{selectedTimeSlot.from | slice:0:5}} -\n {{selectedTimeSlot.to | slice:0:5}}\n
\n
\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertService } from 'src/app/shared/utils/alert.service';\nimport { OrderService } from 'src/app/shared/orders/orders.service';\nimport { CreateTransport, InsertionStatus, ScoreOrderValidation } from 'src/app/shared/orders/base-order.model';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport * as _moment from 'moment';\nimport { Router } from '@angular/router';\nimport { DATE_FORMATS } from 'src/app/app.component';\nimport { WarehouseService } from 'src/app/shared/warehouse/warehouse.service';\nimport { Configuration } from 'src/app/shared/warehouse/configuration.model';\nimport { Subscription } from 'rxjs';\nconst moment = _moment;\n\nexport type Step = 'CHOOSE_SCORE' | 'SCORING_IN_PROGRESS';\nexport const CHOOSE_SCORE: Step = 'CHOOSE_SCORE';\nexport const SCORING_IN_PROGRESS: Step = 'SCORING_IN_PROGRESS';\n\nexport interface TransportToCreate {\n transport: CreateTransport;\n}\n\n@Component({\n selector: 'app-score-and-save',\n templateUrl: './score-and-save.component.html',\n styleUrls: ['./score-and-save.component.scss'],\n providers: [\n // The locale would typically be provided on the root module of your application. We do it at\n // the component level here, due to limitations of our example generation script.\n { provide: MAT_DATE_LOCALE, useValue: 'fr' },\n\n // `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing\n // `MatMomentDateModule` in your applications root module. We provide it at the component level\n // here, due to limitations of our example generation script.\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: DATE_FORMATS }\n ]\n})\nexport class ScoreAndSaveComponent implements OnInit, OnDestroy {\n objectKeys = Object.keys;\n\n from = moment().add(1, 'days');\n to = moment().add(3, 'days');\n page = 0;\n\n currentStep: Step = SCORING_IN_PROGRESS;\n\n scores: {[date: string]: InsertionStatus[]} = {};\n scoresKey = [];\n selectedScore: InsertionStatus;\n\n uniqueOrderScoreIdentifier: string;\n countdownConfig = {};\n\n configuration: Configuration;\n saveTransportSubscription: Subscription;\n\n constructor(\n private router: Router, public dialogRef: MatDialogRef, private alert: AlertService,\n private orderService: OrderService, @Inject(MAT_DIALOG_DATA) public data: TransportToCreate,\n private warehouseService: WarehouseService) { }\n\n ngOnInit() {\n this.warehouseService.getConfiguration().subscribe(configuration => {\n this.configuration = configuration;\n this.from = moment().add(configuration.scoringBeginDay, 'days');\n this.to = moment().add( ( configuration.scoringBeginDay + configuration.scoringNbDayToScore - 1), 'days');\n this.score();\n });\n\n }\n\n score() {\n this.currentStep = SCORING_IN_PROGRESS;\n const unorderedScore = {};\n for (let i = 0; i < this.configuration.scoringNbDayToScore; i++) {\n const shift = (this.page * this.configuration.scoringNbDayToScore) + i;\n const date = moment().add( this.configuration.scoringBeginDay + shift, 'days');\n unorderedScore[date.locale('fr').format('ll')] = [];\n }\n this.orderService.scoreOrder(this.data.transport, this.from.format('YYYY-MM-DD'), this.to.format('YYYY-MM-DD')).subscribe(res => {\n this.uniqueOrderScoreIdentifier = res.uniqueOrderScoreIdentifier;\n const countdownConfig = {template: '$!m!:$!s!', stopTime: res.timeoutTimestamp };\n this.countdownConfig = countdownConfig;\n\n res.status.forEach(score => {\n if (! score.reason) {\n const scoreDate = moment(score.date).locale('fr').format('ll');\n unorderedScore[scoreDate].push(score);\n }\n });\n const orderedKey = {};\n Object.keys(unorderedScore).sort((a, b) => {\n if (moment(a, 'll').isBefore(moment(b, 'll')) ) {\n return -1;\n } else if (moment(a, 'll').isAfter(moment(b, 'll')) ) {\n return 1;\n } else {\n return 0;\n }\n }).forEach(key => {\n orderedKey[key] = unorderedScore[key];\n orderedKey[key].sort((a, b) => {\n if (a.timeSlot.from === b.timeSlot.from) {\n return a.timeSlot.to.localeCompare(b.timeSlot.to);\n } else {\n return a.timeSlot.from.localeCompare(b.timeSlot.from);\n }\n });\n });\n this.scores = orderedKey;\n this.scoresKey = Object.keys(this.scores);\n this.currentStep = CHOOSE_SCORE;\n });\n }\n\n nextPage() {\n this.page = this.page + 1;\n this.from = moment().add(this.configuration.scoringBeginDay + (this.page * this.configuration.scoringNbDayToScore), 'days');\n this.to = moment().add((this.configuration.scoringBeginDay + this.configuration.scoringNbDayToScore) + (this.page * this.configuration.scoringNbDayToScore) - 1, 'days');\n if (this.uniqueOrderScoreIdentifier) {\n this.orderService.cancelScoreOrder(this.uniqueOrderScoreIdentifier).subscribe();\n }\n this.selectedScore = undefined;\n this.score();\n }\n\n previousPage() {\n if (this.page > 0) {\n this.page = this.page - 1;\n this.from = moment().add(this.configuration.scoringBeginDay + (this.page * this.configuration.scoringNbDayToScore), 'days');\n this.to = moment().add((this.configuration.scoringBeginDay + this.configuration.scoringNbDayToScore) + (this.page * this.configuration.scoringNbDayToScore) - 1, 'days');\n if (this.uniqueOrderScoreIdentifier) {\n this.orderService.cancelScoreOrder(this.uniqueOrderScoreIdentifier).subscribe();\n }\n this.selectedScore = undefined;\n this.score();\n }\n }\n\n selectScore(score: InsertionStatus) {\n Object.keys(this.scores).forEach(key => {\n this.scores[key].forEach(val => val.selected = false);\n });\n this.selectedScore = score;\n this.selectedScore.selected = true;\n }\n\n saveTransport() {\n const validation = new ScoreOrderValidation();\n validation.uniqueOrderScoreIdentifier = this.uniqueOrderScoreIdentifier;\n validation.date = this.selectedScore.date;\n validation.timeSlot = this.selectedScore.timeSlot;\n\n this.saveTransportSubscription = this.orderService.validateScoreOrder(validation).subscribe(res => {\n this.alert.info('orders.save-to-basket.success');\n this.dialogRef.close(true);\n this.router.navigate(['/customers/' + this.data.transport.customerId]);\n });\n }\n\n discardScoreOrder() {\n if (this.uniqueOrderScoreIdentifier) {\n this.orderService.cancelScoreOrder(this.uniqueOrderScoreIdentifier).subscribe(res => {\n this.score();\n },\n err => {\n this.alert.error(err);\n });\n\n }\n }\n\n close() {\n if (this.uniqueOrderScoreIdentifier) {\n this.orderService.cancelScoreOrder(this.uniqueOrderScoreIdentifier).subscribe(res => {\n this.dialogRef.close();\n }, err => {\n this.alert.error(err);\n this.dialogRef.close();\n });\n } else {\n this.dialogRef.close();\n }\n }\n\n ngOnDestroy(): void {\n if (this.saveTransportSubscription) {\n this.saveTransportSubscription.unsubscribe();\n }\n }\n\n}\n","

{{'orders.book-transport' | translate }}

\n\n\n\n \n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n \n
\n calendar_today\n
\n {{'orders.score-and-save.choose-time-slot' | translate}}\n
\n
\n
\n
\n
\n {{'orders.score-and-save.timeout' | translate}}\n \n {{'orders.score-and-save.seconds' | translate}}\n
\n
\n
\n
\n arrow_back_ios\n
\n \n
\n
\n
\n {{key}}\n
\n \n
\n {{score.timeSlot.from | slice:0:5}} - {{score.timeSlot.to | slice:0:5}}\n
\n
\n
\n {{'orders.score-and-save.no-availabilities' | translate}}\n
\n
\n
\n
\n
\n arrow_forward_ios\n
\n
\n
\n\n\n\n
\n\n
\n\n \n\n \n\n\n","import { CustomDisplayService } from \"./../../../shared/utils/custom-display.service\";\nimport { Component, OnInit } from \"@angular/core\";\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { CreateTransport } from \"../../../shared/orders/base-order.model\";\nimport { WarehouseView } from \"../../../shared/warehouse/warehouse.model\";\nimport { CustomersService } from \"../../../shared/customers/customers.service\";\nimport { WarehouseService } from \"../../../shared/warehouse/warehouse.service\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\nimport { debounceTime, finalize, switchMap, tap } from \"rxjs/operators\";\nimport { CustomerView } from \"../../../shared/customers/customer.model\";\nimport * as moment from \"moment\";\nimport { OrderType } from \"../../../shared/resources/order-type.service\";\nimport { Skill } from \"../../../shared/resources/skill.service\";\nimport {\n CapacityType,\n Capacity,\n} from \"../../../shared/resources/capacity-type.service\";\nimport { TimeSlot } from \"../../../shared/resources/time-slot.service\";\nimport { ResourcesService } from \"../../../shared/resources/resources.service\";\nimport { DELIVERY, PICKUP } from \"../../../shared/orders/light-order.model\";\nimport { MatDialogConfig, MatDialog } from \"@angular/material/dialog\";\nimport { MatSelectChange } from \"@angular/material/select\";\nimport { SaveToBasketComponent } from \"./save-to-basket/save-to-basket.component\";\nimport { CustomersAddEditComponent } from \"../../customers/customers-add-edit/customers-add-edit.component\";\nimport { AlertService } from \"../../../shared/utils/alert.service\";\nimport {\n CustomField,\n CustomFieldsService,\n CustomFieldType,\n} from \"../../../shared/resources/custom-fields.service\";\nimport { BUCKET, SCORING } from \"../../../shared/warehouse/configuration.model\";\nimport { ScoreAndSaveComponent } from \"./score-and-save/score-and-save.component\";\nimport { DisplayField } from \"../../../shared/warehouse/configuration.model\";\nimport { RequiredOrderTypeValidator } from \"../../../shared/utils/required-order-type.validator\";\nimport { AuthService } from \"../../../shared/auth/auth.service\";\nimport { Item, ItemType, ItemTypeService } from \"../../../shared/resources/item-types.service\";\nimport { AddItemComponent } from \"../add-item/add-item.component\";\n\nenum PossibleState {\n DONE = \"DONE\",\n CREATED = \"CREATED\",\n PLANNED = \"PLANNED\",\n CANCELED = \"CANCELED\",\n}\n\n@Component({\n selector: \"app-transport-add-edit\",\n templateUrl: \"./transport-add-edit.component.html\",\n styleUrls: [\"./transport-add-edit.component.scss\"],\n})\nexport class TransportAddEditComponent implements OnInit {\n orderFormGroup: UntypedFormGroup;\n createTransport: CreateTransport;\n\n isPageLoading = true;\n searching = false;\n isDone = false;\n displayOrderPanel = false;\n isStoreAsDefaultLoading = this.authService.isStoreAsDefaultLoading();\n isItemsEnable = this.authService.isItemsEnable();\n\n currentDate = moment(new Date());\n warehouses: WarehouseView[] = [];\n customers: CustomerView[];\n itemTypes: ItemType[];\n selectedCustomer: CustomerView;\n selectedWarehouse: WarehouseView;\n\n orderTypes: OrderType[];\n skills: Skill[];\n capacityTypes: CapacityType[];\n timeSlots: TimeSlot[];\n orderFields: CustomField[];\n\n capacities: Capacity[] = [];\n CustomFieldType = CustomFieldType;\n\n items: Item[] = [];\n\n public DisplayField = DisplayField;\n\n constructor(\n private customerService: CustomersService,\n private warehouseService: WarehouseService,\n private authService: AuthService,\n private dialog: MatDialog,\n private router: Router,\n private formBuilder: UntypedFormBuilder,\n private resourcesService: ResourcesService,\n private alert: AlertService,\n private activatedRoute: ActivatedRoute,\n private customFieldsService: CustomFieldsService,\n private customDisplayService: CustomDisplayService,\n private itemTypeService: ItemTypeService\n ) {}\n\n ngOnInit() {\n this.createTransport = new CreateTransport();\n this.createTransport.serviceType = DELIVERY;\n\n this.buildForms();\n this.setupCustomerSearch();\n this.setupWarehouseSearch();\n this.setupOnChangeOrderType();\n this.setupItemSearch();\n\n this.activatedRoute.queryParams.subscribe((params) => {\n const customerId = params[\"c\"];\n if (customerId) {\n this.preFillCustomerSelectField(customerId);\n }\n });\n this.resourcesService.getAllResources().subscribe((results) => {\n this.orderTypes = results[0];\n this.skills = results[1];\n this.capacityTypes = results[2];\n this.timeSlots = results[3];\n const customFieldsCategories = results[4];\n this.orderFields = [];\n customFieldsCategories.forEach((category) => {\n this.orderFields.push(...category.customFields);\n });\n\n if (this.hasDefaultValue(DisplayField.ORDER_TYPE)) {\n this.orderFormGroup\n .get(\"orderTypeId\")\n .setValue(this.getDefaultValue(DisplayField.ORDER_TYPE));\n this.applyOrderType(\n Number(this.getDefaultValue(DisplayField.ORDER_TYPE))\n );\n }\n\n this.addCapacityFields();\n this.addCustomFields();\n this.isPageLoading = false;\n });\n }\n\n private getDefaultValue(field: DisplayField): string {\n return this.customDisplayService.getDefaultValue(field);\n }\n\n private preFillCustomerSelectField(customerId: number) {\n this.customerService.findCustomer(customerId).subscribe((res) => {\n this.orderFormGroup.get(\"customer\").enable();\n this.orderFormGroup.get(\"customer\").setValue(res);\n });\n }\n\n private addCustomFields() {\n this.orderFields.forEach((orderField) => {\n const control = new UntypedFormControl(\"\");\n this.orderFormGroup.addControl(\"field\" + orderField.id, control);\n });\n this.createTransport.fields = [];\n }\n\n onChangeStringOrderField(orderField: CustomField, event): void {\n this.customFieldsService.onChangeOrderField(\n this.createTransport,\n orderField,\n event.target.value\n );\n }\n\n onChangeDateOrderField(orderField: CustomField, event): void {\n this.customFieldsService.onChangeOrderField(\n this.createTransport,\n orderField,\n event.target.value.toDate()\n );\n }\n\n onChangeBooleanOrderField(orderField: CustomField, event): void {\n this.customFieldsService.onChangeBooleanOrderField(\n this.createTransport,\n orderField,\n event.checked\n );\n }\n\n onChangeSelectOrderField(\n orderField: CustomField,\n event: MatSelectChange\n ): void {\n this.customFieldsService.onChangeOrderField(\n this.createTransport,\n orderField,\n event.value\n );\n }\n\n private addCapacityFields() {\n this.capacityTypes.forEach((capacityType) => {\n const control = new UntypedFormControl(\"\");\n control.valueChanges.subscribe((x) => {\n if (!isNaN(x) && x !== \"\") {\n if (\n this.capacities.findIndex(\n (c) => c.capacityTypeId === capacityType.id\n ) !== -1\n ) {\n this.capacities.find(\n (c) => c.capacityTypeId === capacityType.id\n ).value = x;\n } else {\n const capacity = new Capacity();\n capacity.capacityTypeId = capacityType.id;\n capacity.value = x;\n this.capacities.push(capacity);\n }\n } else {\n const index = this.capacities.findIndex(\n (c) => c.capacityTypeId === capacityType.id\n );\n if (index > -1) {\n this.capacities.splice(index, 1);\n }\n }\n });\n this.orderFormGroup.addControl(\"cap\" + capacityType.id, control);\n if (capacityType.defaultValue) {\n this.orderFormGroup.controls[\"cap\" + capacityType.id].setValue(capacityType.defaultValue);\n }\n });\n }\n\n private buildForms() {\n this.orderFormGroup = this.formBuilder.group({\n shop: new UntypedFormControl(),\n shopAddress: new UntypedFormControl({ value: \"\", disabled: true }),\n warehouseTimeSlotId: new UntypedFormControl({ value: \"\" }),\n warehouseDuration: new UntypedFormControl({ value: \"\" }),\n\n customer: new UntypedFormControl({ disabled: true }),\n\n customerAddress: new UntypedFormControl({ value: \"\", disabled: true }),\n customerMobilePhone: new UntypedFormControl({ value: \"\", disabled: true }),\n customerMail: new UntypedFormControl({ value: \"\", disabled: true }),\n customerDuration: new UntypedFormControl(),\n customerComment: new UntypedFormControl({ value: \"\", disabled: true }),\n\n comment: new UntypedFormControl(\"\", Validators.maxLength(1000)),\n skillId: new UntypedFormControl(\"-1\"),\n orderTypeId: new UntypedFormControl(\n \"-1\",\n this.isRequired(DisplayField.ORDER_TYPE)\n ? [RequiredOrderTypeValidator]\n : null\n ),\n itemType: new UntypedFormControl({ disabled: true }),\n\n });\n\n if (this.hasDefaultValue(DisplayField.CUSTOMER_DELIVERY_DURATION)) {\n this.orderFormGroup\n .get(\"customerDuration\")\n .setValue(\n Number(this.getDefaultValue(DisplayField.CUSTOMER_DELIVERY_DURATION))\n );\n } else {\n this.orderFormGroup.get(\"customerDuration\").setValue(10);\n }\n }\n\n goBack() {\n if (this.router.url.indexOf(\"reports\") > 0) {\n this.router.navigate([\"/reports\"]);\n } else if (this.router.url.indexOf(\"transport\") > 0) {\n this.router.navigate([\"/transport\"]);\n } else if (this.router.url.indexOf(\"customers\") > 0) {\n this.router.navigate([\"/customers\"]);\n }\n }\n\n displayFn(customer: CustomerView) {\n if (customer && customer.customerId) {\n return (\n customer.lastName +\n \" \" +\n (customer.firstName !== null ? customer.firstName : \"\")\n );\n }\n }\n\n displayItemTypeFn(item: ItemType) {\n if (item && item.id) {\n return item.label + \" (\" + item.reference + \")\";\n }\n }\n\n\n warehouseDisplayFn(warehouse: WarehouseView) {\n if (warehouse && warehouse.warehouseId) {\n return warehouse.name;\n }\n }\n\n fillFormCustomer(customer: CustomerView) {\n this.orderFormGroup\n .get(\"customerMobilePhone\")\n .setValue(customer.mobileNumber);\n this.orderFormGroup.get(\"customerMail\").setValue(customer.email);\n this.orderFormGroup.get(\"customerAddress\").setValue(customer.address);\n this.orderFormGroup.get(\"customerComment\").setValue(customer.comments);\n }\n\n fillFormShop(warehouse: WarehouseView) {\n this.orderFormGroup.get(\"shopAddress\").setValue(warehouse.address);\n if (this.createTransport.serviceType === DELIVERY) {\n this.orderFormGroup\n .get(\"warehouseTimeSlotId\")\n .setValue(String(warehouse.defaultLoadingTimeSlotId));\n this.orderFormGroup\n .get(\"warehouseDuration\")\n .setValue(warehouse.defaultLoadingTime);\n } else {\n this.orderFormGroup\n .get(\"warehouseTimeSlotId\")\n .setValue(String(warehouse.defaultUnLoadingTimeSlotId));\n this.orderFormGroup\n .get(\"warehouseDuration\")\n .setValue(warehouse.defaultUnloadingTime);\n }\n }\n\n clickOnAddOrder() {\n this.displayOrderPanel = true;\n }\n\n private applyOrderType(orderTypeSelected: number) {\n if (Number(orderTypeSelected) === -1) {\n this.orderFormGroup.get(\"customerDuration\").enable();\n this.orderFormGroup.get(\"skillId\").enable();\n } else {\n const orderType = this.orderTypes.find(\n (s) => s.id === Number(orderTypeSelected)\n );\n this.orderFormGroup.get(\"customerDuration\").disable();\n this.orderFormGroup.get(\"customerDuration\").setValue(orderType.duration);\n this.orderFormGroup.get(\"skillId\").disable();\n if (orderType.skill) {\n this.orderFormGroup.get(\"skillId\").setValue(String(orderType.skill.id));\n }\n }\n }\n\n private setupOnChangeOrderType() {\n this.orderFormGroup\n .get(\"orderTypeId\")\n .valueChanges.subscribe((orderTypeSelected) => {\n this.applyOrderType(Number(orderTypeSelected));\n });\n }\n\n private setupCustomerSearch() {\n this.orderFormGroup\n .get(\"customer\")\n .valueChanges.pipe(\n debounceTime(300),\n tap(() => (this.searching = true)),\n switchMap((value) =>\n this.customerService\n .findAllCustomers(0, 20, value)\n .pipe(finalize(() => (this.searching = false)))\n )\n )\n .subscribe((results) => (this.customers = results.elements));\n\n this.orderFormGroup\n .get(\"customer\")\n .valueChanges.subscribe((val: CustomerView) => {\n this.selectedCustomer = val.customerId ? val : null;\n if (val.customerId) {\n this.displayOrderPanel = false;\n this.fillFormCustomer(this.selectedCustomer);\n }\n });\n }\n\n private setupItemSearch() {\n this.orderFormGroup\n .get(\"itemType\")\n .valueChanges.pipe(\n debounceTime(300),\n tap(() => (this.searching = true)),\n switchMap((value) =>\n this.itemTypeService\n .findAllItemTypes(1, 20, value)\n .pipe(finalize(() => (this.searching = false)))\n )\n )\n .subscribe((results) => (this.itemTypes = results.elements));\n\n this.orderFormGroup\n .get(\"itemType\")\n .valueChanges.subscribe((val: ItemType) => {\n if (val != null && val.id) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(AddItemComponent, dialogConfig);\n dialogRef.componentInstance.itemType = val;\n dialogRef.afterClosed().subscribe(quantity => {\n if (quantity) {\n const item = new Item();\n item.quantity = quantity;\n item.itemType = val;\n\n this.items.push(item);\n }\n this.orderFormGroup.get(\"itemType\").setValue(null);\n });\n }\n });\n }\n\n private setupWarehouseSearch() {\n this.warehouseService\n .findWarehouses(0, 10000)\n .subscribe((warehousesRes) => {\n this.warehouses = warehousesRes.elements;\n if (this.warehouses.length === 1) {\n this.searching = false;\n this.selectedWarehouse = this.warehouses[0];\n this.orderFormGroup.get(\"shop\").setValue(this.selectedWarehouse);\n }\n });\n\n this.orderFormGroup.get(\"shop\").valueChanges.pipe(\n debounceTime(300),\n tap(() => (this.searching = true)),\n switchMap((value) =>\n this.warehouses.filter((w) => w.name.indexOf(value) > 0)\n ),\n finalize(() => (this.searching = false))\n );\n this.orderFormGroup\n .get(\"shop\")\n .valueChanges.subscribe((val: WarehouseView) => {\n this.selectedWarehouse = val.warehouseId ? val : null;\n if (val.warehouseId) {\n this.displayOrderPanel = false;\n this.fillFormShop(this.selectedWarehouse);\n } else {\n if (this.isStoreAsDefaultLoading) {\n this.selectedCustomer = null;\n this.orderFormGroup.get(\"customer\").setValue(\"\");\n }\n }\n });\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.orderFormGroup.controls[controlName].hasError(errorName);\n };\n\n changeServiceType() {\n if (this.createTransport.serviceType === DELIVERY) {\n this.createTransport.serviceType = PICKUP;\n this.orderFormGroup.get(\"warehouseDuration\").setValue(this.selectedWarehouse.defaultUnloadingTime);\n if (this.hasDefaultValue(DisplayField.CUSTOMER_PICKUP_DURATION)) {\n this.orderFormGroup\n .get(\"customerDuration\")\n .setValue(\n Number(this.getDefaultValue(DisplayField.CUSTOMER_PICKUP_DURATION))\n );\n } else {\n this.orderFormGroup.get(\"customerDuration\").setValue(10);\n }\n } else {\n this.createTransport.serviceType = DELIVERY;\n this.orderFormGroup.get(\"warehouseDuration\").setValue(this.selectedWarehouse.defaultLoadingTime);\n if (this.hasDefaultValue(DisplayField.CUSTOMER_DELIVERY_DURATION)) {\n this.orderFormGroup\n .get(\"customerDuration\")\n .setValue(\n Number(\n this.getDefaultValue(DisplayField.CUSTOMER_DELIVERY_DURATION)\n )\n );\n } else {\n this.orderFormGroup.get(\"customerDuration\").setValue(10);\n }\n }\n }\n\n openCreateCustomerModal() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n const dialogRef = this.dialog.open(CustomersAddEditComponent, dialogConfig);\n\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.preFillCustomerSelectField(result);\n this.alert.info(\"customers.create-success\");\n }\n });\n }\n\n plan(value: CreateTransport) {\n value.serviceType = this.createTransport.serviceType;\n value.fields = this.createTransport.fields;\n value.customerId = value.customer.customerId;\n value.warehouseId = value.shop.warehouseId;\n value.warehouseTimeSlot = this.timeSlots.find(\n (t) => t.id === Number(value.warehouseTimeSlotId)\n );\n\n if (value.skillId === -1) {\n value.skill = undefined;\n } else {\n value.skill = this.skills.find((s) => s.id === Number(value.skillId));\n }\n\n if (value.orderTypeId === -1) {\n value.orderType = undefined;\n } else {\n value.orderType = this.orderTypes.find(\n (s) => s.id === Number(value.orderTypeId)\n );\n }\n\n value.capacities = this.capacities;\n value.items = this.items;\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = { transport: value };\n\n this.warehouseService.getConfiguration().subscribe(\n (configuration) => {\n if (configuration.process === BUCKET) {\n const dialogRef = this.dialog.open(\n SaveToBasketComponent,\n dialogConfig\n );\n dialogRef.afterClosed().subscribe();\n } else if (configuration.process === SCORING) {\n dialogConfig.minWidth = \"600px\";\n const dialogRef = this.dialog.open(\n ScoreAndSaveComponent,\n dialogConfig\n );\n dialogRef.afterClosed().subscribe();\n }\n },\n (err) => {\n this.alert.error(err);\n }\n );\n }\n\n private displayField(displayField: DisplayField) {\n return this.customDisplayService.display(displayField);\n }\n\n private isRequired(displayField: DisplayField) {\n return this.customDisplayService.isRequired(displayField);\n }\n\n private hasDefaultValue(displayField: DisplayField) {\n return this.customDisplayService.hasDefaultValue(displayField);\n }\n}\n","
\n\n
\n \n\n
\n
\n \n
\n
\n\n\n
\n
\n \n \n
\n room\n
\n {{ 'orders.details.loading' | translate }}: {{ 'orders.details.shop.title' | translate }}\n {{ 'orders.details.unloading' | translate }}: {{ 'orders.details.shop.title' | translate }}\n {{ 'orders.details.delivery' | translate }}: {{ 'orders.details.shop.title' | translate }}\n {{ 'orders.details.pickup' | translate }}: {{ 'orders.details.shop.title' | translate }}\n
\n\n \n\n \n
\n \n \n \n \n \n \n \n \n \n {{ warehouse.name }}\n | {{warehouse.address}}\n \n \n \n
\n\n \n
\n \n \n \n
\n\n
\n \n \n \n {{timeslot.from | slice:0:5}} - {{timeslot.to | slice:0:5}}\n \n \n {{'common.error.required' |\n translate}}\n \n \n
\n
\n\n
\n
\n
\n\n
\n swap_horiz\n
\n\n
\n \n \n
\n room\n
\n {{ 'orders.details.delivery' | translate }}: {{ 'orders.details.customer.title' | translate }}\n {{ 'orders.details.pickup' | translate}}: {{ 'orders.details.customer.title' | translate }}\n {{ 'orders.details.loading' | translate }}: {{ 'orders.details.customer.title' | translate }}\n {{ 'orders.details.unloading' | translate}}: {{ 'orders.details.customer.title' | translate }}\n
\n \n \n\n
\n \n \n \n \n \n \n \n \n \n \n {{ customer.firstName }} {{ customer.lastName}}\n | {{customer.address}}\n \n \n\n \n\n \n \n \n \n\n
\n\n \n\n
\n \n \n \n
\n\n
\n \n \n \n \n \n \n
\n\n
\n \n \n \n
\n
\n\n
\n
\n
\n
\n\n \n \n
\n

{{ 'orders.details.add-order-text' | translate }}

\n
\n
\n\n \n
\n
\n \n \n
\n local_shipping\n
\n {{ 'orders.details.title' | translate }}\n
\n \n \n
\n
\n
\n
\n \n \n min\n {{'common.error.required' |\n translate}}\n \n {{'common.error.integer' |\n translate}}\n \n \n \n \n\n min\n {{'common.error.required' |\n translate}}\n \n {{'common.error.integer' |\n translate}}\n \n \n
\n\n
0\">\n\n \n\n \n \n \n \n\n \n \n \n \n \n\n \n \n {{'common.error.integer' |\n translate}}\n \n \n\n
\n \n {{orderField.name}}\n \n
\n\n \n \n {{orderField.name}}\n \n \n \n {{ option }}\n \n \n \n\n
\n
\n\n
\n\n \n \n {{'common.error.maxlength' |\n translate:{\"value\" : \"1000\"} }}\n \n \n
\n
\n\n
\n
0 || orderTypes.length > 0\">\n
0 && displayField(DisplayField.ORDER_TYPE)\">\n \n {{'orders.details.order-type' | translate}} *\n \n {{'orders.details.no-order-type' | translate}}\n {{orderType.name}}\n \n \n {{'common.error.required' |\n translate}}\n \n \n
\n
0\">\n \n {{'orders.details.skill' | translate}}\n \n {{'orders.details.no-skill' | translate}}\n {{skill.name}}\n \n \n \n
\n
\n\n
\n \n
\n \n {{capacityType.name}}\n \n {{capacityType.unit}}\n {{'common.error.required' |\n translate}}\n \n {{'common.error.integer' |\n translate}}\n \n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n \n
\n
\n \n \n
\n list\n
\n Articles\n
\n \n \n
\n \n
\n {{item.quantity}} x {{item.itemType.label}} ({{item.itemType.reference}})\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n {{ itemType.label }} ({{ itemType.reference}})\n \n \n \n
\n
\n
\n
\n
\n
\n\n\n\n
\n
\n \n
\n
\n\n
\n\n \n \n \n
\n
\n","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\nimport { OrderService } from '../../shared/orders/orders.service';\nimport { LightOrder, PLANNED, UNASSIGNED, CONFIRMED } from '../../shared/orders/light-order.model';\nimport { merge, of as observableOf} from 'rxjs';\nimport { catchError, map, startWith, switchMap } from 'rxjs/operators';\nimport { UntypedFormControl } from '@angular/forms';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\n\nimport * as _moment from 'moment';\nimport { OrderUtilsService } from '../../shared/utils/order-utils.service';\nimport { Router } from '@angular/router';\nimport { DATE_FORMATS } from '../../app.component';\nimport { WarehouseService } from '../../shared/warehouse/warehouse.service';\nimport { State, PENDING, CREATED, DONE, CANCELED } from '../../shared/orders/light-order.model';\nimport { WarehouseView } from '../../shared/warehouse/warehouse.model';\nimport {\n ConfigurationTableModalComponent,\n ConfigurationTable } from '../../shared/configuration-table-modal/configuration-table-modal.component';\nimport { TableService, TRANSPORT_TABLE } from '../../shared/configuration-table-modal/table.service';\nimport { CustomFieldsService, CustomField } from '../../shared/resources/custom-fields.service';\nimport { PdfService } from '../../shared/pdf/pdf.service';\nimport { FullOrderView } from '../../shared/orders/base-order.model';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nconst moment = _moment;\n\nexport type FilterState = 'FILTER_CREATED' | 'FILTER_PLANNED' | 'FILTER_PROGRESS' | 'FILTER_DONE' | 'FILTER_CANCELED' | 'FILTER_CONFIRMED';\nexport const FILTER_CREATED: FilterState = 'FILTER_CREATED';\nexport const FILTER_PLANNED: FilterState = 'FILTER_PLANNED';\nexport const FILTER_PROGRESS: FilterState = 'FILTER_PROGRESS';\nexport const FILTER_DONE: FilterState = 'FILTER_DONE';\nexport const FILTER_CANCELED: FilterState = 'FILTER_CANCELED';\nexport const FILTER_CONFIRMED: FilterState = 'FILTER_CONFIRMED';\n\n\n@Component({\n selector: 'app-home',\n templateUrl: './transport.component.html',\n styleUrls: ['./transport.component.scss'],\n providers: [\n // The locale would typically be provided on the root module of your application. We do it at\n // the component level here, due to limitations of our example generation script.\n { provide: MAT_DATE_LOCALE, useValue: 'fr' },\n\n // `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing\n // `MatMomentDateModule` in your applications root module. We provide it at the component level\n // here, due to limitations of our example generation script.\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: DATE_FORMATS }\n ]\n})\n\nexport class TransportComponent implements OnInit, AfterViewInit {\n displayedColumns = this.deviceDetectorService.isMobile() ? ['status', 'details'] : ['status', 'date', 'pickup', 'pickup-time', 'delivery', 'delivery-time', 'actions'];\n data: MatTableDataSource = new MatTableDataSource();\n resultsLength = 0;\n isLoadingResults = true;\n\n @ViewChild('title', {read: ElementRef}) tableHtmlRef: ElementRef;\n @ViewChild(MatTable) table: MatTable;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n minDate = new UntypedFormControl(moment().subtract(15, 'days'));\n maxDate = new UntypedFormControl(moment().add(15, 'days'));\n warehouses = new UntypedFormControl();\n states = new UntypedFormControl();\n warehouseList: Array = [];\n stateList: Array = [];\n\n customFields: Array = [];\n\n constructor(\n private ordersService: OrderService, public dialog: MatDialog,\n private orderUtils: OrderUtilsService, private router: Router, private warehouseService: WarehouseService,\n private tableService: TableService, private customFieldService: CustomFieldsService, private pdfService: PdfService,\n private deviceDetectorService: DeviceDetectorService) {\n }\n\n ngOnInit() {\n this.customFieldService.findCustomFields().subscribe(categories => {\n this.customFields = [];\n categories.forEach(category => {\n this.customFields.push(...category.customFields);\n });\n if (! this.deviceDetectorService.isMobile()) {\n this.displayedColumns = this.tableService.getTransportHeadersTables(TRANSPORT_TABLE, this.customFields).selected;\n }\n });\n this.isLoadingResults = true;\n this.getAllStates();\n this.warehouseService.findWarehouses(0, 10000).subscribe((res) => {\n this.warehouseList = res.elements;\n this.warehouses.setValue(this.warehouseList.map(w => w.warehouseId));\n });\n }\n\n ngAfterViewInit() {\n merge(this.paginator.page)\n .pipe(\n startWith({}),\n switchMap(() => {\n this.isLoadingResults = true;\n const states = this.getSelectedStates();\n return this.ordersService.findAllLightOrdersByState(\n this.paginator.pageIndex, this.paginator.pageSize,\n this.getDate(this.minDate), this.getDate(this.maxDate), states, this.warehouses.value);\n }),\n map(data => {\n // Flip flag to show that loading has finished.\n this.isLoadingResults = false;\n this.resultsLength = data.totalElements;\n\n return data.elements;\n }),\n catchError(() => {\n this.isLoadingResults = false;\n return observableOf([]);\n })\n ).subscribe(data => {\n this.data.data = data;\n this.scrollToTop();\n });\n }\n\n getDate(control: UntypedFormControl): string {\n if (!control.value || control.value === '') {\n return null;\n } else {\n return control.value.format('YYYY-MM-DD');\n }\n }\n\n minDateChange() {\n if (this.minDate.value.isAfter(this.maxDate.value)) {\n this.maxDate.setValue(this.minDate.value);\n }\n this.paginator.firstPage();\n this.updateData();\n }\n\n maxDateChange() {\n if (this.maxDate.value.isBefore(this.minDate.value)) {\n this.minDate.setValue(this.maxDate.value);\n }\n this.paginator.firstPage();\n this.updateData();\n }\n\n public warehouseChange(): void {\n this.paginator.firstPage();\n this.updateData();\n }\n\n public stateChange(event: MatSelectChange): void {\n this.paginator.firstPage();\n this.applyStateOnDateField(this.states.value);\n this.updateData();\n }\n\n private applyStateOnDateField(state: FilterState[]) {\n if (state && state.findIndex(s => s === FILTER_CREATED) != -1) {\n this.minDate.disable();\n this.maxDate.disable();\n this.minDate.setValue('');\n this.maxDate.setValue('');\n }\n if (state && state.findIndex(s => s === FILTER_PROGRESS) != -1) {\n this.minDate.setValue(moment());\n this.maxDate.setValue(moment());\n if (state.length == 1) {\n this.minDate.disable();\n this.maxDate.disable();\n }\n }\n if (state && state.findIndex( state => (state === FILTER_PLANNED || state === FILTER_CONFIRMED)) != -1) {\n if (state.length == 1) {\n this.minDate.setValue(moment());\n }\n\n this.maxDate.setValue(moment().add(15, 'days'));\n this.minDate.enable();\n this.maxDate.enable();\n }\n if (state && state.findIndex( state => ( state === FILTER_DONE || state === FILTER_CANCELED)) != -1) {\n this.minDate.setValue(moment().subtract(15, 'days'));\n if (state.length == 1) {\n this.maxDate.setValue(moment());\n }\n this.minDate.enable();\n this.maxDate.enable();\n }\n }\n\n private updateData() {\n const states = this.getSelectedStates();\n this.ordersService.findAllLightOrdersByState(\n this.paginator.pageIndex, this.paginator.pageSize,\n this.getDate(this.minDate), this.getDate(this.maxDate), states, this.warehouses.value).subscribe(res => {\n this.data.data = res.elements;\n this.resultsLength = res.totalElements;\n this.scrollToTop();\n });\n }\n\n getStateClass(order: LightOrder): string {\n return this.orderUtils.getStateClass(order);\n }\n\n getStateTooltip(order: LightOrder): string {\n return this.orderUtils.getStateTooltip(order);\n }\n\n goToDetails(order: any) {\n this.router.navigate([this.router.url + '/' + order.orderId]);\n }\n\n getFieldValue(lightOrder: LightOrder, field: CustomField): string {\n if (lightOrder.fields.findIndex(f => f.field.id === field.id) !== -1) {\n return lightOrder.fields.find(f => f.field.id === field.id).value;\n }\n return '';\n }\n\n goToCreate() {\n this.router.navigate(['/transport-add']);\n }\n\n configureTable() {\n const configureTable = new ConfigurationTable();\n configureTable.tableType = TRANSPORT_TABLE;\n configureTable.columns = this.tableService.getTransportHeadersTables(TRANSPORT_TABLE, this.customFields);\n const dialogRef = this.dialog.open(ConfigurationTableModalComponent, {\n width: '350px',\n disableClose: true,\n data: configureTable\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.displayedColumns = result;\n }\n });\n }\n\n private getAllStates(): void {\n this.stateList = [FILTER_CREATED, FILTER_PLANNED, FILTER_CONFIRMED, FILTER_PROGRESS, FILTER_DONE, FILTER_CANCELED];\n this.states.setValue([FILTER_PROGRESS]);\n this.applyStateOnDateField([FILTER_PROGRESS]);\n }\n\n private getSelectedStates(): Array {\n const states: State[] = [];\n if (this.states.value.findIndex( s => s === FILTER_CREATED) != -1 ) {\n states.push(CREATED);\n }\n if (this.states.value.findIndex( s => s === FILTER_PLANNED || s === FILTER_PROGRESS) != -1 ) {\n states.push(PLANNED, UNASSIGNED, PENDING, CONFIRMED, PENDING);\n }\n if (this.states.value.findIndex( s => s === FILTER_DONE) != -1 ) {\n states.push(DONE);\n }\n if (this.states.value.findIndex( s => s === FILTER_CANCELED) != -1 ) {\n states.push(CANCELED);\n }\n if (this.states.value.findIndex( s => s === FILTER_CONFIRMED)!= -1 ) {\n states.push(CONFIRMED);\n }\n return states;\n }\n\n scrollToTop() {\n this.tableHtmlRef.nativeElement.scrollIntoView();\n }\n\n public downloadPdf(order: FullOrderView): void {\n this.pdfService.generatePurchaseOrder(order);\n }\n}\n","
\n
\n
\n

{{ 'orders.title' | translate}}

\n
\n
\n \n
\n
\n
\n
\n\n
\n\n\n \n {{ 'common.table.status' | translate}}\n \n {{'orders.filter.' + state | translate}}\n \n \n 1\">\n {{ 'settings.shops.title' | translate}}\n \n {{warehouse.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n\n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
{{ 'common.table.status' | translate | uppercase }}
{{ 'common.table.date' | translate | uppercase }} {{element.scheduledDate | date: 'dd/MM/yyyy'}} {{ 'common.table.details' | translate | uppercase }} \n
\n

Livraison pour: {{element.customer.lastName}} {{element.customer.firstName}}

\n

Date de plannification: {{element.scheduledDate | date: 'dd/MM/yyyy'}}

\n

{{ 'common.table.time-slot' | translate }}: {{element.timeSlot.from | slice:0:5}} - {{element.timeSlot.to | slice:0:5}}

\n
\n
{{ 'common.table.pickup' | translate | uppercase }} \n \n {{ 'common.table.time-slot' | translate | uppercase }} \n {{element.timeSlot.from | slice:0:5}} - {{element.timeSlot.to | slice:0:5}} \n {{element.child.timeSlot.from | slice:0:5}} - {{element.child.timeSlot.to | slice:0:5}} \n \n
{{ 'model.order.terminated-date' | translate }}: {{element.terminatedDate | date: 'HH:mm'}}
\n
{{ 'model.order.terminated-date' | translate }}: {{element.child.terminatedDate | date: 'HH:mm'}}
\n
\n
{{ 'common.table.delivery' | translate | uppercase }} \n \n {{ 'common.table.time-slot' | translate | uppercase }} \n {{element.timeSlot.from | slice:0:5}} - {{element.timeSlot.to | slice:0:5}} \n {{element.child.timeSlot.from | slice:0:5}} - {{element.child.timeSlot.to | slice:0:5}} \n \n
{{ 'model.order.terminated-date' | translate }}: {{element.terminatedDate | date: 'HH:mm'}}\n
{{ 'model.order.terminated-date' | translate }}: {{element.child.terminatedDate | date: 'HH:mm'}} \n
\n
{{ customField.name | uppercase }} \n {{getFieldValue(element, customField)}}\n \n {{ 'common.table.action' | translate | uppercase }}\n \n \n \n \n
\n \n
\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 10860,\n\t\"./en-ca.js\": 10860,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[91]}