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,921 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Inject, EventEmitter, Component, ChangeDetectionStrategy, ViewChild, Input, Output, HostBinding, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common/http';
4
+ import { HttpParams, HTTP_INTERCEPTORS } from '@angular/common/http';
5
+ import { map, tap } from 'rxjs/operators';
6
+ import moment from 'moment';
7
+ import { StSubscribeDestroyComponent } from 'ngx-st-base-functions';
8
+ import * as i3$1 from '@angular/material/paginator';
9
+ import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
10
+ import * as i2$1 from '@angular/material/table';
11
+ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
12
+ import * as i5 from '@angular/material/sort';
13
+ import { MatSort, MatSortModule } from '@angular/material/sort';
14
+ import * as i2 from '@angular/router';
15
+ import { RouterModule } from '@angular/router';
16
+ import * as i3 from '@angular/common';
17
+ import { CommonModule } from '@angular/common';
18
+ import * as i5$1 from '@ngx-translate/core';
19
+ import { TranslateModule } from '@ngx-translate/core';
20
+ import * as i7 from 'ngx-st-date-format';
21
+ import { StDateFormatModule } from 'ngx-st-date-format';
22
+ import { of } from 'rxjs';
23
+ import * as i3$2 from '@angular/forms';
24
+ import { ReactiveFormsModule } from '@angular/forms';
25
+ import * as i2$2 from '@angular/material/button';
26
+ import { MatButtonModule } from '@angular/material/button';
27
+ import * as i6 from '@angular/material/form-field';
28
+ import { MatFormFieldModule } from '@angular/material/form-field';
29
+ import * as i7$1 from '@angular/material/input';
30
+ import { MatInputModule } from '@angular/material/input';
31
+ import * as i8 from '@angular/material/select';
32
+ import { MatSelectModule } from '@angular/material/select';
33
+ import * as i9 from '@angular/material/core';
34
+ import { MatRippleModule, MatNativeDateModule } from '@angular/material/core';
35
+ import * as i10 from '@angular/material/tooltip';
36
+ import { MatTooltipModule } from '@angular/material/tooltip';
37
+ import * as i11 from '@angular/material/icon';
38
+ import { MatIconModule } from '@angular/material/icon';
39
+ import * as i12 from '@angular/material/datepicker';
40
+ import { MatDatepickerModule } from '@angular/material/datepicker';
41
+ import * as i13 from 'ngx-st-multiselect-autocomplete';
42
+ import { NgxStMultiselectAutocompleteModule } from 'ngx-st-multiselect-autocomplete';
43
+ import * as i14 from 'ngx-st-search-selects';
44
+ import { StSearchSelectsModule } from 'ngx-st-search-selects';
45
+ import { trigger, state, style, transition, animate } from '@angular/animations';
46
+ import * as i1$1 from '@angular/material/dialog';
47
+ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
48
+ import * as i4 from '@angular/material/tabs';
49
+ import { MatTabsModule } from '@angular/material/tabs';
50
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
51
+ import { MatMenuModule } from '@angular/material/menu';
52
+ import { MatChipsModule } from '@angular/material/chips';
53
+ import { MatListModule } from '@angular/material/list';
54
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
55
+ import { MatCheckboxModule } from '@angular/material/checkbox';
56
+
57
+ var InstalledInstrumentSortByColumnEnum;
58
+ (function (InstalledInstrumentSortByColumnEnum) {
59
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["ItemCode"] = 0] = "ItemCode";
60
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["ItemName"] = 1] = "ItemName";
61
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["SerialNumber"] = 2] = "SerialNumber";
62
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["BpId"] = 3] = "BpId";
63
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["BpName"] = 4] = "BpName";
64
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["EndCustomer"] = 5] = "EndCustomer";
65
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["City"] = 6] = "City";
66
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["Territory"] = 7] = "Territory";
67
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["Country"] = 8] = "Country";
68
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["Status"] = 9] = "Status";
69
+ InstalledInstrumentSortByColumnEnum[InstalledInstrumentSortByColumnEnum["InstallationDate"] = 10] = "InstallationDate";
70
+ })(InstalledInstrumentSortByColumnEnum || (InstalledInstrumentSortByColumnEnum = {}));
71
+
72
+ var InstalledInstrumentSortOrderEnum;
73
+ (function (InstalledInstrumentSortOrderEnum) {
74
+ InstalledInstrumentSortOrderEnum[InstalledInstrumentSortOrderEnum["Asc"] = 0] = "Asc";
75
+ InstalledInstrumentSortOrderEnum[InstalledInstrumentSortOrderEnum["Desc"] = 1] = "Desc";
76
+ })(InstalledInstrumentSortOrderEnum || (InstalledInstrumentSortOrderEnum = {}));
77
+
78
+ var InstalledInstrumentTableColumnsMapperEnum;
79
+ (function (InstalledInstrumentTableColumnsMapperEnum) {
80
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["instrumentNo"] = 0] = "instrumentNo";
81
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["instrumentDescription"] = 1] = "instrumentDescription";
82
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["serialNumber"] = 2] = "serialNumber";
83
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["customerNo"] = 3] = "customerNo";
84
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["businessPartnerName"] = 4] = "businessPartnerName";
85
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["endUserName"] = 5] = "endUserName";
86
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["city"] = 6] = "city";
87
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["territoryId"] = 7] = "territoryId";
88
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["country"] = 8] = "country";
89
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["status"] = 9] = "status";
90
+ InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["installationDate"] = 10] = "installationDate";
91
+ })(InstalledInstrumentTableColumnsMapperEnum || (InstalledInstrumentTableColumnsMapperEnum = {}));
92
+
93
+ class SapInstalledInstrumentsService {
94
+ constructor(config, http) {
95
+ this.config = config;
96
+ this.http = http;
97
+ }
98
+ getInstalledInstrumentList(searchForm, sort) {
99
+ const search = {
100
+ applicationList: searchForm?.application || [],
101
+ instrumentNo: searchForm?.instrumentNo || '',
102
+ instrumentDescription: searchForm?.instrumentDesc || '',
103
+ serialNumber: searchForm?.serialNumber || '',
104
+ customerNo: searchForm?.customerNo || '',
105
+ businessPartnerName: searchForm?.bpName || '',
106
+ statusId: searchForm?.status || '',
107
+ technicianLastName: searchForm?.technicianLastName || '',
108
+ territoryId: searchForm?.territory || null,
109
+ endUserName: searchForm?.endUserName || '',
110
+ endUserCode: searchForm?.endUserCode || '',
111
+ city: searchForm?.city || '',
112
+ stateId: searchForm?.state || '',
113
+ countryId: searchForm?.country || '',
114
+ county: searchForm?.county || '',
115
+ installationDateFrom: searchForm?.installationDateFrom
116
+ ? moment(searchForm.installationDateFrom).format('YYYY-MM-DD')
117
+ : null,
118
+ installationDateTo: searchForm?.installationDateTo
119
+ ? moment(searchForm.installationDateTo).format('YYYY-MM-DD')
120
+ : null,
121
+ };
122
+ if (sort && sort.direction !== '') {
123
+ search.sortOrder =
124
+ sort.direction === 'asc'
125
+ ? InstalledInstrumentSortOrderEnum.Asc
126
+ : InstalledInstrumentSortOrderEnum.Desc;
127
+ search.sortByColumn = InstalledInstrumentTableColumnsMapperEnum[sort.active];
128
+ }
129
+ return this.http
130
+ .post(this.config.api_base_uri + '/admin/sap-master-data/installedInstrument/list', search)
131
+ .pipe(map((res) => {
132
+ return res.map(installInstrument => ({
133
+ ...installInstrument,
134
+ technicianName: installInstrument.technicianFirstName
135
+ ? installInstrument.technicianFirstName +
136
+ ' ' +
137
+ installInstrument.technicianLastName
138
+ : '',
139
+ }));
140
+ }));
141
+ }
142
+ getInstalledInstrument(eqCard) {
143
+ const params = new HttpParams().set('eqCard', eqCard);
144
+ return this.http.get(this.config.api_base_uri + '/admin/sap-master-data/installedInstrument', { params });
145
+ }
146
+ getTerritory(refresh = false) {
147
+ const params = new HttpParams().set('refresh', refresh);
148
+ return this.http.get(this.config.api_base_uri +
149
+ '/admin/sap-master-data/installedInstrument/territory', { params });
150
+ }
151
+ getState(country, refresh = false) {
152
+ const params = new HttpParams()
153
+ .set('refresh', refresh)
154
+ .set('country', country);
155
+ return this.http.get(this.config.api_base_uri +
156
+ '/admin/sap-master-data/installedInstrument/state', { params });
157
+ }
158
+ getCountry(refresh = false) {
159
+ const params = new HttpParams().set('refresh', refresh);
160
+ return this.http.get(this.config.api_base_uri +
161
+ '/admin/sap-master-data/installedInstrument/country', { params });
162
+ }
163
+ getContracts(eqCard) {
164
+ const params = new HttpParams().set('eqCard', eqCard);
165
+ return this.http.get(this.config.api_base_uri +
166
+ '/admin/sap-master-data/installedInstrument/contract', { params });
167
+ }
168
+ getCalls(eqCard) {
169
+ const params = new HttpParams().set('eqCard', eqCard);
170
+ return this.http.get(this.config.api_base_uri +
171
+ '/admin/sap-master-data/installedInstrument/call', { params });
172
+ }
173
+ getActivities(callId) {
174
+ const params = new HttpParams().set('callId', callId);
175
+ return this.http.get(this.config.api_base_uri +
176
+ '/admin/sap-master-data/installedInstrument/activity', { params });
177
+ }
178
+ getApplicationSearch(search) {
179
+ return this.http.get(this.config.api_base_uri +
180
+ '/admin/sap-master-data/InstalledInstrument/application?application=' +
181
+ search);
182
+ }
183
+ }
184
+ SapInstalledInstrumentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentsService, deps: [{ token: 'config' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
185
+ SapInstalledInstrumentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentsService });
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentsService, decorators: [{
187
+ type: Injectable
188
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
189
+ type: Inject,
190
+ args: ['config']
191
+ }] }, { type: i1.HttpClient }]; } });
192
+
193
+ class SapInstalledInstrumentListTableComponent extends StSubscribeDestroyComponent {
194
+ constructor(router, activatedRoute) {
195
+ super();
196
+ this.router = router;
197
+ this.activatedRoute = activatedRoute;
198
+ this.sortChanged = new EventEmitter();
199
+ this.dataSource = new MatTableDataSource();
200
+ this.tableColumns = [
201
+ 'instrumentNo',
202
+ 'instrumentDescription',
203
+ 'serialNumber',
204
+ 'customerNo',
205
+ 'businessPartnerName',
206
+ 'endUserName',
207
+ 'city',
208
+ 'territoryId',
209
+ 'country',
210
+ 'installationDate',
211
+ 'status',
212
+ ];
213
+ }
214
+ set tableData(data) {
215
+ this.dataSource.data = data;
216
+ }
217
+ ngOnInit() {
218
+ this.setTableColumns();
219
+ // this.store
220
+ // .select(appQuery.getUser)
221
+ // .pipe(takeUntil(this.ngDestroyed$), filter(StBaseService.notNull))
222
+ // .subscribe(user => {
223
+ // if (!user.instrumentTerritoryFilter) {
224
+ // this.tableColumns = this.tableColumns.filter(
225
+ // column => column !== 'territoryId'
226
+ // );
227
+ // }
228
+ // });
229
+ }
230
+ ngAfterViewInit() {
231
+ this.dataSource.paginator = this.paginator;
232
+ this.dataSource.sort = this.sort;
233
+ this.sort.sortChange.subscribe(res => {
234
+ this.sortChanged.emit(res);
235
+ });
236
+ const queryParamsKeys = Object.keys(this.activatedRoute.snapshot.queryParams || {});
237
+ if (queryParamsKeys.length > 0 &&
238
+ this.activatedRoute.snapshot.queryParams['active'] &&
239
+ this.activatedRoute.snapshot.queryParams['direction']) {
240
+ this.sort.sort({
241
+ id: this.activatedRoute.snapshot.queryParams['active'],
242
+ start: this.activatedRoute.snapshot.queryParams['direction'],
243
+ disableClear: false,
244
+ });
245
+ }
246
+ }
247
+ rowClicked(row) {
248
+ this.router.navigate(['details', row.equipmentCardNo], {
249
+ relativeTo: this.activatedRoute,
250
+ });
251
+ }
252
+ setTableColumns() {
253
+ this.mapTableColumns = {
254
+ instrumentNo: 'sapAdminInstalledInstrument.instrumentNo',
255
+ instrumentDescription: 'sapAdminInstalledInstrument.instrumentDescription',
256
+ serialNumber: 'sapAdminInstalledInstrument.serialNumber',
257
+ customerNo: 'sapAdminInstalledInstrument.accountNo',
258
+ businessPartnerName: 'sapAdminInstalledInstrument.accountName',
259
+ endUserName: 'sapAdminInstalledInstrument.endCustomer',
260
+ city: 'global.city',
261
+ territoryId: 'global.territory',
262
+ country: 'global.country',
263
+ status: 'global.status',
264
+ installationDate: 'sapAdminInstalledInstrument.installationDate',
265
+ };
266
+ }
267
+ }
268
+ SapInstalledInstrumentListTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentListTableComponent, deps: [{ token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
269
+ SapInstalledInstrumentListTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SapInstalledInstrumentListTableComponent, selector: "app-sap-installed-instrument-list-table", inputs: { tableData: "tableData" }, outputs: { sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesInheritance: true, ngImport: i0, template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i5.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentListTableComponent, decorators: [{
271
+ type: Component,
272
+ args: [{ selector: 'app-sap-installed-instrument-list-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}\n"] }]
273
+ }], ctorParameters: function () { return [{ type: i2.Router }, { type: i2.ActivatedRoute }]; }, propDecorators: { paginator: [{
274
+ type: ViewChild,
275
+ args: [MatPaginator, { static: true }]
276
+ }], sort: [{
277
+ type: ViewChild,
278
+ args: [MatSort]
279
+ }], tableData: [{
280
+ type: Input
281
+ }], sortChanged: [{
282
+ type: Output
283
+ }] } });
284
+
285
+ class SapInstalledInstrumentListSearchComponent {
286
+ constructor(sapInstalledInstrumentService, router, activatedRoute, fb) {
287
+ this.sapInstalledInstrumentService = sapInstalledInstrumentService;
288
+ this.router = router;
289
+ this.activatedRoute = activatedRoute;
290
+ this.fb = fb;
291
+ this.filtersChanged = new EventEmitter();
292
+ this.showFilters = false;
293
+ this.searchForm = this.fb.group({
294
+ application: [[]],
295
+ serialNumber: '',
296
+ instrumentNo: '',
297
+ instrumentDesc: '',
298
+ customerNo: '',
299
+ bpName: '',
300
+ city: '',
301
+ county: '',
302
+ endUserName: '',
303
+ endUserCode: '',
304
+ territory: null,
305
+ technicianLastName: '',
306
+ country: '',
307
+ state: '',
308
+ status: '',
309
+ installationDateFrom: null,
310
+ installationDateTo: null
311
+ });
312
+ this.getFilteredOptions = (search) => {
313
+ return this.sapInstalledInstrumentService.getApplicationSearch(search);
314
+ };
315
+ }
316
+ ngOnInit() {
317
+ this.setSearchForm();
318
+ this.setAsyncFilters();
319
+ const queryParamsKeys = Object.keys(this.activatedRoute.snapshot.queryParams || {});
320
+ if (queryParamsKeys.length > 2) {
321
+ this.showFilters = true;
322
+ queryParamsKeys.forEach((queryParam) => {
323
+ const formControl = this.searchForm.get(queryParam);
324
+ if (formControl) {
325
+ if (queryParam === 'installationDateFrom' || queryParam === 'installationDateTo') {
326
+ formControl.setValue(this.activatedRoute.snapshot.queryParams[queryParam] ? new Date(this.activatedRoute.snapshot.queryParams[queryParam]) : null);
327
+ }
328
+ else {
329
+ formControl.setValue(this.activatedRoute.snapshot.queryParams[queryParam]);
330
+ }
331
+ }
332
+ });
333
+ }
334
+ }
335
+ clearAllFilters() {
336
+ this.searchForm.reset();
337
+ this.multiselectAutocomplete.clearSelectedData();
338
+ this.searchSubmitted();
339
+ }
340
+ refreshTerritories() {
341
+ this.searchForm.controls.territory.setValue(null);
342
+ this.territories$ = this.sapInstalledInstrumentService.getTerritory(true);
343
+ }
344
+ refreshCountries() {
345
+ this.searchForm.controls.country.setValue('');
346
+ this.countries$ = this.sapInstalledInstrumentService.getCountry(true);
347
+ }
348
+ refreshStates() {
349
+ this.searchForm.controls.state.setValue('');
350
+ this.states$ = this.sapInstalledInstrumentService.getState(this.searchForm.controls.country.value, true);
351
+ }
352
+ getCountryValue(country) {
353
+ return country.id;
354
+ }
355
+ getStateValue(state) {
356
+ return state.id;
357
+ }
358
+ getTerritoryValue(territory) {
359
+ return territory.id;
360
+ }
361
+ searchSubmitted() {
362
+ const formValues = this.searchForm.getRawValue();
363
+ this.filtersChanged.emit(formValues);
364
+ }
365
+ clearInputValue(formControlName) {
366
+ this.searchForm.get(formControlName).setValue('');
367
+ this.searchSubmitted();
368
+ }
369
+ applicationSelected(data) {
370
+ this.searchForm.controls.application.setValue(data);
371
+ }
372
+ setAsyncFilters() {
373
+ this.territories$ = this.sapInstalledInstrumentService.getTerritory(false);
374
+ this.countries$ = this.sapInstalledInstrumentService.getCountry(false);
375
+ this.states$ = of([]);
376
+ }
377
+ setSearchForm() {
378
+ this.searchForm.controls.country.valueChanges.subscribe((country) => {
379
+ this.searchForm.controls.state.setValue('');
380
+ if (country) {
381
+ this.states$ = this.sapInstalledInstrumentService.getState(country);
382
+ }
383
+ else {
384
+ this.states$ = of([]);
385
+ }
386
+ });
387
+ }
388
+ }
389
+ SapInstalledInstrumentListSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentListSearchComponent, deps: [{ token: SapInstalledInstrumentsService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3$2.NonNullableFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
390
+ SapInstalledInstrumentListSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SapInstalledInstrumentListSearchComponent, selector: "app-sap-installed-instrument-list-search", outputs: { filtersChanged: "filtersChanged" }, viewQueries: [{ propertyName: "multiselectAutocomplete", first: true, predicate: ["multiselectAutocomplete"], descendants: true }], ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i7$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i12.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i12.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i12.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i13.NgxStMultiselectAutocompleteComponent, selector: "ngx-st-multiselect-autocomplete", inputs: ["label", "placeholder", "getFilteredOptions", "initSelectedData", "maxLengthSelectedData"], outputs: ["selectedDataChanged"] }, { kind: "component", type: i14.SearchSelectComponent, selector: "ngx-st-search-select", inputs: ["selectLabel", "filterMethod", "optionLabelMethod", "optionLabelPropertyName", "valueMethod", "displaySelected", "model", "modelChange", "selectFormControl", "required", "selectBindType", "searchLabel", "options"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentListSearchComponent, decorators: [{
392
+ type: Component,
393
+ args: [{ selector: 'app-sap-installed-instrument-list-search', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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" }]
394
+ }], ctorParameters: function () { return [{ type: SapInstalledInstrumentsService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3$2.NonNullableFormBuilder }]; }, propDecorators: { multiselectAutocomplete: [{
395
+ type: ViewChild,
396
+ args: ['multiselectAutocomplete']
397
+ }], filtersChanged: [{
398
+ type: Output
399
+ }] } });
400
+
401
+ class SapInstalledInstrumentListComponent extends StSubscribeDestroyComponent {
402
+ constructor(sapInstalledInstrumentService, changeDetector, router, activatedRoute) {
403
+ super();
404
+ this.sapInstalledInstrumentService = sapInstalledInstrumentService;
405
+ this.changeDetector = changeDetector;
406
+ this.router = router;
407
+ this.activatedRoute = activatedRoute;
408
+ this.class = 'display-flex-component';
409
+ this.installedInstruments = [];
410
+ this.lastSearchFilters = {};
411
+ this.lastSearchSorts = {};
412
+ }
413
+ ngOnInit() {
414
+ const queryParamsKeys = Object.keys(this.activatedRoute.snapshot.queryParams || {});
415
+ if (queryParamsKeys.length > 0) {
416
+ queryParamsKeys.forEach(queryParam => {
417
+ if (queryParam === 'active' || queryParam === 'direction') {
418
+ this.lastSearchSorts[queryParam] =
419
+ this.activatedRoute.snapshot.queryParams[queryParam];
420
+ }
421
+ else {
422
+ this.lastSearchFilters[queryParam] =
423
+ this.activatedRoute.snapshot.queryParams[queryParam];
424
+ this.lastSearchFilters['installationDateFrom'] = this.activatedRoute
425
+ .snapshot.queryParams['installationDateFrom']
426
+ ? new Date(this.activatedRoute.snapshot.queryParams['installationDateFrom'])
427
+ : null;
428
+ this.lastSearchFilters['installationDateTo'] = this.activatedRoute
429
+ .snapshot.queryParams['installationDateTo']
430
+ ? new Date(this.activatedRoute.snapshot.queryParams['installationDateTo'])
431
+ : null;
432
+ }
433
+ });
434
+ }
435
+ this.loadInstalledInstruments(this.lastSearchFilters, this.lastSearchSorts);
436
+ }
437
+ filtersChanged(event) {
438
+ this.loadInstalledInstruments(event, this.lastSearchSorts);
439
+ }
440
+ sortChanged(event) {
441
+ this.loadInstalledInstruments(this.lastSearchFilters, event);
442
+ }
443
+ loadInstalledInstruments(searchForm, sort) {
444
+ this.router.navigate([], {
445
+ queryParams: {
446
+ ...searchForm,
447
+ installationDateFrom: searchForm.installationDateFrom?.toISOString() || '',
448
+ installationDateTo: searchForm.installationDateTo?.toISOString() || '',
449
+ ...sort,
450
+ },
451
+ });
452
+ this.sapInstalledInstrumentService
453
+ .getInstalledInstrumentList(searchForm, sort)
454
+ .subscribe(res => {
455
+ this.lastSearchFilters = searchForm;
456
+ this.lastSearchSorts = sort;
457
+ this.installedInstruments = res;
458
+ this.changeDetector.markForCheck();
459
+ });
460
+ }
461
+ }
462
+ SapInstalledInstrumentListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentListComponent, deps: [{ token: SapInstalledInstrumentsService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
463
+ SapInstalledInstrumentListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SapInstalledInstrumentListComponent, selector: "app-sap-installed-instrument-list", host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: SapInstalledInstrumentListSearchComponent, selector: "app-sap-installed-instrument-list-search", outputs: ["filtersChanged"] }, { kind: "component", type: SapInstalledInstrumentListTableComponent, selector: "app-sap-installed-instrument-list-table", inputs: ["tableData"], outputs: ["sortChanged"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentListComponent, decorators: [{
465
+ type: Component,
466
+ args: [{ selector: 'app-sap-installed-instrument-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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" }]
467
+ }], ctorParameters: function () { return [{ type: SapInstalledInstrumentsService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i2.ActivatedRoute }]; }, propDecorators: { class: [{
468
+ type: HostBinding,
469
+ args: ['class']
470
+ }] } });
471
+
472
+ class ActivityDetailsViewComponent {
473
+ constructor(config) {
474
+ this.config = config;
475
+ this.baseDownloadLink = '';
476
+ }
477
+ ngOnInit() {
478
+ this.baseDownloadLink =
479
+ this.config.api_base_uri +
480
+ '/admin/sap-master-data/installedInstrument/activity-attachment?access_token=' +
481
+ this.config.accessToken;
482
+ }
483
+ updateLink() {
484
+ const company = localStorage.getItem('company-id')
485
+ ? `&company-id=${localStorage.getItem('company-id')}`
486
+ : '';
487
+ this.baseDownloadLink =
488
+ this.config.api_base_uri +
489
+ '/admin/sap-master-data/installedInstrument/activity-attachment?access_token=' +
490
+ this.config.accessToken +
491
+ company;
492
+ }
493
+ }
494
+ ActivityDetailsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ActivityDetailsViewComponent, deps: [{ token: 'config' }], target: i0.ɵɵFactoryTarget.Component });
495
+ ActivityDetailsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: { activity: "activity" }, ngImport: i0, template: "<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", styles: [".group-details .attachments-title{font-weight:500;margin-bottom:0}.group-details ul{padding-left:0}.group-details ul li{padding:0 10px;border-right:2px solid #66bb6a}.group-details ul li:last-child{border-right:0}.group-details ul li p{margin-bottom:0}.group-details ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.group-details ul li button:hover{opacity:1}.group-details ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }] });
496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ActivityDetailsViewComponent, decorators: [{
497
+ type: Component,
498
+ args: [{ selector: 'app-activity-details-view', template: "<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", styles: [".group-details .attachments-title{font-weight:500;margin-bottom:0}.group-details ul{padding-left:0}.group-details ul li{padding:0 10px;border-right:2px solid #66bb6a}.group-details ul li:last-child{border-right:0}.group-details ul li p{margin-bottom:0}.group-details ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.group-details ul li button:hover{opacity:1}.group-details ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"] }]
499
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
500
+ type: Inject,
501
+ args: ['config']
502
+ }] }]; }, propDecorators: { activity: [{
503
+ type: Input
504
+ }] } });
505
+
506
+ class ActivitiesListViewComponent {
507
+ constructor() {
508
+ this.class = 'display-flex-component';
509
+ this.columnsToDisplay = ['activityNumber', 'detailedSymptom', 'solution', 'coordinator', 'startTime', 'endTime'];
510
+ }
511
+ ngOnInit() {
512
+ this.setTable();
513
+ }
514
+ ngAfterViewInit() {
515
+ this.paginator.pageSize = 5;
516
+ this.tableSource.paginator = this.paginator;
517
+ }
518
+ setTable() {
519
+ this.tableSource = new MatTableDataSource(this.activities);
520
+ }
521
+ }
522
+ ActivitiesListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ActivitiesListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
523
+ ActivitiesListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: { activities: "activities" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}.activities-list-view{width:100%}table::ng-deep tbody>tr.active{background-color:#90caf9!important}table::ng-deep tbody>tr:hover{background-color:#90caf9!important}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:#f5f5f5!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background:whitesmoke}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#bbdefb;border-left:3px solid #bbdefb;border-right:3px solid #bbdefb}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #bbdefb;border-right:3px solid #bbdefb;border-bottom:3px solid #bbdefb}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: ["activity"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
524
+ trigger('detailExpand', [
525
+ state('collapsed', style({ height: '0px', minHeight: '0' })),
526
+ state('expanded', style({ height: '*' })),
527
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
528
+ ]),
529
+ ] });
530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ActivitiesListViewComponent, decorators: [{
531
+ type: Component,
532
+ args: [{ selector: 'app-activities-list-view', animations: [
533
+ trigger('detailExpand', [
534
+ state('collapsed', style({ height: '0px', minHeight: '0' })),
535
+ state('expanded', style({ height: '*' })),
536
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
537
+ ]),
538
+ ], template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}.activities-list-view{width:100%}table::ng-deep tbody>tr.active{background-color:#90caf9!important}table::ng-deep tbody>tr:hover{background-color:#90caf9!important}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:#f5f5f5!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background:whitesmoke}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#bbdefb;border-left:3px solid #bbdefb;border-right:3px solid #bbdefb}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #bbdefb;border-right:3px solid #bbdefb;border-bottom:3px solid #bbdefb}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
539
+ }], ctorParameters: function () { return []; }, propDecorators: { class: [{
540
+ type: HostBinding,
541
+ args: ['class']
542
+ }], paginator: [{
543
+ type: ViewChild,
544
+ args: [MatPaginator]
545
+ }], activities: [{
546
+ type: Input
547
+ }] } });
548
+
549
+ class ServiceContractDetailsViewComponent {
550
+ constructor() {
551
+ }
552
+ ngOnInit() {
553
+ }
554
+ }
555
+ ServiceContractDetailsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ServiceContractDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
556
+ ServiceContractDetailsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ServiceContractDetailsViewComponent, selector: "app-service-contract-details-view", inputs: { contract: "contract" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateFormatPipe, name: "stDateFormatPipe" }] });
557
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ServiceContractDetailsViewComponent, decorators: [{
558
+ type: Component,
559
+ args: [{ selector: 'app-service-contract-details-view', template: "<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" }]
560
+ }], ctorParameters: function () { return []; }, propDecorators: { contract: [{
561
+ type: Input
562
+ }] } });
563
+
564
+ class ServiceContractsModalDetailsViewComponent {
565
+ constructor(data, dialogRef) {
566
+ this.data = data;
567
+ this.dialogRef = dialogRef;
568
+ }
569
+ ngOnInit() {
570
+ }
571
+ close() {
572
+ this.dialogRef.close();
573
+ }
574
+ }
575
+ ServiceContractsModalDetailsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ServiceContractsModalDetailsViewComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
576
+ ServiceContractsModalDetailsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ServiceContractsModalDetailsViewComponent, selector: "app-service-contracts-modal-details-view", ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i2$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: ServiceContractDetailsViewComponent, selector: "app-service-contract-details-view", inputs: ["contract"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }] });
577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ServiceContractsModalDetailsViewComponent, decorators: [{
578
+ type: Component,
579
+ args: [{ selector: 'app-service-contracts-modal-details-view', template: "<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" }]
580
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
581
+ type: Inject,
582
+ args: [MAT_DIALOG_DATA]
583
+ }] }, { type: i1$1.MatDialogRef }]; } });
584
+
585
+ class CallDetailsViewComponent {
586
+ constructor(dialog, sapInstalledInstruments) {
587
+ this.dialog = dialog;
588
+ this.sapInstalledInstruments = sapInstalledInstruments;
589
+ this.activitiesLoading = true;
590
+ this.activities = [];
591
+ }
592
+ ngOnInit() {
593
+ if (this.call && this.contracts && this.call.contractNo) {
594
+ this.contractDetails = this.contracts.find((contract) => contract.contractId === this.call.contractNo);
595
+ }
596
+ this.loadActivities();
597
+ }
598
+ openContractModel() {
599
+ this.dialog.open(ServiceContractsModalDetailsViewComponent, {
600
+ data: { contract: this.contractDetails },
601
+ width: '50%',
602
+ });
603
+ }
604
+ tabChanged(event) {
605
+ }
606
+ loadActivities() {
607
+ this.activities$ = this.sapInstalledInstruments.getActivities(this.call.callId)
608
+ .pipe(tap(res => {
609
+ this.activities = res;
610
+ this.activitiesLoading = false;
611
+ }));
612
+ }
613
+ }
614
+ CallDetailsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CallDetailsViewComponent, deps: [{ token: i1$1.MatDialog }, { token: SapInstalledInstrumentsService }], target: i0.ɵɵFactoryTarget.Component });
615
+ CallDetailsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CallDetailsViewComponent, selector: "app-call-details-view", inputs: { call: "call", contracts: "contracts" }, ngImport: i0, template: "<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", styles: [".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: ["activities"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }] });
616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CallDetailsViewComponent, decorators: [{
617
+ type: Component,
618
+ args: [{ selector: 'app-call-details-view', template: "<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", styles: [".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"] }]
619
+ }], ctorParameters: function () { return [{ type: i1$1.MatDialog }, { type: SapInstalledInstrumentsService }]; }, propDecorators: { call: [{
620
+ type: Input
621
+ }], contracts: [{
622
+ type: Input
623
+ }] } });
624
+
625
+ class CallsListViewComponent {
626
+ constructor() {
627
+ this.class = 'display-flex-component';
628
+ this.columnsToDisplay = ['callId', 'callStatus', 'callType', 'problemType', 'customer', 'customerName', 'handledBy', 'createdOn', 'closedOn'];
629
+ }
630
+ ngOnInit() {
631
+ this.setTable();
632
+ }
633
+ ngAfterViewInit() {
634
+ this.paginator.pageSize = 10;
635
+ this.tableSource.paginator = this.paginator;
636
+ }
637
+ setTable() {
638
+ this.tableSource = new MatTableDataSource(this.calls);
639
+ }
640
+ }
641
+ CallsListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CallsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
642
+ CallsListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CallsListViewComponent, selector: "app-calls-list-view", inputs: { calls: "calls", contracts: "contracts" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}.calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:#f5f5f5!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background:whitesmoke}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#c8e6c9;border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9;border-bottom:3px solid #c8e6c9}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: CallDetailsViewComponent, selector: "app-call-details-view", inputs: ["call", "contracts"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
643
+ trigger('detailExpand', [
644
+ state('collapsed', style({ height: '0px', minHeight: '0' })),
645
+ state('expanded', style({ height: '*' })),
646
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
647
+ ]),
648
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CallsListViewComponent, decorators: [{
650
+ type: Component,
651
+ args: [{ selector: 'app-calls-list-view', animations: [
652
+ trigger('detailExpand', [
653
+ state('collapsed', style({ height: '0px', minHeight: '0' })),
654
+ state('expanded', style({ height: '*' })),
655
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
656
+ ]),
657
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}.calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:#f5f5f5!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background:whitesmoke}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#c8e6c9;border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9;border-bottom:3px solid #c8e6c9}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
658
+ }], ctorParameters: function () { return []; }, propDecorators: { class: [{
659
+ type: HostBinding,
660
+ args: ['class']
661
+ }], paginator: [{
662
+ type: ViewChild,
663
+ args: [MatPaginator]
664
+ }], calls: [{
665
+ type: Input
666
+ }], contracts: [{
667
+ type: Input
668
+ }] } });
669
+
670
+ class DataDetailsViewComponent {
671
+ constructor() {
672
+ }
673
+ ngOnInit() {
674
+ }
675
+ }
676
+ DataDetailsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DataDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
677
+ DataDetailsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DataDetailsViewComponent, selector: "app-data-details-view", inputs: { installedInstrument: "installedInstrument" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
678
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DataDetailsViewComponent, decorators: [{
679
+ type: Component,
680
+ args: [{ selector: 'app-data-details-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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" }]
681
+ }], ctorParameters: function () { return []; }, propDecorators: { installedInstrument: [{
682
+ type: Input
683
+ }] } });
684
+
685
+ class ServiceContractsListViewComponent {
686
+ constructor() {
687
+ this.class = 'display-flex-component';
688
+ this.columnsToDisplay = ['contractId', 'customer', 'customerName', 'itemCode', 'itemName', 'serialNumber', 'serviceType', 'startDate', 'terminationDate'];
689
+ }
690
+ ngOnInit() {
691
+ this.setTable();
692
+ }
693
+ ngAfterViewInit() {
694
+ this.paginator.pageSize = 10;
695
+ this.tableSource.paginator = this.paginator;
696
+ }
697
+ setTable() {
698
+ this.tableSource = new MatTableDataSource(this.contracts);
699
+ }
700
+ }
701
+ ServiceContractsListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ServiceContractsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
702
+ ServiceContractsListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ServiceContractsListViewComponent, selector: "app-service-contracts-list-view", inputs: { contracts: "contracts" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}.service-contracts-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:#f5f5f5!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background:whitesmoke}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#c8e6c9;border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9;border-bottom:3px solid #c8e6c9}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3$1.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: ServiceContractDetailsViewComponent, selector: "app-service-contract-details-view", inputs: ["contract"] }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.DateFormatPipe, name: "stDateFormatPipe" }], animations: [
703
+ trigger('detailExpand', [
704
+ state('collapsed', style({ height: '0px', minHeight: '0' })),
705
+ state('expanded', style({ height: '*' })),
706
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
707
+ ]),
708
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ServiceContractsListViewComponent, decorators: [{
710
+ type: Component,
711
+ args: [{ selector: 'app-service-contracts-list-view', animations: [
712
+ trigger('detailExpand', [
713
+ state('collapsed', style({ height: '0px', minHeight: '0' })),
714
+ state('expanded', style({ height: '*' })),
715
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
716
+ ]),
717
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%}table::ng-deep thead tr{background-color:#fff9c4}table::ng-deep thead tr th{border-color:#fdd835}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr:hover{background-color:#a5d6a7}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent}table.no-hover::ng-deep tbody tr:hover{background-color:transparent}table.admin-table::ng-deep .actions-cell{width:100px}.service-contracts-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:#f5f5f5!important}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent!important;cursor:default}table::ng-deep tbody>tr.detail-row{height:0}table::ng-deep tbody>tr.detail-row .row-detail{overflow:hidden;max-height:inherit}table::ng-deep tbody>tr.detail-row .row-detail ul{margin:10px 0}table::ng-deep tbody>tr.details-element-row:not(.details-expanded-row):hover{background:whitesmoke}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:#c8e6c9;border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid #c8e6c9;border-right:3px solid #c8e6c9;border-bottom:3px solid #c8e6c9}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
718
+ }], ctorParameters: function () { return []; }, propDecorators: { class: [{
719
+ type: HostBinding,
720
+ args: ['class']
721
+ }], paginator: [{
722
+ type: ViewChild,
723
+ args: [MatPaginator]
724
+ }], contracts: [{
725
+ type: Input
726
+ }] } });
727
+
728
+ class SapInstalledInstrumentDetailsComponent {
729
+ constructor(sapInstalledInstrumentService, activatedRoute, location) {
730
+ this.sapInstalledInstrumentService = sapInstalledInstrumentService;
731
+ this.activatedRoute = activatedRoute;
732
+ this.location = location;
733
+ this.class = 'display-flex-component';
734
+ this.tabActive = 0;
735
+ this.calls = [];
736
+ this.serviceContracts = [];
737
+ }
738
+ ngOnInit() {
739
+ this.id = this.activatedRoute.snapshot.params['id'];
740
+ this.loadTabsData();
741
+ }
742
+ tabChanged(event) {
743
+ this.tabActive = event.index;
744
+ }
745
+ goBack() {
746
+ this.location.back();
747
+ }
748
+ loadTabsData() {
749
+ this.installedInstrument$ = this.sapInstalledInstrumentService
750
+ .getInstalledInstrument(this.id)
751
+ .pipe(tap(installedInstrument => {
752
+ this.installedInstrument = installedInstrument;
753
+ }));
754
+ this.calls$ = this.sapInstalledInstrumentService
755
+ .getCalls(this.id)
756
+ .pipe(tap(res => (this.calls = res)));
757
+ this.serviceContracts$ = this.sapInstalledInstrumentService
758
+ .getContracts(this.id)
759
+ .pipe(tap(res => (this.serviceContracts = res)));
760
+ }
761
+ }
762
+ SapInstalledInstrumentDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentDetailsComponent, deps: [{ token: SapInstalledInstrumentsService }, { token: i2.ActivatedRoute }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component });
763
+ SapInstalledInstrumentDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SapInstalledInstrumentDetailsComponent, selector: "app-sap-installed-instrument-details", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<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", styles: ["mat-tab-group::ng-deep mat-tab-body{padding:10px 0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: DataDetailsViewComponent, selector: "app-data-details-view", inputs: ["installedInstrument"] }, { kind: "component", type: CallsListViewComponent, selector: "app-calls-list-view", inputs: ["calls", "contracts"] }, { kind: "component", type: ServiceContractsListViewComponent, selector: "app-service-contracts-list-view", inputs: ["contracts"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.TranslatePipe, name: "translate" }] });
764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SapInstalledInstrumentDetailsComponent, decorators: [{
765
+ type: Component,
766
+ args: [{ selector: 'app-sap-installed-instrument-details', template: "<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", styles: ["mat-tab-group::ng-deep mat-tab-body{padding:10px 0}\n"] }]
767
+ }], ctorParameters: function () { return [{ type: SapInstalledInstrumentsService }, { type: i2.ActivatedRoute }, { type: i3.Location }]; }, propDecorators: { class: [{
768
+ type: HostBinding,
769
+ args: ['class']
770
+ }] } });
771
+
772
+ const StSapInstalledInstrumentsRoutingModule = [
773
+ { path: '', component: SapInstalledInstrumentListComponent },
774
+ { path: 'details/:id', component: SapInstalledInstrumentDetailsComponent }
775
+ ];
776
+
777
+ class StSapInstalledInstrumentsModule {
778
+ static forRoot(config = {}) {
779
+ return {
780
+ ngModule: StSapInstalledInstrumentsModule,
781
+ providers: [
782
+ {
783
+ provide: HTTP_INTERCEPTORS,
784
+ useClass: config.errorInterceptor,
785
+ multi: true,
786
+ },
787
+ {
788
+ provide: HTTP_INTERCEPTORS,
789
+ useClass: config.apiInterceptor,
790
+ multi: true,
791
+ },
792
+ ],
793
+ };
794
+ }
795
+ }
796
+ StSapInstalledInstrumentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StSapInstalledInstrumentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
797
+ StSapInstalledInstrumentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: StSapInstalledInstrumentsModule, declarations: [SapInstalledInstrumentListComponent,
798
+ SapInstalledInstrumentDetailsComponent,
799
+ DataDetailsViewComponent,
800
+ CallsListViewComponent,
801
+ ServiceContractsListViewComponent,
802
+ ServiceContractDetailsViewComponent,
803
+ CallDetailsViewComponent,
804
+ ServiceContractsModalDetailsViewComponent,
805
+ ActivitiesListViewComponent,
806
+ ActivityDetailsViewComponent,
807
+ SapInstalledInstrumentListSearchComponent,
808
+ SapInstalledInstrumentListTableComponent], imports: [CommonModule, i2.RouterModule, MatButtonModule,
809
+ MatRippleModule,
810
+ MatFormFieldModule,
811
+ MatInputModule,
812
+ MatSelectModule,
813
+ MatTooltipModule,
814
+ MatMenuModule,
815
+ MatIconModule,
816
+ MatChipsModule,
817
+ MatTableModule,
818
+ MatPaginatorModule,
819
+ MatListModule,
820
+ MatDatepickerModule,
821
+ MatNativeDateModule,
822
+ MatDialogModule,
823
+ MatTabsModule,
824
+ MatSnackBarModule,
825
+ MatCheckboxModule,
826
+ MatAutocompleteModule,
827
+ MatAutocompleteModule,
828
+ MatSortModule, i5$1.TranslateModule, StDateFormatModule,
829
+ ReactiveFormsModule,
830
+ NgxStMultiselectAutocompleteModule,
831
+ StSearchSelectsModule] });
832
+ StSapInstalledInstrumentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StSapInstalledInstrumentsModule, providers: [SapInstalledInstrumentsService], imports: [CommonModule,
833
+ RouterModule.forChild(StSapInstalledInstrumentsRoutingModule),
834
+ MatButtonModule,
835
+ MatRippleModule,
836
+ MatFormFieldModule,
837
+ MatInputModule,
838
+ MatSelectModule,
839
+ MatTooltipModule,
840
+ MatMenuModule,
841
+ MatIconModule,
842
+ MatChipsModule,
843
+ MatTableModule,
844
+ MatPaginatorModule,
845
+ MatListModule,
846
+ MatDatepickerModule,
847
+ MatNativeDateModule,
848
+ MatDialogModule,
849
+ MatTabsModule,
850
+ MatSnackBarModule,
851
+ MatCheckboxModule,
852
+ MatAutocompleteModule,
853
+ MatAutocompleteModule,
854
+ MatSortModule,
855
+ TranslateModule.forChild(),
856
+ StDateFormatModule,
857
+ ReactiveFormsModule,
858
+ NgxStMultiselectAutocompleteModule,
859
+ StSearchSelectsModule] });
860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StSapInstalledInstrumentsModule, decorators: [{
861
+ type: NgModule,
862
+ args: [{
863
+ declarations: [
864
+ SapInstalledInstrumentListComponent,
865
+ SapInstalledInstrumentDetailsComponent,
866
+ DataDetailsViewComponent,
867
+ CallsListViewComponent,
868
+ ServiceContractsListViewComponent,
869
+ ServiceContractDetailsViewComponent,
870
+ CallDetailsViewComponent,
871
+ ServiceContractsModalDetailsViewComponent,
872
+ ActivitiesListViewComponent,
873
+ ActivityDetailsViewComponent,
874
+ SapInstalledInstrumentListSearchComponent,
875
+ SapInstalledInstrumentListTableComponent,
876
+ ],
877
+ imports: [
878
+ CommonModule,
879
+ RouterModule.forChild(StSapInstalledInstrumentsRoutingModule),
880
+ MatButtonModule,
881
+ MatRippleModule,
882
+ MatFormFieldModule,
883
+ MatInputModule,
884
+ MatSelectModule,
885
+ MatTooltipModule,
886
+ MatMenuModule,
887
+ MatIconModule,
888
+ MatChipsModule,
889
+ MatTableModule,
890
+ MatPaginatorModule,
891
+ MatListModule,
892
+ MatDatepickerModule,
893
+ MatNativeDateModule,
894
+ MatDialogModule,
895
+ MatTabsModule,
896
+ MatSnackBarModule,
897
+ MatCheckboxModule,
898
+ MatAutocompleteModule,
899
+ MatAutocompleteModule,
900
+ MatSortModule,
901
+ TranslateModule.forChild(),
902
+ StDateFormatModule,
903
+ ReactiveFormsModule,
904
+ NgxStMultiselectAutocompleteModule,
905
+ StSearchSelectsModule,
906
+ ],
907
+ providers: [SapInstalledInstrumentsService],
908
+ exports: [],
909
+ }]
910
+ }] });
911
+
912
+ /*
913
+ * Public API Surface of ngx-st-sap-installed-instruments
914
+ */
915
+
916
+ /**
917
+ * Generated bundle index. Do not edit.
918
+ */
919
+
920
+ export { ActivitiesListViewComponent, ActivityDetailsViewComponent, CallDetailsViewComponent, CallsListViewComponent, DataDetailsViewComponent, InstalledInstrumentSortByColumnEnum, InstalledInstrumentSortOrderEnum, SapInstalledInstrumentDetailsComponent, SapInstalledInstrumentListComponent, SapInstalledInstrumentListSearchComponent, SapInstalledInstrumentListTableComponent, SapInstalledInstrumentsService, ServiceContractDetailsViewComponent, ServiceContractsListViewComponent, ServiceContractsModalDetailsViewComponent, StSapInstalledInstrumentsModule };
921
+ //# sourceMappingURL=ngx-st-sap-installed-instruments.mjs.map