ngx-st-sap-installed-instruments 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/base-interfaces.mjs +2 -0
  3. package/esm2020/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.mjs +54 -0
  4. package/esm2020/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.mjs +41 -0
  5. package/esm2020/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.mjs +51 -0
  6. package/esm2020/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.mjs +56 -0
  7. package/esm2020/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.mjs +20 -0
  8. package/esm2020/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.mjs +56 -0
  9. package/esm2020/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.mjs +19 -0
  10. package/esm2020/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.mjs +53 -0
  11. package/esm2020/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.mjs +28 -0
  12. package/esm2020/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.mjs +134 -0
  13. package/esm2020/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.mjs +105 -0
  14. package/esm2020/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.mjs +79 -0
  15. package/esm2020/lib/models/installed-instrument-form.model.mjs +2 -0
  16. package/esm2020/lib/models/installed-instrument-sort-by-column.enum.mjs +15 -0
  17. package/esm2020/lib/models/installed-instrument-sort-order.enum.mjs +6 -0
  18. package/esm2020/lib/models/installed-instrument-table-columns.model.mjs +15 -0
  19. package/esm2020/lib/models/sap-activity.model.mjs +2 -0
  20. package/esm2020/lib/models/sap-attachment.model.mjs +2 -0
  21. package/esm2020/lib/models/sap-call.model.mjs +2 -0
  22. package/esm2020/lib/models/sap-contract.model.mjs +2 -0
  23. package/esm2020/lib/models/sap-country.model.mjs +2 -0
  24. package/esm2020/lib/models/sap-installed-instrument-list.model.mjs +2 -0
  25. package/esm2020/lib/models/sap-installed-instrument-search.model.mjs +2 -0
  26. package/esm2020/lib/models/sap-installed-instrument.model.mjs +2 -0
  27. package/esm2020/lib/models/sap-state.model.mjs +2 -0
  28. package/esm2020/lib/models/sap-territory.model.mjs +2 -0
  29. package/esm2020/lib/models/view-sap-installed-instrument-list.model.mjs +2 -0
  30. package/esm2020/lib/sap-installed-instruments-routing.module.mjs +7 -0
  31. package/esm2020/lib/services/sap-installed-instruments.service.mjs +108 -0
  32. package/esm2020/lib/st-sap-installed-instruments.module.mjs +180 -0
  33. package/esm2020/ngx-st-sap-installed-instruments.mjs +5 -0
  34. package/esm2020/public-api.mjs +34 -0
  35. package/fesm2015/ngx-st-sap-installed-instruments.mjs +920 -0
  36. package/fesm2015/ngx-st-sap-installed-instruments.mjs.map +1 -0
  37. package/fesm2020/ngx-st-sap-installed-instruments.mjs +921 -0
  38. package/fesm2020/ngx-st-sap-installed-instruments.mjs.map +1 -0
  39. package/index.d.ts +5 -0
  40. package/lib/base-interfaces.d.ts +9 -0
  41. package/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.d.ts +19 -0
  42. package/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.d.ts +14 -0
  43. package/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.d.ts +25 -0
  44. package/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.d.ts +21 -0
  45. package/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.d.ts +10 -0
  46. package/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.d.ts +30 -0
  47. package/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.d.ts +10 -0
  48. package/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.d.ts +19 -0
  49. package/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.d.ts +17 -0
  50. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.d.ts +59 -0
  51. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.d.ts +29 -0
  52. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.d.ts +25 -0
  53. package/lib/models/installed-instrument-form.model.d.ts +19 -0
  54. package/lib/models/installed-instrument-sort-by-column.enum.d.ts +13 -0
  55. package/lib/models/installed-instrument-sort-order.enum.d.ts +4 -0
  56. package/lib/models/installed-instrument-table-columns.model.d.ts +14 -0
  57. package/lib/models/sap-activity.model.d.ts +23 -0
  58. package/lib/models/sap-attachment.model.d.ts +7 -0
  59. package/lib/models/sap-call.model.d.ts +35 -0
  60. package/lib/models/sap-contract.model.d.ts +20 -0
  61. package/lib/models/sap-country.model.d.ts +4 -0
  62. package/lib/models/sap-installed-instrument-list.model.d.ts +23 -0
  63. package/lib/models/sap-installed-instrument-search.model.d.ts +23 -0
  64. package/lib/models/sap-installed-instrument.model.d.ts +54 -0
  65. package/lib/models/sap-state.model.d.ts +5 -0
  66. package/lib/models/sap-territory.model.d.ts +4 -0
  67. package/lib/models/view-sap-installed-instrument-list.model.d.ts +4 -0
  68. package/lib/sap-installed-instruments-routing.module.d.ts +2 -0
  69. package/lib/services/sap-installed-instruments.service.d.ts +30 -0
  70. package/lib/st-sap-installed-instruments.module.d.ts +47 -0
  71. package/package.json +35 -0
  72. package/public-api.d.ts +28 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-st-sap-installed-instruments.mjs","sources":["../../../projects/ngx-st-sap-installed-instruments/src/lib/models/installed-instrument-sort-by-column.enum.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/models/installed-instrument-sort-order.enum.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/models/installed-instrument-table-columns.model.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/services/sap-installed-instruments.service.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/sap-installed-instruments-routing.module.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/st-sap-installed-instruments.module.ts","../../../projects/ngx-st-sap-installed-instruments/src/public-api.ts","../../../projects/ngx-st-sap-installed-instruments/src/ngx-st-sap-installed-instruments.ts"],"sourcesContent":["\r\nexport enum InstalledInstrumentSortByColumnEnum {\r\n ItemCode,\r\n ItemName,\r\n SerialNumber,\r\n BpId,\r\n BpName,\r\n EndCustomer,\r\n City,\r\n Territory,\r\n Country,\r\n Status,\r\n InstallationDate\r\n}","\r\nexport enum InstalledInstrumentSortOrderEnum {\r\n Asc,\r\n Desc\r\n}","import {InstalledInstrumentSortByColumnEnum} from \"./installed-instrument-sort-by-column.enum\";\r\n\r\nexport declare type InstalledInstrumentTableColumnsModel = 'instrumentNo'| 'instrumentDescription'| 'serialNumber'| 'customerNo'| 'businessPartnerName'| 'endUserName'| 'city'| 'territoryId'| 'country'| 'installationDate' | 'status';\r\n\r\n\r\nexport enum InstalledInstrumentTableColumnsMapperEnum {\r\n instrumentNo = InstalledInstrumentSortByColumnEnum.ItemCode,\r\n instrumentDescription = InstalledInstrumentSortByColumnEnum.ItemName,\r\n serialNumber = InstalledInstrumentSortByColumnEnum.SerialNumber,\r\n customerNo = InstalledInstrumentSortByColumnEnum.BpId,\r\n businessPartnerName = InstalledInstrumentSortByColumnEnum.BpName,\r\n endUserName = InstalledInstrumentSortByColumnEnum.EndCustomer,\r\n city = InstalledInstrumentSortByColumnEnum.City,\r\n territoryId = InstalledInstrumentSortByColumnEnum.Territory,\r\n country = InstalledInstrumentSortByColumnEnum.Country,\r\n status = InstalledInstrumentSortByColumnEnum.Status,\r\n installationDate = InstalledInstrumentSortByColumnEnum.InstallationDate\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { SapInstalledInstrumentListModel } from '../models/sap-installed-instrument-list.model';\r\nimport { SapInstalledInstrumentModel } from '../models/sap-installed-instrument.model';\r\nimport { SapTerritoryModel } from '../models/sap-territory.model';\r\nimport { SapStateModel } from '../models/sap-state.model';\r\nimport { SapCountryModel } from '../models/sap-country.model';\r\nimport { SapContractModel } from '../models/sap-contract.model';\r\nimport { SapCallModel } from '../models/sap-call.model';\r\nimport { SapActivityModel } from '../models/sap-activity.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { ViewSapInstalledInstrumentListModel } from '../models/view-sap-installed-instrument-list.model';\r\nimport { SapInstalledInstrumentSearchModel } from '../models/sap-installed-instrument-search.model';\r\nimport { InstalledInstrumentFormModel } from '../models/installed-instrument-form.model';\r\nimport { Sort } from '@angular/material/sort';\r\nimport { InstalledInstrumentSortOrderEnum } from '../models/installed-instrument-sort-order.enum';\r\nimport {\r\n InstalledInstrumentTableColumnsMapperEnum,\r\n InstalledInstrumentTableColumnsModel,\r\n} from '../models/installed-instrument-table-columns.model';\r\nimport moment from 'moment';\r\nimport { IConfig } from '../base-interfaces';\r\n\r\n@Injectable()\r\nexport class SapInstalledInstrumentsService {\r\n constructor(\r\n @Inject('config') private config: IConfig,\r\n private http: HttpClient\r\n ) {}\r\n\r\n getInstalledInstrumentList(\r\n searchForm: InstalledInstrumentFormModel | undefined,\r\n sort: Sort | undefined\r\n ): Observable<ViewSapInstalledInstrumentListModel[]> {\r\n const search: SapInstalledInstrumentSearchModel = {\r\n applicationList: searchForm?.application || [],\r\n instrumentNo: searchForm?.instrumentNo || '',\r\n instrumentDescription: searchForm?.instrumentDesc || '',\r\n serialNumber: searchForm?.serialNumber || '',\r\n customerNo: searchForm?.customerNo || '',\r\n businessPartnerName: searchForm?.bpName || '',\r\n statusId: searchForm?.status || '',\r\n technicianLastName: searchForm?.technicianLastName || '',\r\n territoryId: searchForm?.territory || null,\r\n endUserName: searchForm?.endUserName || '',\r\n endUserCode: searchForm?.endUserCode || '',\r\n city: searchForm?.city || '',\r\n stateId: searchForm?.state || '',\r\n countryId: searchForm?.country || '',\r\n county: searchForm?.county || '',\r\n installationDateFrom: searchForm?.installationDateFrom\r\n ? moment(searchForm.installationDateFrom).format('YYYY-MM-DD')\r\n : null,\r\n installationDateTo: searchForm?.installationDateTo\r\n ? moment(searchForm.installationDateTo).format('YYYY-MM-DD')\r\n : null,\r\n };\r\n\r\n if (sort && sort.direction !== '') {\r\n search.sortOrder =\r\n sort.direction === 'asc'\r\n ? InstalledInstrumentSortOrderEnum.Asc\r\n : InstalledInstrumentSortOrderEnum.Desc;\r\n search.sortByColumn = InstalledInstrumentTableColumnsMapperEnum[\r\n <InstalledInstrumentTableColumnsModel>sort.active\r\n ] as any;\r\n }\r\n\r\n return this.http\r\n .post<\r\n ViewSapInstalledInstrumentListModel[]\r\n >(this.config.api_base_uri + '/admin/sap-master-data/installedInstrument/list', search)\r\n .pipe(\r\n map((res: SapInstalledInstrumentListModel[]) => {\r\n return res.map(installInstrument => ({\r\n ...installInstrument,\r\n technicianName: installInstrument.technicianFirstName\r\n ? installInstrument.technicianFirstName +\r\n ' ' +\r\n installInstrument.technicianLastName\r\n : '',\r\n }));\r\n })\r\n );\r\n }\r\n\r\n getInstalledInstrument(\r\n eqCard: number\r\n ): Observable<SapInstalledInstrumentModel> {\r\n const params = new HttpParams().set('eqCard', eqCard);\r\n\r\n return this.http.get<SapInstalledInstrumentModel>(\r\n this.config.api_base_uri + '/admin/sap-master-data/installedInstrument',\r\n { params }\r\n );\r\n }\r\n\r\n getTerritory(refresh = false): Observable<SapTerritoryModel[]> {\r\n const params = new HttpParams().set('refresh', refresh);\r\n\r\n return this.http.get<SapTerritoryModel[]>(\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/territory',\r\n { params }\r\n );\r\n }\r\n\r\n getState(country: string, refresh = false): Observable<SapStateModel[]> {\r\n const params = new HttpParams()\r\n .set('refresh', refresh)\r\n .set('country', country);\r\n\r\n return this.http.get<SapStateModel[]>(\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/state',\r\n { params }\r\n );\r\n }\r\n\r\n getCountry(refresh = false): Observable<SapCountryModel[]> {\r\n const params = new HttpParams().set('refresh', refresh);\r\n\r\n return this.http.get<SapCountryModel[]>(\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/country',\r\n { params }\r\n );\r\n }\r\n\r\n getContracts(eqCard: number): Observable<SapContractModel[]> {\r\n const params = new HttpParams().set('eqCard', eqCard);\r\n\r\n return this.http.get<SapContractModel[]>(\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/contract',\r\n { params }\r\n );\r\n }\r\n\r\n getCalls(eqCard: number): Observable<SapCallModel[]> {\r\n const params = new HttpParams().set('eqCard', eqCard);\r\n\r\n return this.http.get<SapCallModel[]>(\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/call',\r\n { params }\r\n );\r\n }\r\n\r\n getActivities(callId: number): Observable<SapActivityModel[]> {\r\n const params = new HttpParams().set('callId', callId);\r\n\r\n return this.http.get<SapActivityModel[]>(\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/activity',\r\n { params }\r\n );\r\n }\r\n\r\n getApplicationSearch(search: string): Observable<string[]> {\r\n return this.http.get<string[]>(\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/InstalledInstrument/application?application=' +\r\n search\r\n );\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\nimport {\r\n StBaseService,\r\n StSubscribeDestroyComponent,\r\n} from 'ngx-st-base-functions';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SapInstalledInstrumentListModel } from '../../../models/sap-installed-instrument-list.model';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort, Sort } from '@angular/material/sort';\r\nimport { InstalledInstrumentTableColumnsModel } from '../../../models/installed-instrument-table-columns.model';\r\n\r\n@Component({\r\n selector: 'app-sap-installed-instrument-list-table',\r\n templateUrl: './sap-installed-instrument-list-table.component.html',\r\n styleUrls: ['./sap-installed-instrument-list-table.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SapInstalledInstrumentListTableComponent\r\n extends StSubscribeDestroyComponent\r\n implements OnInit, AfterViewInit\r\n{\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n @Input()\r\n set tableData(data: SapInstalledInstrumentListModel[]) {\r\n this.dataSource.data = data;\r\n }\r\n\r\n @Output()\r\n sortChanged = new EventEmitter<Sort>();\r\n\r\n dataSource: MatTableDataSource<SapInstalledInstrumentListModel> =\r\n new MatTableDataSource();\r\n\r\n tableColumns: InstalledInstrumentTableColumnsModel[] = [\r\n 'instrumentNo',\r\n 'instrumentDescription',\r\n 'serialNumber',\r\n 'customerNo',\r\n 'businessPartnerName',\r\n 'endUserName',\r\n 'city',\r\n 'territoryId',\r\n 'country',\r\n 'installationDate',\r\n 'status',\r\n ];\r\n mapTableColumns: { [field: string]: string };\r\n\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTableColumns();\r\n\r\n // this.store\r\n // .select(appQuery.getUser)\r\n // .pipe(takeUntil(this.ngDestroyed$), filter(StBaseService.notNull))\r\n // .subscribe(user => {\r\n // if (!user.instrumentTerritoryFilter) {\r\n // this.tableColumns = this.tableColumns.filter(\r\n // column => column !== 'territoryId'\r\n // );\r\n // }\r\n // });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n\r\n this.sort.sortChange.subscribe(res => {\r\n this.sortChanged.emit(res);\r\n });\r\n\r\n const queryParamsKeys = Object.keys(\r\n this.activatedRoute.snapshot.queryParams || {}\r\n );\r\n\r\n if (\r\n queryParamsKeys.length > 0 &&\r\n this.activatedRoute.snapshot.queryParams['active'] &&\r\n this.activatedRoute.snapshot.queryParams['direction']\r\n ) {\r\n this.sort.sort({\r\n id: this.activatedRoute.snapshot.queryParams['active'],\r\n start: this.activatedRoute.snapshot.queryParams['direction'],\r\n disableClear: false,\r\n });\r\n }\r\n }\r\n\r\n rowClicked(row: SapInstalledInstrumentListModel) {\r\n this.router.navigate(['details', row.equipmentCardNo], {\r\n relativeTo: this.activatedRoute,\r\n });\r\n }\r\n\r\n private setTableColumns() {\r\n this.mapTableColumns = {\r\n instrumentNo: 'sapAdminInstalledInstrument.instrumentNo',\r\n instrumentDescription:\r\n 'sapAdminInstalledInstrument.instrumentDescription',\r\n serialNumber: 'sapAdminInstalledInstrument.serialNumber',\r\n customerNo: 'sapAdminInstalledInstrument.accountNo',\r\n businessPartnerName: 'sapAdminInstalledInstrument.accountName',\r\n endUserName: 'sapAdminInstalledInstrument.endCustomer',\r\n city: 'global.city',\r\n territoryId: 'global.territory',\r\n country: 'global.country',\r\n status: 'global.status',\r\n installationDate: 'sapAdminInstalledInstrument.installationDate',\r\n };\r\n }\r\n}\r\n","<table\r\n mat-table\r\n [dataSource]=\"dataSource\"\r\n style=\"width: 100%\"\r\n class=\"no-hover\"\r\n matSort\r\n>\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of tableColumns\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ mapTableColumns[column] | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <ng-container *ngIf=\"column === 'installationDate'\">\r\n {{ element[column] | stDateFormatPipe }}\r\n </ng-container>\r\n <ng-container *ngIf=\"column !== 'installationDate'\">\r\n {{ element[column] }}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"tableColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: tableColumns\"\r\n (click)=\"rowClicked(row)\"\r\n ></tr>\r\n</table>\r\n<mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n [showFirstLastButtons]=\"true\"\r\n></mat-paginator>\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {NonNullableFormBuilder} from \"@angular/forms\";\r\nimport {Observable, of} from \"rxjs\";\r\nimport {SapTerritoryModel} from \"../../../models/sap-territory.model\";\r\nimport {SapStateModel} from \"../../../models/sap-state.model\";\r\nimport {SapCountryModel} from \"../../../models/sap-country.model\";\r\nimport {NgxStMultiselectAutocompleteComponent} from \"ngx-st-multiselect-autocomplete\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {SapInstalledInstrumentsService} from \"../../../services/sap-installed-instruments.service\";\r\nimport {InstalledInstrumentFormModel} from \"../../../models/installed-instrument-form.model\";\r\n\r\n@Component({\r\n selector: 'app-sap-installed-instrument-list-search',\r\n templateUrl: './sap-installed-instrument-list-search.component.html',\r\n styleUrls: ['./sap-installed-instrument-list-search.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SapInstalledInstrumentListSearchComponent implements OnInit {\r\n @ViewChild('multiselectAutocomplete') multiselectAutocomplete: NgxStMultiselectAutocompleteComponent;\r\n\r\n @Output()\r\n filtersChanged = new EventEmitter<InstalledInstrumentFormModel>();\r\n\r\n showFilters: boolean = false;\r\n searchForm = this.fb.group({\r\n application: [<string[]>[]],\r\n serialNumber: '',\r\n instrumentNo: '',\r\n instrumentDesc: '',\r\n customerNo: '',\r\n bpName: '',\r\n city: '',\r\n county: '',\r\n endUserName: '',\r\n endUserCode: '',\r\n territory: <number | null>null,\r\n technicianLastName: '',\r\n country: '',\r\n state: '',\r\n status: '',\r\n installationDateFrom: <Date | null>null,\r\n installationDateTo: <Date | null>null\r\n });\r\n\r\n territories$: Observable<SapTerritoryModel[]>;\r\n states$: Observable<SapStateModel[]>;\r\n countries$: Observable<SapCountryModel[]>;\r\n\r\n constructor(\r\n private sapInstalledInstrumentService: SapInstalledInstrumentsService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private fb: NonNullableFormBuilder\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.setSearchForm();\r\n this.setAsyncFilters();\r\n\r\n const queryParamsKeys = Object.keys(this.activatedRoute.snapshot.queryParams || {});\r\n\r\n if (queryParamsKeys.length > 2) {\r\n this.showFilters = true;\r\n\r\n queryParamsKeys.forEach((queryParam) => {\r\n const formControl = this.searchForm.get(queryParam);\r\n if (formControl) {\r\n if (queryParam === 'installationDateFrom' || queryParam === 'installationDateTo') {\r\n formControl.setValue(this.activatedRoute.snapshot.queryParams[queryParam] ? new Date(this.activatedRoute.snapshot.queryParams[queryParam]) : null);\r\n } else {\r\n formControl.setValue(this.activatedRoute.snapshot.queryParams[queryParam]);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n clearAllFilters() {\r\n this.searchForm.reset();\r\n this.multiselectAutocomplete.clearSelectedData();\r\n this.searchSubmitted();\r\n }\r\n\r\n refreshTerritories() {\r\n this.searchForm.controls.territory.setValue(null);\r\n this.territories$ = this.sapInstalledInstrumentService.getTerritory(true);\r\n }\r\n\r\n refreshCountries() {\r\n this.searchForm.controls.country.setValue('');\r\n this.countries$ = this.sapInstalledInstrumentService.getCountry(true);\r\n }\r\n\r\n refreshStates() {\r\n this.searchForm.controls.state.setValue('');\r\n this.states$ = this.sapInstalledInstrumentService.getState(this.searchForm.controls.country.value, true);\r\n }\r\n\r\n getCountryValue(country: SapCountryModel) {\r\n return country.id;\r\n }\r\n\r\n getStateValue(state: SapStateModel) {\r\n return state.id;\r\n }\r\n\r\n getTerritoryValue(territory: SapTerritoryModel) {\r\n return territory.id;\r\n }\r\n\r\n searchSubmitted() {\r\n const formValues = this.searchForm.getRawValue();\r\n\r\n this.filtersChanged.emit(formValues);\r\n }\r\n\r\n clearInputValue(formControlName: string) {\r\n this.searchForm.get(formControlName)!.setValue('');\r\n this.searchSubmitted();\r\n }\r\n\r\n getFilteredOptions = (search: string) => {\r\n return this.sapInstalledInstrumentService.getApplicationSearch(search);\r\n }\r\n\r\n applicationSelected(data: string[]) {\r\n this.searchForm.controls.application.setValue(data);\r\n }\r\n\r\n private setAsyncFilters() {\r\n this.territories$ = this.sapInstalledInstrumentService.getTerritory(false);\r\n this.countries$ = this.sapInstalledInstrumentService.getCountry(false);\r\n this.states$ = of([]);\r\n }\r\n\r\n private setSearchForm() {\r\n this.searchForm.controls.country.valueChanges.subscribe((country: string) => {\r\n this.searchForm.controls.state.setValue('');\r\n\r\n if (country) {\r\n this.states$ = this.sapInstalledInstrumentService.getState(country);\r\n } else {\r\n this.states$ = of([]);\r\n }\r\n });\r\n }\r\n}\r\n","<form\r\n class=\"search-filters\"\r\n [formGroup]=\"searchForm\"\r\n (ngSubmit)=\"searchSubmitted()\"\r\n>\r\n <div class=\"row align-items-center\" [ngClass]=\"{ hide: !showFilters }\">\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <ngx-st-multiselect-autocomplete\r\n #multiselectAutocomplete\r\n [label]=\"\r\n ('sapAdminInstalledInstrument.application' | translate) +\r\n ' (' +\r\n ('global.max' | translate) +\r\n ': 10)'\r\n \"\r\n [placeholder]=\"\r\n 'sapAdminInstalledInstrument.applicationPlaceholder' | translate\r\n \"\r\n [getFilteredOptions]=\"this.getFilteredOptions\"\r\n [initSelectedData]=\"searchForm.controls.application.value\"\r\n [maxLengthSelectedData]=\"10\"\r\n (selectedDataChanged)=\"applicationSelected($event)\"\r\n ></ngx-st-multiselect-autocomplete>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"bpName\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.accountName' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.bpName.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('bpName')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"technicianLastName\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.technicianLastName' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.technicianLastName.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('technicianLastName')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{ hide: !showFilters }\">\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"serialNumber\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.serialNumber' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.serialNumber.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('serialNumber')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"instrumentNo\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.instrumentNo' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.instrumentNo.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('instrumentNo')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"instrumentDesc\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.instrumentDescription' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.instrumentDesc.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('instrumentDesc')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{ hide: !showFilters }\">\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <mat-form-field>\r\n <mat-label>{{\r\n 'sapAdminInstalledInstrument.instrumentStatus' | translate\r\n }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"''\">{{ 'global.empty' | translate }}</mat-option>\r\n <mat-option [value]=\"'A'\">{{\r\n 'sapAdminInstalledInstrument.statusA' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'R'\">{{\r\n 'sapAdminInstalledInstrument.statusR' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'T'\">{{\r\n 'sapAdminInstalledInstrument.statusT' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'L'\">{{\r\n 'sapAdminInstalledInstrument.statusL' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'I'\">{{\r\n 'sapAdminInstalledInstrument.statusI' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"customerNo\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.accountNo' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.customerNo.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('customerNo')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center row\">\r\n <ngx-st-search-select\r\n *ngIf=\"\r\n searchForm?.get('territory') &&\r\n ((territories$ | async) || []) as territories\r\n \"\r\n [options]=\"territories || []\"\r\n [selectLabel]=\"'global.territory' | translate\"\r\n [optionLabelPropertyName]=\"'name'\"\r\n [selectFormControl]=\"searchForm.controls.territory\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'global.search' | translate\"\r\n [valueMethod]=\"getTerritoryValue\"\r\n ></ngx-st-search-select>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'global.refresh' | translate\"\r\n (click)=\"refreshTerritories()\"\r\n type=\"button\"\r\n >\r\n <i class=\"material-icons\">refresh</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{ hide: !showFilters }\">\r\n <div class=\"col-xs-12 col-sm-3 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"city\"\r\n placeholder=\"{{ 'global.city' | translate }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.city.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('city')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n <ngx-st-search-select\r\n *ngIf=\"searchForm?.get('state') && ((states$ | async) || []) as states\"\r\n [options]=\"states || []\"\r\n [selectLabel]=\"'global.state' | translate\"\r\n [optionLabelPropertyName]=\"'name'\"\r\n [selectFormControl]=\"searchForm.controls.state\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'global.search' | translate\"\r\n [valueMethod]=\"getStateValue\"\r\n ></ngx-st-search-select>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'global.refresh' | translate\"\r\n [disabled]=\"!searchForm.controls.country.value\"\r\n (click)=\"refreshStates()\"\r\n type=\"button\"\r\n >\r\n <i class=\"material-icons\">refresh</i>\r\n </button>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"county\"\r\n placeholder=\"{{ 'global.county' | translate }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.county.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('county')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n <ngx-st-search-select\r\n *ngIf=\"\r\n searchForm?.get('country') &&\r\n ((countries$ | async) || []) as countries\r\n \"\r\n [options]=\"countries || []\"\r\n [selectLabel]=\"'global.country' | translate\"\r\n [optionLabelPropertyName]=\"'name'\"\r\n [selectFormControl]=\"searchForm.controls.country\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'global.search' | translate\"\r\n [valueMethod]=\"getCountryValue\"\r\n ></ngx-st-search-select>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'global.refresh' | translate\"\r\n (click)=\"refreshCountries()\"\r\n type=\"button\"\r\n >\r\n <i class=\"material-icons\">refresh</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{ hide: !showFilters }\">\r\n <div class=\"col-xs-12 col-sm-3 align-items-center\">\r\n <mat-form-field>\r\n <mat-label>{{\r\n 'sapAdminInstalledInstrument.installationDateFrom' | translate\r\n }}</mat-label>\r\n <input\r\n matInput\r\n [matDatepicker]=\"picker1\"\r\n formControlName=\"installationDateFrom\"\r\n />\r\n <mat-datepicker-toggle\r\n matSuffix\r\n [for]=\"picker1\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker #picker1></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center\">\r\n <mat-form-field>\r\n <mat-label>{{\r\n 'sapAdminInstalledInstrument.installationDateTo' | translate\r\n }}</mat-label>\r\n <input\r\n matInput\r\n [matDatepicker]=\"picker2\"\r\n formControlName=\"installationDateTo\"\r\n />\r\n <mat-datepicker-toggle\r\n matSuffix\r\n [for]=\"picker2\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker #picker2></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"endUserName\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.endCustomerName' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.endUserName.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('endUserName')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center\">\r\n <mat-form-field>\r\n <input\r\n matInput\r\n formControlName=\"endUserCode\"\r\n placeholder=\"{{\r\n 'sapAdminInstalledInstrument.endCustomerNo' | translate\r\n }}\"\r\n />\r\n <button\r\n *ngIf=\"searchForm.controls.endUserCode.value\"\r\n type=\"button\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n (click)=\"clearInputValue('endUserCode')\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row justify-content-center\" style=\"margin-bottom: 10px\">\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"clearAllFilters()\"\r\n *ngIf=\"showFilters\"\r\n style=\"margin-right: 10px\"\r\n >\r\n Clear All\r\n </button>\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"accent\"\r\n (click)=\"showFilters = !showFilters\"\r\n >\r\n <ng-container *ngIf=\"showFilters\">\r\n {{ 'sapAdminInstalledInstrument.hideFilters' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"!showFilters\">\r\n {{ 'sapAdminInstalledInstrument.showFilters' | translate }}\r\n </ng-container>\r\n </button>\r\n <button\r\n *ngIf=\"showFilters\"\r\n mat-raised-button\r\n type=\"submit\"\r\n color=\"primary\"\r\n style=\"margin-left: 10px\"\r\n >\r\n Search\r\n </button>\r\n </div>\r\n</form>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { SapInstalledInstrumentsService } from '../../services/sap-installed-instruments.service';\r\nimport { SapInstalledInstrumentListModel } from '../../models/sap-installed-instrument-list.model';\r\nimport { StSubscribeDestroyComponent } from 'ngx-st-base-functions';\r\nimport { InstalledInstrumentFormModel } from '../../models/installed-instrument-form.model';\r\nimport { Sort } from '@angular/material/sort';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sap-installed-instrument-list',\r\n templateUrl: './sap-installed-instrument-list.component.html',\r\n styleUrls: ['./sap-installed-instrument-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SapInstalledInstrumentListComponent\r\n extends StSubscribeDestroyComponent\r\n implements OnInit\r\n{\r\n @HostBinding('class') class = 'display-flex-component';\r\n\r\n installedInstruments: SapInstalledInstrumentListModel[] = [];\r\n\r\n private lastSearchFilters: InstalledInstrumentFormModel | any = <\r\n InstalledInstrumentFormModel\r\n >{};\r\n private lastSearchSorts: Sort = <Sort>{};\r\n\r\n constructor(\r\n private sapInstalledInstrumentService: SapInstalledInstrumentsService,\r\n private changeDetector: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n const queryParamsKeys = Object.keys(\r\n this.activatedRoute.snapshot.queryParams || {}\r\n );\r\n\r\n if (queryParamsKeys.length > 0) {\r\n queryParamsKeys.forEach(queryParam => {\r\n if (queryParam === 'active' || queryParam === 'direction') {\r\n this.lastSearchSorts[queryParam] =\r\n this.activatedRoute.snapshot.queryParams[queryParam];\r\n } else {\r\n this.lastSearchFilters[queryParam] =\r\n this.activatedRoute.snapshot.queryParams[queryParam];\r\n this.lastSearchFilters['installationDateFrom'] = this.activatedRoute\r\n .snapshot.queryParams['installationDateFrom']\r\n ? new Date(\r\n this.activatedRoute.snapshot.queryParams['installationDateFrom']\r\n )\r\n : null;\r\n this.lastSearchFilters['installationDateTo'] = this.activatedRoute\r\n .snapshot.queryParams['installationDateTo']\r\n ? new Date(\r\n this.activatedRoute.snapshot.queryParams['installationDateTo']\r\n )\r\n : null;\r\n }\r\n });\r\n }\r\n\r\n this.loadInstalledInstruments(this.lastSearchFilters, this.lastSearchSorts);\r\n }\r\n\r\n filtersChanged(event: InstalledInstrumentFormModel) {\r\n this.loadInstalledInstruments(event, this.lastSearchSorts);\r\n }\r\n\r\n sortChanged(event: Sort) {\r\n this.loadInstalledInstruments(this.lastSearchFilters, event);\r\n }\r\n\r\n private loadInstalledInstruments(\r\n searchForm: InstalledInstrumentFormModel,\r\n sort: Sort\r\n ) {\r\n this.router.navigate([], {\r\n queryParams: {\r\n ...searchForm,\r\n installationDateFrom:\r\n searchForm.installationDateFrom?.toISOString() || '',\r\n installationDateTo: searchForm.installationDateTo?.toISOString() || '',\r\n ...sort,\r\n },\r\n });\r\n\r\n this.sapInstalledInstrumentService\r\n .getInstalledInstrumentList(searchForm, sort)\r\n .subscribe(res => {\r\n this.lastSearchFilters = searchForm;\r\n this.lastSearchSorts = sort;\r\n\r\n this.installedInstruments = res;\r\n this.changeDetector.markForCheck();\r\n });\r\n }\r\n}\r\n","<div class=\"container-fluid no-cut\">\r\n <div class=\"card\">\r\n <div class=\"card-header card-header-warning\">\r\n <h3 class=\"card-title\">\r\n {{\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n }}\r\n </h3>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <app-sap-installed-instrument-list-search\r\n (filtersChanged)=\"filtersChanged($event)\"\r\n ></app-sap-installed-instrument-list-search>\r\n\r\n <app-sap-installed-instrument-list-table\r\n [tableData]=\"installedInstruments\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Inject, Input, OnInit } from '@angular/core';\r\nimport { SapActivityModel } from '../../../models/sap-activity.model';\r\nimport { IConfig } from '../../../base-interfaces';\r\n\r\n@Component({\r\n selector: 'app-activity-details-view',\r\n templateUrl: './activity-details-view.component.html',\r\n styleUrls: ['./activity-details-view.component.scss'],\r\n})\r\nexport class ActivityDetailsViewComponent implements OnInit {\r\n @Input()\r\n activity: SapActivityModel;\r\n\r\n baseDownloadLink = '';\r\n\r\n constructor(@Inject('config') private config: IConfig) {}\r\n\r\n ngOnInit(): void {\r\n this.baseDownloadLink =\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/activity-attachment?access_token=' +\r\n this.config.accessToken;\r\n }\r\n\r\n updateLink() {\r\n const company = localStorage.getItem('company-id')\r\n ? `&company-id=${localStorage.getItem('company-id')}`\r\n : '';\r\n this.baseDownloadLink =\r\n this.config.api_base_uri +\r\n '/admin/sap-master-data/installedInstrument/activity-attachment?access_token=' +\r\n this.config.accessToken +\r\n company;\r\n }\r\n}\r\n","<div class=\"group-details row\" style=\"margin-top: 20px;\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.activity' | translate}}</span>\r\n <p>{{activity.activity || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.type' | translate}}</span>\r\n <p>{{activity.type || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.subject' | translate}}</span>\r\n <p>{{activity.subject || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.remarks' | translate}}</span>\r\n <p>{{activity.remarks || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.startTime' | translate}}</span>\r\n <p>{{(activity.startTime | stDateTimeFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.endTime' | translate}}</span>\r\n <p>{{(activity.endTime | stDateTimeFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.duration' | translate}}</span>\r\n <p>{{activity.duration || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.content' | translate}}</span>\r\n <p>{{activity.content || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<hr/>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.coordinator' | translate}}</span>\r\n <p>{{activity.coordinatorName || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.orderNumber' | translate}}</span>\r\n <p>{{activity.orderNumber || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.detailedSymptom' | translate}}</span>\r\n <p>{{activity.detailedSymptom || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.solution' | translate}}</span>\r\n <p>{{activity.solution || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{'sapAdminInstalledInstrument.incompleteReason' | translate}}</span>\r\n <p>{{activity.incompleteReason || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\" *ngIf=\"activity.attachmentList.length > 0\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <p class=\"attachments-title\">{{'global.attachments' | translate}}:</p>\r\n <ul class=\"row\">\r\n <li class=\"row align-items-center\" *ngFor=\"let attachment of activity.attachmentList\">\r\n <p>{{attachment.fileName}}.{{attachment.fileExt}}</p>\r\n\r\n <a [href]=\"baseDownloadLink + '&id=' + attachment.id + '&line=' + attachment.line + '&preview=true'\" target=\"_blank\" (click)=\"updateLink()\">\r\n <button mat-icon-button>\r\n <mat-icon class=\"material-icons\">preview</mat-icon>\r\n </button>\r\n </a>\r\n\r\n <a [href]=\"baseDownloadLink + '&id=' + attachment.id + '&line=' + attachment.line + '&preview=false'\" target=\"_blank\" (click)=\"updateLink()\">\r\n <button mat-icon-button>\r\n <mat-icon class=\"material-icons\">cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n","import {AfterViewInit, Component, HostBinding, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {MatPaginator} from \"@angular/material/paginator\";\r\nimport {SapActivityModel} from \"../../../models/sap-activity.model\";\r\nimport {MatTableDataSource} from \"@angular/material/table\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: 'app-activities-list-view',\r\n templateUrl: './activities-list-view.component.html',\r\n styleUrls: ['./activities-list-view.component.scss'],\r\n animations: [\r\n trigger('detailExpand', [\r\n state('collapsed', style({height: '0px', minHeight: '0'})),\r\n state('expanded', style({height: '*'})),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n})\r\nexport class ActivitiesListViewComponent implements OnInit, AfterViewInit {\r\n @HostBinding('class') class = 'display-flex-component';\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n @Input()\r\n activities: SapActivityModel[];\r\n\r\n columnsToDisplay = ['activityNumber', 'detailedSymptom', 'solution', 'coordinator', 'startTime', 'endTime'];\r\n tableSource: MatTableDataSource<SapActivityModel>;\r\n expandedElement: SapActivityModel | null;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTable();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator.pageSize = 5;\r\n this.tableSource.paginator = this.paginator;\r\n }\r\n\r\n private setTable() {\r\n this.tableSource = new MatTableDataSource<SapActivityModel>(this.activities);\r\n }\r\n\r\n}\r\n","<div class=\"activities-list-view\">\r\n <table mat-table [dataSource]=\"tableSource\" [multiTemplateDataRows]=\"true\">\r\n <ng-container matColumnDef=\"activityNumber\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.activityNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.activityNumber }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"type\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'global.type' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.type }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"detailedSymptom\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.detailedSymptom' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.detailedSymptom }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"solution\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.solution' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.solution }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"coordinator\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.coordinator' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.coordinatorName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.startTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.startTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"endTime\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.endTime' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.endTime | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n <app-activity-details-view\r\n *ngIf=\"element == expandedElement\"\r\n [activity]=\"element\"\r\n ></app-activity-details-view>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement === element\"\r\n (click)=\"expandedElement = expandedElement === element ? null : element\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[5, 10]\"\r\n [showFirstLastButtons]=\"true\"\r\n ></mat-paginator>\r\n</div>\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {SapContractModel} from \"../../../models/sap-contract.model\";\r\n\r\n@Component({\r\n selector: 'app-service-contract-details-view',\r\n templateUrl: './service-contract-details-view.component.html',\r\n styleUrls: ['./service-contract-details-view.component.scss']\r\n})\r\nexport class ServiceContractDetailsViewComponent implements OnInit {\r\n\r\n @Input()\r\n contract: SapContractModel;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"group-details row\" style=\"margin-top: 20px;\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.customer' | translate}}</span>\r\n <p>{{contract.customer || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.customerName' | translate}}</span>\r\n <p>{{contract.customerName || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.description' | translate}}</span>\r\n <p>{{contract.description || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.startDate' | translate}}</span>\r\n <p>{{(contract.startDate | stDateFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.endDate' | translate}}</span>\r\n <p>{{(contract.endDate | stDateFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.terminationDate' | translate}}</span>\r\n <p>{{(contract.terminationDate | stDateFormatPipe) || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<hr/>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{'sapAdminInstalledInstrument.serviceType' | translate}}</span>\r\n <p>{{(contract.serviceType) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{'sapAdminInstalledInstrument.template' | translate}}</span>\r\n <p>{{(contract.template) || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{'sapAdminInstalledInstrument.handledBy' | translate}}</span>\r\n <p>{{(contract.handledBy) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{'sapAdminInstalledInstrument.remarks' | translate}}</span>\r\n <p>{{(contract.remarks) || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<hr/>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.itemCode' | translate}}</span>\r\n <p>{{(contract.itemCode) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.itemName' | translate}}</span>\r\n <p>{{(contract.itemName) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.serialNumber' | translate}}</span>\r\n <p>{{(contract.serialNumber) || '-'}}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.startDateDetails' | translate}}</span>\r\n <p>{{(contract.startDateDetail | stDateFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.endDateDetails' | translate}}</span>\r\n <p>{{(contract.endDateDetail | stDateFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.terminationDateDetails' | translate}}</span>\r\n <p>{{(contract.terminationDateDetail | stDateFormatPipe) || '-'}}</p>\r\n </div>\r\n</div>\r\n","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {SapContractModel} from \"../../../models/sap-contract.model\";\r\n\r\n@Component({\r\n selector: 'app-service-contracts-modal-details-view',\r\n templateUrl: './service-contracts-modal-details-view.component.html',\r\n styleUrls: ['./service-contracts-modal-details-view.component.scss']\r\n})\r\nexport class ServiceContractsModalDetailsViewComponent implements OnInit {\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: {contract: SapContractModel},\r\n public dialogRef: MatDialogRef<ServiceContractsModalDetailsViewComponent>\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","<h1 mat-dialog-title>{{'sapAdminInstalledInstrument.serviceContract' | translate}}</h1>\r\n<div mat-dialog-content>\r\n <app-service-contract-details-view\r\n [contract]=\"data.contract\"\r\n ></app-service-contract-details-view>\r\n</div>\r\n<div class=\"row justify-content-end\" mat-dialog-actions>\r\n <button mat-button type=\"button\" (click)=\"close()\">{{'global.close' | translate}}</button>\r\n</div>\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {SapCallModel} from \"../../../models/sap-call.model\";\r\nimport {SapContractModel} from \"../../../models/sap-contract.model\";\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {\r\n ServiceContractsModalDetailsViewComponent\r\n} from \"../service-contracts-modal-details-view/service-contracts-modal-details-view.component\";\r\nimport {SapInstalledInstrumentsService} from \"../../../services/sap-installed-instruments.service\";\r\nimport {Observable} from \"rxjs\";\r\nimport {SapActivityModel} from \"../../../models/sap-activity.model\";\r\nimport {tap} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'app-call-details-view',\r\n templateUrl: './call-details-view.component.html',\r\n styleUrls: ['./call-details-view.component.scss']\r\n})\r\nexport class CallDetailsViewComponent implements OnInit {\r\n\r\n @Input()\r\n call: SapCallModel;\r\n\r\n @Input()\r\n contracts: SapContractModel[];\r\n\r\n contractDetails: SapContractModel | undefined;\r\n\r\n activitiesLoading = true;\r\n activities$: Observable<SapActivityModel[]>;\r\n activities: SapActivityModel[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private sapInstalledInstruments: SapInstalledInstrumentsService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.call && this.contracts && this.call.contractNo) {\r\n this.contractDetails = this.contracts.find((contract) => contract.contractId === this.call.contractNo);\r\n }\r\n\r\n this.loadActivities();\r\n }\r\n\r\n openContractModel() {\r\n this.dialog.open(ServiceContractsModalDetailsViewComponent, {\r\n data: {contract: this.contractDetails},\r\n width: '50%',\r\n });\r\n }\r\n\r\n tabChanged(event: any) {\r\n\r\n }\r\n\r\n private loadActivities() {\r\n this.activities$ = this.sapInstalledInstruments.getActivities(this.call.callId)\r\n .pipe(tap(res => {\r\n this.activities = res;\r\n this.activitiesLoading = false;\r\n }));\r\n }\r\n\r\n}\r\n","<mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab label=\"{{'sapAdminInstalledInstrument.callDetails' | translate}}\">\r\n <div class=\"group-details row\" style=\"margin-top: 20px;\">\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{'sapAdminInstalledInstrument.callId' | translate}}</span>\r\n <p>{{call.callId || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-6\">\r\n <span>{{'sapAdminInstalledInstrument.contractNo' | translate}}</span>\r\n <div class=\"row\">\r\n <p>{{call.contractNo || '-'}}</p>\r\n <i class=\"material-icons-outlined show-contract\" *ngIf=\"contractDetails\" (click)=\"openContractModel()\">visibility</i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.accountNo' | translate}}</span>\r\n <p>{{call.customer || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.accountName' | translate}}</span>\r\n <p>{{call.customerName || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.contactPerson' | translate}}</span>\r\n <p>{{call.contactPerson || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.phone' | translate}}</span>\r\n <p>{{call.telephoneNo || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.shipToCode' | translate}}</span>\r\n <p>{{call.shipToCode || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.shipToAddress' | translate}}</span>\r\n <p>{{call.shipToAddress || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.billToCode' | translate}}</span>\r\n <p>{{call.billToCode || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.billToAddress' | translate}}</span>\r\n <p>{{call.billToAddress || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.subject' | translate}}</span>\r\n <p>{{call.subject || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.callStatus' | translate}}</span>\r\n <p>{{call.callStatus || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.createdOn' | translate}}</span>\r\n <p>{{(call.createdOn | stDateTimeFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.closedOn' | translate}}</span>\r\n <p>{{(call.closedOn | stDateTimeFormatPipe) || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.origin' | translate}}</span>\r\n <p>{{call.origin || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.problemType' | translate}}</span>\r\n <p>{{call.problemType || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.problemSubtype' | translate}}</span>\r\n <p>{{call.problemSubtype || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.callType' | translate}}</span>\r\n <p>{{call.callType || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.technician' | translate}}</span>\r\n <p>{{call.technicianFirstName ? call.technicianFirstName + ' ' + call.technicianLastName : '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.handledBy' | translate}}</span>\r\n <p>{{call.handledBy || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{'global.remarks' | translate}}</span>\r\n <p>{{call.remarks || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{'sapAdminInstalledInstrument.resolution' | translate}}</span>\r\n <p>{{call.resolution || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.startTime' | translate}}</span>\r\n <p>{{(call.startTime | stDateTimeFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.endTime' | translate}}</span>\r\n <p>{{(call.endTime | stDateTimeFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.duration' | translate}}</span>\r\n <p>{{call.duration || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.travelTime' | translate}}</span>\r\n <p>{{call.travelTime || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <span>{{'sapAdminInstalledInstrument.internalComments' | translate}}</span>\r\n <p>{{call.internalComments || '-'}}</p>\r\n </div>\r\n </div>\r\n </mat-tab>\r\n\r\n <mat-tab label=\"{{'sapAdminInstalledInstrument.activities' | translate}} ({{activities.length || 0}})\">\r\n <ng-container *ngIf=\"activities$ | async\">\r\n <app-activities-list-view\r\n [activities]=\"activities\"\r\n ></app-activities-list-view>\r\n </ng-container>\r\n </mat-tab>\r\n</mat-tab-group>\r\n\r\n\r\n\r\n\r\n","import {AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {SapCallModel} from \"../../../models/sap-call.model\";\r\nimport {MatTableDataSource} from \"@angular/material/table\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {SapContractModel} from \"../../../models/sap-contract.model\";\r\nimport {MatPaginator} from \"@angular/material/paginator\";\r\n\r\n@Component({\r\n selector: 'app-calls-list-view',\r\n templateUrl: './calls-list-view.component.html',\r\n styleUrls: ['./calls-list-view.component.scss'],\r\n animations: [\r\n trigger('detailExpand', [\r\n state('collapsed', style({height: '0px', minHeight: '0'})),\r\n state('expanded', style({height: '*'})),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CallsListViewComponent implements OnInit, AfterViewInit {\r\n @HostBinding('class') class = 'display-flex-component';\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n @Input()\r\n calls: SapCallModel[];\r\n\r\n @Input()\r\n contracts: SapContractModel[];\r\n\r\n columnsToDisplay = ['callId', 'callStatus', 'callType', 'problemType', 'customer', 'customerName', 'handledBy', 'createdOn', 'closedOn'];\r\n tableSource: MatTableDataSource<SapCallModel>;\r\n expandedElement: SapCallModel | null;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTable();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator.pageSize = 10;\r\n this.tableSource.paginator = this.paginator;\r\n }\r\n\r\n private setTable() {\r\n this.tableSource = new MatTableDataSource<SapCallModel>(this.calls);\r\n }\r\n}\r\n","<div class=\"calls-list-view\">\r\n <table mat-table [dataSource]=\"tableSource\" [multiTemplateDataRows]=\"true\">\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'global.callId' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callStatus\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'global.status' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callStatus }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"callType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.callType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.callType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"problemType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.problemType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.problemType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customer\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountNo' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.accountName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"handledBy\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.handledBy' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.handledBy }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"createdOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.createdOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.createdOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"closedOn\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.closedOn' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.closedOn | stDateTimeFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n <app-call-details-view\r\n *ngIf=\"element == expandedElement\"\r\n [call]=\"element\"\r\n [contracts]=\"contracts\"\r\n ></app-call-details-view>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement === element\"\r\n (click)=\"expandedElement = expandedElement === element ? null : element\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n showFirstLastButtons\r\n ></mat-paginator>\r\n</div>\r\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\r\nimport {SapInstalledInstrumentModel} from \"../../../models/sap-installed-instrument.model\";\r\n\r\n@Component({\r\n selector: 'app-data-details-view',\r\n templateUrl: './data-details-view.component.html',\r\n styleUrls: ['./data-details-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataDetailsViewComponent implements OnInit {\r\n\r\n @Input()\r\n installedInstrument: SapInstalledInstrumentModel;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<ng-container *ngIf=\"installedInstrument\">\r\n <div class=\"group-details row\">\r\n<!-- <div class=\"col-xs-12 col-sm-4\">-->\r\n<!-- <span>{{'sapAdminInstalledInstrument.equipmentCardNo' | translate}}</span>-->\r\n<!-- <p>{{installedInstrument.equipmentCardNo || '-'}}</p>-->\r\n<!-- </div>-->\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.instrumentNo' | translate}}</span>\r\n <p>{{installedInstrument.instrumentNo || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.instrumentDescription' | translate}}</span>\r\n <p>{{installedInstrument.instrumentDescription || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.serialNumber' | translate}}</span>\r\n <p>{{installedInstrument.serialNumber || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.customerNo' | translate}}</span>\r\n <p>{{installedInstrument.customerNo || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.businessPartnerName' | translate}}</span>\r\n <p>{{installedInstrument.businessPartnerName || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.contactPerson' | translate}}</span>\r\n <p>{{installedInstrument.contactPerson || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.status' | translate}}</span>\r\n <p>{{installedInstrument.status || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.technicianName' | translate}}</span>\r\n <p>{{installedInstrument.technicianFirstName ? installedInstrument.technicianFirstName + ' ' + installedInstrument.technicianLastName : '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.territory' | translate}}</span>\r\n <p>{{installedInstrument.territory || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.installationDate' | translate}}</span>\r\n <p>{{(installedInstrument.installationDate | stDateFormatPipe) || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.endUserName' | translate}}</span>\r\n <p>{{installedInstrument.endUserName || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.endUserCode' | translate}}</span>\r\n <p>{{installedInstrument.endUserCode || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.addressName' | translate}}</span>\r\n <p>{{installedInstrument.addressName || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.street' | translate}}</span>\r\n <p>{{installedInstrument.street || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.streetNo' | translate}}</span>\r\n <p>{{installedInstrument.streetNo || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'global.block' | translate}}</span>\r\n <p>{{installedInstrument.block || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.building' | translate}}</span>\r\n <p>{{installedInstrument.building || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.city' | translate}}</span>\r\n <p>{{installedInstrument.city || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.county' | translate}}</span>\r\n <p>{{installedInstrument.county || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.state' | translate}}</span>\r\n <p>{{installedInstrument.state || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.zipCode' | translate}}</span>\r\n <p>{{installedInstrument.zipCode || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'global.country' | translate}}</span>\r\n <p>{{installedInstrument.country || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.softwareVersion' | translate}}</span>\r\n <p>{{installedInstrument.softwareVersion || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.pcSoftwareVersion' | translate}}</span>\r\n <p>{{installedInstrument.pcSoftwareVersion || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.vessels' | translate}}</span>\r\n <p>{{installedInstrument.vessels || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.relatedItem1' | translate}}</span>\r\n <p>{{installedInstrument.relatedItem1 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.relatedItem2' | translate}}</span>\r\n <p>{{installedInstrument.relatedItem2 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.relatedItem3' | translate}}</span>\r\n <p>{{installedInstrument.relatedItem3 || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit1' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit1 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit2' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit2 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit3' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit3 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit4' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit4 || '-'}}</p>\r\n </div>\r\n </div>\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit5' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit5 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit6' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit6 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit7' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit7 || '-'}}</p>\r\n </div>\r\n </div>\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit8' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit8 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit9' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit9 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{'sapAdminInstalledInstrument.majorUpgradeKit10' | translate}}</span>\r\n <p>{{installedInstrument.majorUpgradeKit10 || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <hr/>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.numberOfAnalysis' | translate}}</span>\r\n <p>{{installedInstrument.numberOfAnalysis || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.application1' | translate}}</span>\r\n <p>{{installedInstrument.application1 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.application2' | translate}}</span>\r\n <p>{{installedInstrument.application2 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.application3' | translate}}</span>\r\n <p>{{installedInstrument.application3 || '-'}}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.application4' | translate}}</span>\r\n <p>{{installedInstrument.application4 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.application5' | translate}}</span>\r\n <p>{{installedInstrument.application5 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.application6' | translate}}</span>\r\n <p>{{installedInstrument.application6 || '-'}}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{'sapAdminInstalledInstrument.application7' | translate}}</span>\r\n <p>{{installedInstrument.application7 || '-'}}</p>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import {AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {SapContractModel} from \"../../../models/sap-contract.model\";\r\nimport {MatTableDataSource} from \"@angular/material/table\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {MatPaginator} from \"@angular/material/paginator\";\r\n\r\n@Component({\r\n selector: 'app-service-contracts-list-view',\r\n templateUrl: './service-contracts-list-view.component.html',\r\n styleUrls: ['./service-contracts-list-view.component.scss'],\r\n animations: [\r\n trigger('detailExpand', [\r\n state('collapsed', style({height: '0px', minHeight: '0'})),\r\n state('expanded', style({height: '*'})),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ServiceContractsListViewComponent implements OnInit, AfterViewInit {\r\n @HostBinding('class') class = 'display-flex-component';\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n @Input()\r\n contracts: SapContractModel[];\r\n\r\n columnsToDisplay = ['contractId', 'customer', 'customerName', 'itemCode', 'itemName', 'serialNumber', 'serviceType', 'startDate', 'terminationDate'];\r\n tableSource: MatTableDataSource<SapContractModel>;\r\n expandedElement: SapContractModel | null;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTable();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.paginator.pageSize = 10;\r\n this.tableSource.paginator = this.paginator;\r\n }\r\n\r\n private setTable() {\r\n this.tableSource = new MatTableDataSource<SapContractModel>(this.contracts);\r\n }\r\n}\r\n","<div class=\"service-contracts-list-view\">\r\n <table mat-table [dataSource]=\"tableSource\" [multiTemplateDataRows]=\"true\">\r\n <ng-container matColumnDef=\"contractId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.contractId' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.contractId }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customer\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.customer' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"customerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.customerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.customerName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"itemCode\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.itemCode' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.itemCode }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"itemName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.itemName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.itemName }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"serialNumber\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.serialNumber' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.serialNumber }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"serviceType\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.serviceType' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.serviceType }}</td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"startDate\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.startDate' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.startDate | stDateFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"terminationDate\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.endDate' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{ element.endDateDetail | stDateFormatPipe }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n [attr.colspan]=\"columnsToDisplay.length\"\r\n >\r\n <div\r\n class=\"row-detail\"\r\n [@detailExpand]=\"\r\n element == expandedElement ? 'expanded' : 'collapsed'\r\n \"\r\n >\r\n <app-service-contract-details-view\r\n [contract]=\"element\"\r\n ></app-service-contract-details-view>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let element; columns: columnsToDisplay\"\r\n class=\"details-element-row\"\r\n [class.details-expanded-row]=\"expandedElement === element\"\r\n (click)=\"expandedElement = expandedElement === element ? null : element\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: ['expandedDetail']\"\r\n class=\"detail-row\"\r\n ></tr>\r\n </table>\r\n <mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n showFirstLastButtons\r\n ></mat-paginator>\r\n</div>\r\n","import { Component, HostBinding, OnInit } from '@angular/core';\r\nimport { SapInstalledInstrumentsService } from '../../services/sap-installed-instruments.service';\r\nimport { SapInstalledInstrumentModel } from '../../models/sap-installed-instrument.model';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { tap } from 'rxjs/operators';\r\nimport { SapCallModel } from '../../models/sap-call.model';\r\nimport { SapContractModel } from '../../models/sap-contract.model';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-sap-installed-instrument-details',\r\n templateUrl: './sap-installed-instrument-details.component.html',\r\n styleUrls: ['./sap-installed-instrument-details.component.scss'],\r\n})\r\nexport class SapInstalledInstrumentDetailsComponent implements OnInit {\r\n @HostBinding('class') class = 'display-flex-component';\r\n\r\n installedInstrument$: Observable<SapInstalledInstrumentModel>;\r\n calls$: Observable<SapCallModel[]>;\r\n serviceContracts$: Observable<SapContractModel[]>;\r\n\r\n tabActive = 0;\r\n\r\n installedInstrument: SapInstalledInstrumentModel;\r\n calls: SapCallModel[] = [];\r\n serviceContracts: SapContractModel[] = [];\r\n\r\n private id: number;\r\n\r\n constructor(\r\n private sapInstalledInstrumentService: SapInstalledInstrumentsService,\r\n private activatedRoute: ActivatedRoute,\r\n private location: Location\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.id = this.activatedRoute.snapshot.params['id'];\r\n\r\n this.loadTabsData();\r\n }\r\n\r\n tabChanged(event: any) {\r\n this.tabActive = event.index;\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n\r\n private loadTabsData() {\r\n this.installedInstrument$ = this.sapInstalledInstrumentService\r\n .getInstalledInstrument(this.id)\r\n .pipe(\r\n tap(installedInstrument => {\r\n this.installedInstrument = installedInstrument;\r\n })\r\n );\r\n\r\n this.calls$ = this.sapInstalledInstrumentService\r\n .getCalls(this.id)\r\n .pipe(tap(res => (this.calls = res)));\r\n\r\n this.serviceContracts$ = this.sapInstalledInstrumentService\r\n .getContracts(this.id)\r\n .pipe(tap(res => (this.serviceContracts = res)));\r\n }\r\n}\r\n","<div class=\"container-fluid no-cut\">\r\n <div class=\"card\">\r\n <div class=\"card-header card-header-warning\">\r\n <h3 class=\"card-title\">{{'sapAdminInstalledInstrument.titleInstalledInstrumentDetails' | translate}}</h3>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <button mat-icon-button class=\"back-link\" (click)=\"goBack()\">\r\n <span class=\"material-icons\">keyboard_backspace</span>\r\n </button>\r\n\r\n <mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab label=\"{{'sapAdminInstalledInstrument.instrumentDetails' | translate}}\">\r\n <ng-container *ngIf=\"installedInstrument$ | async\">\r\n <app-data-details-view\r\n *ngIf=\"tabActive === 0\"\r\n [installedInstrument]=\"installedInstrument\"\r\n ></app-data-details-view>\r\n </ng-container>\r\n </mat-tab>\r\n <mat-tab label=\"{{'sapAdminInstalledInstrument.calls' | translate}} ({{calls.length || 0}})\">\r\n <ng-container *ngIf=\"calls$ | async\">\r\n <app-calls-list-view\r\n *ngIf=\"tabActive === 1\"\r\n [calls]=\"calls\"\r\n [contracts]=\"serviceContracts\"\r\n ></app-calls-list-view>\r\n </ng-container>\r\n </mat-tab>\r\n <mat-tab label=\"{{'sapAdminInstalledInstrument.serviceContracts' | translate}} ({{serviceContracts.length || 0}})\">\r\n <ng-container *ngIf=\"serviceContracts$ | async\">\r\n <app-service-contracts-list-view\r\n *ngIf=\"tabActive === 2\"\r\n [contracts]=\"serviceContracts\"\r\n ></app-service-contracts-list-view>\r\n </ng-container>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </div>\r\n</div>\r\n","import {Routes} from '@angular/router';\r\nimport {\r\n SapInstalledInstrumentListComponent\r\n} from \"./components/sap-installed-instrument-list/sap-installed-instrument-list.component\";\r\nimport {\r\n SapInstalledInstrumentDetailsComponent\r\n} from \"./components/sap-installed-instrument-details/sap-installed-instrument-details.component\";\r\n\r\nexport const StSapInstalledInstrumentsRoutingModule: Routes = [\r\n {path: '', component: SapInstalledInstrumentListComponent},\r\n {path: 'details/:id', component: SapInstalledInstrumentDetailsComponent}\r\n];\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SapInstalledInstrumentListComponent } from './components/sap-installed-instrument-list/sap-installed-instrument-list.component';\nimport { SapInstalledInstrumentDetailsComponent } from './components/sap-installed-instrument-details/sap-installed-instrument-details.component';\nimport { DataDetailsViewComponent } from './components/sap-installed-instrument-details/data-details-view/data-details-view.component';\nimport { CallsListViewComponent } from './components/sap-installed-instrument-details/calls-list-view/calls-list-view.component';\nimport { ServiceContractsListViewComponent } from './components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component';\nimport { ServiceContractDetailsViewComponent } from './components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component';\nimport { CallDetailsViewComponent } from './components/sap-installed-instrument-details/call-details-view/call-details-view.component';\nimport { ServiceContractsModalDetailsViewComponent } from './components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component';\nimport { ActivitiesListViewComponent } from './components/sap-installed-instrument-details/activities-list-view/activities-list-view.component';\nimport { ActivityDetailsViewComponent } from './components/sap-installed-instrument-details/activity-details-view/activity-details-view.component';\nimport { SapInstalledInstrumentListSearchComponent } from './components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component';\nimport { SapInstalledInstrumentListTableComponent } from './components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { StSapInstalledInstrumentsRoutingModule } from './sap-installed-instruments-routing.module';\nimport { SapInstalledInstrumentsService } from './services/sap-installed-instruments.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { StDateFormatModule } from 'ngx-st-date-format';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgxStMultiselectAutocompleteModule } from 'ngx-st-multiselect-autocomplete';\nimport { StSearchSelectsModule } from 'ngx-st-search-selects';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatListModule } from '@angular/material/list';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { IDirectiveModuleConfig } from './base-interfaces';\n\n@NgModule({\n declarations: [\n SapInstalledInstrumentListComponent,\n SapInstalledInstrumentDetailsComponent,\n DataDetailsViewComponent,\n CallsListViewComponent,\n ServiceContractsListViewComponent,\n ServiceContractDetailsViewComponent,\n CallDetailsViewComponent,\n ServiceContractsModalDetailsViewComponent,\n ActivitiesListViewComponent,\n ActivityDetailsViewComponent,\n SapInstalledInstrumentListSearchComponent,\n SapInstalledInstrumentListTableComponent,\n ],\n imports: [\n CommonModule,\n RouterModule.forChild(StSapInstalledInstrumentsRoutingModule),\n MatButtonModule,\n MatRippleModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatTooltipModule,\n MatMenuModule,\n MatIconModule,\n MatChipsModule,\n MatTableModule,\n MatPaginatorModule,\n MatListModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatDialogModule,\n MatTabsModule,\n MatSnackBarModule,\n MatCheckboxModule,\n MatAutocompleteModule,\n MatAutocompleteModule,\n MatSortModule,\n TranslateModule.forChild(),\n StDateFormatModule,\n ReactiveFormsModule,\n NgxStMultiselectAutocompleteModule,\n StSearchSelectsModule,\n ],\n providers: [SapInstalledInstrumentsService],\n exports: [],\n})\nexport class StSapInstalledInstrumentsModule {\n public static forRoot(\n config: IDirectiveModuleConfig = {}\n ): ModuleWithProviders<StSapInstalledInstrumentsModule> {\n return {\n ngModule: StSapInstalledInstrumentsModule,\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: config.errorInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: config.apiInterceptor,\n multi: true,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of ngx-st-sap-installed-instruments\n */\n\n// export * from './lib/ngx-st-sap-installed-instruments.service';\n// export * from './lib/ngx-st-sap-installed-instruments.component';\nexport * from './lib/models/installed-instrument-form.model';\nexport * from './lib/models/installed-instrument-sort-by-column.enum';\nexport * from './lib/models/installed-instrument-sort-order.enum';\nexport * from './lib/models/sap-activity.model';\nexport * from './lib/models/sap-attachment.model';\nexport * from './lib/models/sap-call.model';\nexport * from './lib/models/sap-contract.model';\nexport * from './lib/models/sap-country.model';\nexport * from './lib/models/sap-installed-instrument-list.model';\nexport * from './lib/models/sap-installed-instrument-search.model';\nexport * from './lib/models/sap-installed-instrument.model';\nexport * from './lib/models/sap-state.model';\nexport * from './lib/models/sap-territory.model';\nexport * from './lib/models/view-sap-installed-instrument-list.model';\nexport * from './lib/services/sap-installed-instruments.service';\nexport * from './lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component';\nexport * from './lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component';\nexport * from './lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component';\nexport * from './lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component';\nexport * from './lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component';\nexport * from './lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component';\nexport * from './lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component';\nexport * from './lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component';\nexport * from './lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component';\nexport * from './lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component';\nexport * from './lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component';\nexport * from './lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component';\nexport * from './lib/st-sap-installed-instruments.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i6","i1.SapInstalledInstrumentsService","i5","i7","i15","i3.SapInstalledInstrumentListSearchComponent","i4.SapInstalledInstrumentListTableComponent","i4.ActivityDetailsViewComponent","i3.ServiceContractDetailsViewComponent","i2.SapInstalledInstrumentsService","i5.ActivitiesListViewComponent","i4.CallDetailsViewComponent","i6.DataDetailsViewComponent","i7.CallsListViewComponent","i8.ServiceContractsListViewComponent","i9"],"mappings":"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"}