ngx-st-sap-installed-instruments 19.0.1 → 20.0.1

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 (36) hide show
  1. package/fesm2022/ngx-st-sap-installed-instruments.mjs +269 -277
  2. package/fesm2022/ngx-st-sap-installed-instruments.mjs.map +1 -1
  3. package/index.d.ts +544 -5
  4. package/package.json +7 -7
  5. package/lib/base-interfaces.d.ts +0 -8
  6. package/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.d.ts +0 -20
  7. package/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.d.ts +0 -10
  8. package/lib/components/sap-installed-instrument-details/attachments-list-view/attachments-list-view.component.d.ts +0 -15
  9. package/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.d.ts +0 -23
  10. package/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.d.ts +0 -20
  11. package/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.d.ts +0 -9
  12. package/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.d.ts +0 -27
  13. package/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.d.ts +0 -7
  14. package/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.d.ts +0 -17
  15. package/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.d.ts +0 -12
  16. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.d.ts +0 -53
  17. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.d.ts +0 -36
  18. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.d.ts +0 -24
  19. package/lib/models/installed-instrument-form.model.d.ts +0 -20
  20. package/lib/models/installed-instrument-sort-by-column.enum.d.ts +0 -13
  21. package/lib/models/installed-instrument-sort-order.enum.d.ts +0 -4
  22. package/lib/models/installed-instrument-table-columns.model.d.ts +0 -14
  23. package/lib/models/sap-activity.model.d.ts +0 -24
  24. package/lib/models/sap-attachment.model.d.ts +0 -7
  25. package/lib/models/sap-call.model.d.ts +0 -37
  26. package/lib/models/sap-contract.model.d.ts +0 -20
  27. package/lib/models/sap-country.model.d.ts +0 -4
  28. package/lib/models/sap-installed-instrument-list.model.d.ts +0 -24
  29. package/lib/models/sap-installed-instrument-search.model.d.ts +0 -23
  30. package/lib/models/sap-installed-instrument.model.d.ts +0 -54
  31. package/lib/models/sap-state.model.d.ts +0 -5
  32. package/lib/models/sap-territory.model.d.ts +0 -4
  33. package/lib/models/view-sap-installed-instrument-list.model.d.ts +0 -4
  34. package/lib/ngx-st-sap-installed-instruments.module.d.ts +0 -52
  35. package/lib/services/sap-installed-instruments.service.d.ts +0 -33
  36. package/public-api.d.ts +0 -28
@@ -1,56 +1,41 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Inject, SkipSelf, Injectable, viewChild, input, output, signal, inject, ChangeDetectorRef, effect, ChangeDetectionStrategy, Component, ViewChild, HostBinding, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common/http';
4
- import { HttpParams } from '@angular/common/http';
5
- import { map, takeUntil, tap } from 'rxjs/operators';
2
+ import { inject, Injectable, viewChild, input, output, signal, ChangeDetectorRef, DestroyRef, effect, ChangeDetectionStrategy, Component, Injector, NgModule } from '@angular/core';
3
+ import { HttpClient, HttpParams } from '@angular/common/http';
4
+ import { map, takeUntil, switchMap } from 'rxjs/operators';
6
5
  import moment from 'moment';
7
- import { StSubscribeDestroyComponent } from 'ngx-st-base-functions';
6
+ import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
8
7
  import { Router, ActivatedRoute } from '@angular/router';
9
- import * as i7 from '@angular/material/sort';
10
- import { MatSort, MatSortModule } from '@angular/material/sort';
11
- import * as i2$1 from '@angular/material/paginator';
8
+ import { MatSort, MatSortHeader, MatSortModule } from '@angular/material/sort';
12
9
  import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
13
- import * as i1$3 from '@angular/material/table';
14
- import { MatTableDataSource, MatTableModule } from '@angular/material/table';
10
+ import { MatTableDataSource, MatTable, MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, MatHeaderRowDef, MatHeaderRow, MatRowDef, MatRow, MatTableModule } from '@angular/material/table';
15
11
  import { SelectionModel } from '@angular/cdk/collections';
16
- import * as i1$1 from '@angular/material/button';
17
- import { MatButtonModule } from '@angular/material/button';
18
- import * as i2 from '@angular/material/menu';
19
- import { MatMenuModule } from '@angular/material/menu';
20
- import * as i1$2 from '@angular/material/icon';
21
- import { MatIconModule } from '@angular/material/icon';
22
- import * as i6 from '@angular/material/checkbox';
23
- import { MatCheckboxModule } from '@angular/material/checkbox';
24
- import * as i4 from '@ngx-translate/core';
25
- import { TranslateModule } from '@ngx-translate/core';
26
- import * as i5 from 'ngx-st-date-format';
12
+ import { MatButton, MatIconButton, MatButtonModule } from '@angular/material/button';
13
+ import { MatMenuTrigger, MatMenu, MatMenuItem, MatMenuModule } from '@angular/material/menu';
14
+ import { MatIcon, MatIconRegistry, MatIconModule } from '@angular/material/icon';
15
+ import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
16
+ import * as i1$3 from '@ngx-translate/core';
17
+ import { TranslatePipe, TranslateModule } from '@ngx-translate/core';
18
+ import * as i1 from 'ngx-st-date-format';
27
19
  import { StDateFormatModule } from 'ngx-st-date-format';
28
- import * as i9 from '@angular/forms';
20
+ import * as i1$1 from '@angular/forms';
29
21
  import { NonNullableFormBuilder, ReactiveFormsModule } from '@angular/forms';
30
22
  import { Subject, of } from 'rxjs';
31
- import * as i1$4 from '@angular/common';
32
- import { Location, CommonModule } from '@angular/common';
33
- import * as i3 from '@angular/material/form-field';
34
- import { MatFormFieldModule } from '@angular/material/form-field';
35
- import * as i4$1 from '@angular/material/input';
36
- import { MatInputModule } from '@angular/material/input';
37
- import * as i5$1 from '@angular/material/select';
38
- import { MatSelectModule } from '@angular/material/select';
39
- import * as i6$1 from '@angular/material/tooltip';
40
- import { MatTooltipModule } from '@angular/material/tooltip';
41
- import * as i8 from '@angular/material/datepicker';
42
- import { MatDatepickerModule } from '@angular/material/datepicker';
43
- import * as i10 from 'ngx-st-multiselect-autocomplete';
23
+ import * as i2 from 'ngx-st-multiselect-autocomplete';
44
24
  import { StMultiselectAutocompleteModule } from 'ngx-st-multiselect-autocomplete';
45
- import * as i11 from 'ngx-st-search-selects';
25
+ import { NgClass, AsyncPipe, NgTemplateOutlet, Location, CommonModule } from '@angular/common';
26
+ import { MatFormField, MatSuffix, MatLabel, MatFormFieldModule } from '@angular/material/form-field';
27
+ import { MatInput, MatInputModule } from '@angular/material/input';
28
+ import { MatSelect, MatOption, MatSelectModule } from '@angular/material/select';
29
+ import * as i3 from 'ngx-st-search-selects';
46
30
  import { StSearchSelectsModule } from 'ngx-st-search-selects';
47
- import * as i2$2 from 'ngx-st-card';
31
+ import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
32
+ import { MatDatepickerInput, MatDatepickerToggle, MatDatepicker, MatDatepickerModule } from '@angular/material/datepicker';
33
+ import * as i1$2 from 'ngx-st-card';
48
34
  import { NgxStCardModule } from 'ngx-st-card';
49
35
  import { trigger, state, style, transition, animate } from '@angular/animations';
50
- import * as i2$3 from '@angular/material/dialog';
51
- import { MAT_DIALOG_DATA, MatDialogRef, MatDialog, MatDialogModule } from '@angular/material/dialog';
52
- import * as i2$4 from '@angular/material/tabs';
53
- import { MatTabsModule } from '@angular/material/tabs';
36
+ import { MAT_DIALOG_DATA, MatDialogRef, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialog, MatDialogModule } from '@angular/material/dialog';
37
+ import { CdkScrollable } from '@angular/cdk/scrolling';
38
+ import { MatTabGroup, MatTab, MatTabsModule } from '@angular/material/tabs';
54
39
  import { MatRippleModule, MatNativeDateModule } from '@angular/material/core';
55
40
  import { MatChipsModule } from '@angular/material/chips';
56
41
  import { MatListModule } from '@angular/material/list';
@@ -74,11 +59,11 @@ var InstalledInstrumentTableColumnsMapperEnum;
74
59
  })(InstalledInstrumentTableColumnsMapperEnum || (InstalledInstrumentTableColumnsMapperEnum = {}));
75
60
 
76
61
  class SapInstalledInstrumentsService {
77
- constructor(config, http) {
78
- this.config = config;
79
- this.http = http;
62
+ constructor() {
80
63
  this.territoryFilter = false;
81
64
  this.accessToken = '';
65
+ this.config = inject('config');
66
+ this.http = inject(HttpClient, { skipSelf: true });
82
67
  this.baseUrl = `${this.config.api_base_uri}${this.config.base_uri}${this.config.api_module}`;
83
68
  }
84
69
  getInstalledInstrumentList(searchForm, sort) {
@@ -158,32 +143,28 @@ class SapInstalledInstrumentsService {
158
143
  }
159
144
  getApplicationSearch(search) {
160
145
  const params = new HttpParams().set('application', search);
161
- return this.http.get(`${this.baseUrl}/application?application='}`);
146
+ return this.http.get(`${this.baseUrl}/application`, {
147
+ params,
148
+ });
162
149
  }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentsService, deps: [{ token: 'config' }, { token: i1.HttpClient, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
164
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentsService, providedIn: 'root' }); }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
151
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentsService, providedIn: 'root' }); }
165
152
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentsService, decorators: [{
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentsService, decorators: [{
167
154
  type: Injectable,
168
155
  args: [{
169
156
  providedIn: 'root',
170
157
  }]
171
- }], ctorParameters: () => [{ type: undefined, decorators: [{
172
- type: Inject,
173
- args: ['config']
174
- }] }, { type: i1.HttpClient, decorators: [{
175
- type: SkipSelf
176
- }] }] });
158
+ }], ctorParameters: () => [] });
177
159
 
178
- class SapInstalledInstrumentListTableComponent extends StSubscribeDestroyComponent {
160
+ class SapInstalledInstrumentListTableComponent {
179
161
  constructor() {
180
- super();
181
162
  this.paginator = viewChild.required(MatPaginator);
182
163
  this.sort = viewChild.required(MatSort);
183
- this.useMapButton = input(false);
184
- this.tableData = input([]);
164
+ this.useMapButton = input(false, ...(ngDevMode ? [{ debugName: "useMapButton" }] : []));
165
+ this.tableData = input([], ...(ngDevMode ? [{ debugName: "tableData" }] : []));
185
166
  this.sortChanged = output();
186
- this.dataSource = signal(new MatTableDataSource());
167
+ this.dataSource = signal(new MatTableDataSource(), ...(ngDevMode ? [{ debugName: "dataSource" }] : []));
187
168
  this.tableColumns = signal([
188
169
  'instrumentNo',
189
170
  'instrumentDescription',
@@ -196,13 +177,14 @@ class SapInstalledInstrumentListTableComponent extends StSubscribeDestroyCompone
196
177
  'country',
197
178
  'installationDate',
198
179
  'status',
199
- ]);
200
- this.mapTableColumns = signal({});
201
- this.showOnMapSelection = signal(new SelectionModel(true));
180
+ ], ...(ngDevMode ? [{ debugName: "tableColumns" }] : []));
181
+ this.mapTableColumns = signal({}, ...(ngDevMode ? [{ debugName: "mapTableColumns" }] : []));
182
+ this.showOnMapSelection = signal(new SelectionModel(true), ...(ngDevMode ? [{ debugName: "showOnMapSelection" }] : []));
202
183
  this.router = inject(Router);
203
184
  this.activatedRoute = inject(ActivatedRoute);
204
185
  this.sapInstalledInstruments = inject(SapInstalledInstrumentsService);
205
186
  this.changeDetectorRef = inject(ChangeDetectorRef);
187
+ this.destroyRef = inject(DestroyRef);
206
188
  effect(() => {
207
189
  const tableData = this.tableData();
208
190
  this.dataSource.update(oldData => {
@@ -221,7 +203,7 @@ class SapInstalledInstrumentListTableComponent extends StSubscribeDestroyCompone
221
203
  this.dataSource().paginator = this.paginator();
222
204
  this.dataSource().sort = this.sort();
223
205
  this.sort()
224
- ?.sortChange.pipe(takeUntil(this.ngDestroyed$))
206
+ ?.sortChange.pipe(takeUntilDestroyed(this.destroyRef))
225
207
  .subscribe(res => {
226
208
  this.sortChanged.emit(res);
227
209
  });
@@ -299,22 +281,44 @@ class SapInstalledInstrumentListTableComponent extends StSubscribeDestroyCompone
299
281
  selectToMap: '',
300
282
  });
301
283
  }
302
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentListTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
303
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: SapInstalledInstrumentListTableComponent, isStandalone: false, selector: "app-sap-installed-instrument-list-table", inputs: { useMapButton: { classPropertyName: "useMapButton", publicName: "useMapButton", isSignal: true, isRequired: false, transformFunction: null }, tableData: { classPropertyName: "tableData", publicName: "tableData", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (useMapButton()) {\r\n <div class=\"row justify-content-end show-on-map-actions\">\r\n <button mat-raised-button [matMenuTriggerFor]=\"menu\">\r\n {{ 'sapAdminInstalledInstrument.selected' | translate }}:\r\n {{ showOnMapSelection().selected.length }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (\r\n instrument of showOnMapSelection().selected;\r\n track instrument.instrumentNo\r\n ) {\r\n <div mat-menu-item (click)=\"showOnMapSelection().deselect(instrument)\">\r\n {{ instrument.instrumentNo }}\r\n <mat-icon style=\"font-size: 20px; width: 20px; height: 20px\"\r\n >delete</mat-icon\r\n >\r\n </div>\r\n }\r\n </mat-menu>\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"redirectToShowOnMap()\"\r\n [disabled]=\"showOnMapSelection().selected.length === 0\"\r\n >\r\n {{ 'sapAdminInstalledInstrument.showOnMap' | translate }}\r\n </button>\r\n </div>\r\n}\r\n\r\n<table\r\n mat-table\r\n [dataSource]=\"dataSource()\"\r\n style=\"width: 100%\"\r\n class=\"no-hover st-material-table\"\r\n matSort\r\n>\r\n @for (column of tableColumns(); track column) {\r\n <ng-container [matColumnDef]=\"column\">\r\n @if (column !== 'selectToMap') {\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ mapTableColumns()[column] | translate }}\r\n </th>\r\n } @else {\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox\r\n color=\"primary\"\r\n (change)=\"toggleAll($event.checked)\"\r\n ></mat-checkbox>\r\n </th>\r\n }\r\n <td mat-cell *matCellDef=\"let element\">\r\n @if (column === 'selectToMap') {\r\n @if (element.sfIdView) {\r\n <mat-checkbox\r\n color=\"primary\"\r\n [checked]=\"showOnMapSelection().isSelected(element)\"\r\n (click)=\"changeRowSelection($event, element)\"\r\n ></mat-checkbox>\r\n }\r\n } @else if (column === 'installationDate') {\r\n {{ element[column] | stDateFormatPipe }}\r\n } @else {\r\n {{ element[column] }}\r\n }\r\n </td>\r\n </ng-container>\r\n }\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: [".show-on-map-actions{justify-content:end;margin-bottom:5px;margin-top:-45px;gap:5px}\n"], dependencies: [{ kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i1$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
284
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentListTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
285
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: SapInstalledInstrumentListTableComponent, isStandalone: true, selector: "app-sap-installed-instrument-list-table", inputs: { useMapButton: { classPropertyName: "useMapButton", publicName: "useMapButton", isSignal: true, isRequired: false, transformFunction: null }, tableData: { classPropertyName: "tableData", publicName: "tableData", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }], ngImport: i0, template: "@if (useMapButton()) {\n <div class=\"row justify-content-end show-on-map-actions\">\n <button mat-raised-button [matMenuTriggerFor]=\"menu\">\n {{ 'sapAdminInstalledInstrument.selected' | translate }}:\n {{ showOnMapSelection().selected.length }}\n </button>\n <mat-menu #menu=\"matMenu\">\n @for (\n instrument of showOnMapSelection().selected;\n track $index\n ) {\n <div mat-menu-item (click)=\"showOnMapSelection().deselect(instrument)\">\n {{ instrument.instrumentNo }}\n <mat-icon style=\"font-size: 20px; width: 20px; height: 20px\"\n >delete</mat-icon\n >\n </div>\n }\n </mat-menu>\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"redirectToShowOnMap()\"\n [disabled]=\"showOnMapSelection().selected.length === 0\"\n >\n {{ 'sapAdminInstalledInstrument.showOnMap' | translate }}\n </button>\n </div>\n}\n\n<table\n mat-table\n [dataSource]=\"dataSource()\"\n style=\"width: 100%\"\n class=\"no-hover st-material-table\"\n matSort\n>\n @for (column of tableColumns(); track column) {\n <ng-container [matColumnDef]=\"column\">\n @if (column !== 'selectToMap') {\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ mapTableColumns()[column] | translate }}\n </th>\n } @else {\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n color=\"primary\"\n (change)=\"toggleAll($event.checked)\"\n ></mat-checkbox>\n </th>\n }\n <td mat-cell *matCellDef=\"let element\">\n @if (column === 'selectToMap') {\n @if (element.sfIdView) {\n <mat-checkbox\n color=\"primary\"\n [checked]=\"showOnMapSelection().isSelected(element)\"\n (click)=\"changeRowSelection($event, element)\"\n ></mat-checkbox>\n }\n } @else if (column === 'installationDate') {\n {{ element[column] | stDateFormatPipe }}\n } @else {\n {{ element[column] }}\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"tableColumns()\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: tableColumns()\"\n (click)=\"rowClicked(row)\"\n ></tr>\n</table>\n<mat-paginator\n [pageSizeOptions]=\"[10, 20]\"\n [showFirstLastButtons]=\"true\"\n></mat-paginator>\n", styles: [".show-on-map-actions{justify-content:end;margin-bottom:5px;margin-top:-45px;gap:5px}\n"], dependencies: [{ kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
304
286
  }
305
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentListTableComponent, decorators: [{
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentListTableComponent, decorators: [{
306
288
  type: Component,
307
- args: [{ selector: 'app-sap-installed-instrument-list-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (useMapButton()) {\r\n <div class=\"row justify-content-end show-on-map-actions\">\r\n <button mat-raised-button [matMenuTriggerFor]=\"menu\">\r\n {{ 'sapAdminInstalledInstrument.selected' | translate }}:\r\n {{ showOnMapSelection().selected.length }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (\r\n instrument of showOnMapSelection().selected;\r\n track instrument.instrumentNo\r\n ) {\r\n <div mat-menu-item (click)=\"showOnMapSelection().deselect(instrument)\">\r\n {{ instrument.instrumentNo }}\r\n <mat-icon style=\"font-size: 20px; width: 20px; height: 20px\"\r\n >delete</mat-icon\r\n >\r\n </div>\r\n }\r\n </mat-menu>\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"redirectToShowOnMap()\"\r\n [disabled]=\"showOnMapSelection().selected.length === 0\"\r\n >\r\n {{ 'sapAdminInstalledInstrument.showOnMap' | translate }}\r\n </button>\r\n </div>\r\n}\r\n\r\n<table\r\n mat-table\r\n [dataSource]=\"dataSource()\"\r\n style=\"width: 100%\"\r\n class=\"no-hover st-material-table\"\r\n matSort\r\n>\r\n @for (column of tableColumns(); track column) {\r\n <ng-container [matColumnDef]=\"column\">\r\n @if (column !== 'selectToMap') {\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ mapTableColumns()[column] | translate }}\r\n </th>\r\n } @else {\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox\r\n color=\"primary\"\r\n (change)=\"toggleAll($event.checked)\"\r\n ></mat-checkbox>\r\n </th>\r\n }\r\n <td mat-cell *matCellDef=\"let element\">\r\n @if (column === 'selectToMap') {\r\n @if (element.sfIdView) {\r\n <mat-checkbox\r\n color=\"primary\"\r\n [checked]=\"showOnMapSelection().isSelected(element)\"\r\n (click)=\"changeRowSelection($event, element)\"\r\n ></mat-checkbox>\r\n }\r\n } @else if (column === 'installationDate') {\r\n {{ element[column] | stDateFormatPipe }}\r\n } @else {\r\n {{ element[column] }}\r\n }\r\n </td>\r\n </ng-container>\r\n }\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: [".show-on-map-actions{justify-content:end;margin-bottom:5px;margin-top:-45px;gap:5px}\n"] }]
308
- }], ctorParameters: () => [] });
289
+ args: [{ selector: 'app-sap-installed-instrument-list-table', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
290
+ MatButton,
291
+ MatMenuTrigger,
292
+ MatMenu,
293
+ MatMenuItem,
294
+ MatIcon,
295
+ MatTable,
296
+ MatSort,
297
+ MatColumnDef,
298
+ MatHeaderCellDef,
299
+ MatHeaderCell,
300
+ MatSortHeader,
301
+ MatCheckbox,
302
+ MatCellDef,
303
+ MatCell,
304
+ MatHeaderRowDef,
305
+ MatHeaderRow,
306
+ MatRowDef,
307
+ MatRow,
308
+ MatPaginator,
309
+ TranslatePipe,
310
+ StDateFormatModule,
311
+ ], template: "@if (useMapButton()) {\n <div class=\"row justify-content-end show-on-map-actions\">\n <button mat-raised-button [matMenuTriggerFor]=\"menu\">\n {{ 'sapAdminInstalledInstrument.selected' | translate }}:\n {{ showOnMapSelection().selected.length }}\n </button>\n <mat-menu #menu=\"matMenu\">\n @for (\n instrument of showOnMapSelection().selected;\n track $index\n ) {\n <div mat-menu-item (click)=\"showOnMapSelection().deselect(instrument)\">\n {{ instrument.instrumentNo }}\n <mat-icon style=\"font-size: 20px; width: 20px; height: 20px\"\n >delete</mat-icon\n >\n </div>\n }\n </mat-menu>\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"redirectToShowOnMap()\"\n [disabled]=\"showOnMapSelection().selected.length === 0\"\n >\n {{ 'sapAdminInstalledInstrument.showOnMap' | translate }}\n </button>\n </div>\n}\n\n<table\n mat-table\n [dataSource]=\"dataSource()\"\n style=\"width: 100%\"\n class=\"no-hover st-material-table\"\n matSort\n>\n @for (column of tableColumns(); track column) {\n <ng-container [matColumnDef]=\"column\">\n @if (column !== 'selectToMap') {\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ mapTableColumns()[column] | translate }}\n </th>\n } @else {\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n color=\"primary\"\n (change)=\"toggleAll($event.checked)\"\n ></mat-checkbox>\n </th>\n }\n <td mat-cell *matCellDef=\"let element\">\n @if (column === 'selectToMap') {\n @if (element.sfIdView) {\n <mat-checkbox\n color=\"primary\"\n [checked]=\"showOnMapSelection().isSelected(element)\"\n (click)=\"changeRowSelection($event, element)\"\n ></mat-checkbox>\n }\n } @else if (column === 'installationDate') {\n {{ element[column] | stDateFormatPipe }}\n } @else {\n {{ element[column] }}\n }\n </td>\n </ng-container>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"tableColumns()\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: tableColumns()\"\n (click)=\"rowClicked(row)\"\n ></tr>\n</table>\n<mat-paginator\n [pageSizeOptions]=\"[10, 20]\"\n [showFirstLastButtons]=\"true\"\n></mat-paginator>\n", styles: [".show-on-map-actions{justify-content:end;margin-bottom:5px;margin-top:-45px;gap:5px}\n"] }]
312
+ }], ctorParameters: () => [], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }], sort: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSort), { isSignal: true }] }], useMapButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "useMapButton", required: false }] }], tableData: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableData", required: false }] }], sortChanged: [{ type: i0.Output, args: ["sortChanged"] }] } });
309
313
 
310
314
  class SapInstalledInstrumentListSearchComponent {
311
315
  constructor() {
312
- this.multiselectAutocomplete = viewChild('multiselectAutocomplete');
316
+ this.multiselectAutocomplete = viewChild('multiselectAutocomplete', ...(ngDevMode ? [{ debugName: "multiselectAutocomplete" }] : []));
313
317
  this.sapInstalledInstrumentService = inject(SapInstalledInstrumentsService);
314
318
  this.activatedRoute = inject(ActivatedRoute);
315
319
  this.fb = inject(NonNullableFormBuilder);
316
320
  this.filtersChanged = output();
317
- this.showFilters = signal(false);
321
+ this.showFilters = signal(false, ...(ngDevMode ? [{ debugName: "showFilters" }] : []));
318
322
  this.searchForm = this.fb.group({
319
323
  application: [[]],
320
324
  serialNumber: '',
@@ -411,27 +415,35 @@ class SapInstalledInstrumentListSearchComponent {
411
415
  }
412
416
  });
413
417
  }
414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentListSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
415
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: SapInstalledInstrumentListSearchComponent, isStandalone: false, selector: "app-sap-installed-instrument-list-search", outputs: { filtersChanged: "filtersChanged" }, viewQueries: [{ propertyName: "multiselectAutocomplete", first: true, predicate: ["multiselectAutocomplete"], descendants: true, isSignal: true }], ngImport: i0, template: "<form\r\n class=\"search-filters\"\r\n [formGroup]=\"searchForm\"\r\n (keyup.enter)=\"searchSubmitted()\"\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 ('sapAdminInstalledInstrument.max' | translate) +\r\n ': 10)'\r\n \"\r\n [searchLabel]=\"\r\n 'sapAdminInstalledInstrument.applicationPlaceholder' | translate\r\n \"\r\n [settings]=\"{\r\n getFilteredOptions: this.getFilteredOptions\r\n }\"\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 @if (searchForm.controls.bpName.value) {\r\n <button\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 }\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 @if (searchForm.controls.technicianLastName.value) {\r\n <button\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 }\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 @if (searchForm.controls.serialNumber.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentNo.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentDesc.value) {\r\n <button\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 }\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]=\"''\">{{\r\n 'sapAdminInstalledInstrument.empty' | translate\r\n }}</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 @if (searchForm.controls.customerNo.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center row\">\r\n @if (\r\n searchForm?.get('territory') && ((territories$ | async) || []);\r\n as territories\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"territories || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.territory' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.territory\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshTerritories()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.city' | translate }}\"\r\n />\r\n @if (searchForm.controls.city.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (searchForm?.get('state') && ((states$ | async) || []); as states) {\r\n <ngx-st-search-select\r\n [options]=\"states || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.state' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.state\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n [disabled]=\"!searchForm.controls.country.value\"\r\n (click)=\"refreshStates()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.county' | translate }}\"\r\n />\r\n @if (searchForm.controls.county.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (\r\n searchForm?.get('country') && ((countries$ | async) || []);\r\n as countries\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"countries || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.country' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.country\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshCountries()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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 @if (searchForm.controls.endUserName.value) {\r\n <button\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 }\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 @if (searchForm.controls.endUserCode.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"row justify-content-sm-start justify-content-lg-center\"\r\n style=\"margin-bottom: 10px\"\r\n >\r\n @if (showFilters()) {\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"clearAllFilters()\"\r\n style=\"margin-right: 10px\"\r\n >\r\n Clear All\r\n </button>\r\n }\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"accent\"\r\n (click)=\"showFilters.set(!showFilters())\"\r\n >\r\n @if (showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.hideFilters' | translate }}\r\n }\r\n @if (!showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.showFilters' | translate }}\r\n }\r\n </button>\r\n @if (showFilters()) {\r\n <button\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 }\r\n </div>\r\n</form>\r\n", styles: [".hide{display:none}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4$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", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.NgxStMultiselectAutocompleteComponent, selector: "ngx-st-multiselect-autocomplete", inputs: ["label", "searchLabel", "settings", "initSelectedData", "maxLengthSelectedData", "clearAfterSelect"], outputs: ["selectedDataChanged"] }, { kind: "component", type: i11.SearchSelectComponent, selector: "ngx-st-search-select", inputs: ["selectLabel", "optionValueField", "optionLabelFields", "filteredByFields", "model", "modelChange", "selectFormControl", "required", "selectBindType", "searchLabel", "showEmptyOption", "useVirtualScrollOptions", "options", "disabled"], outputs: ["modelChange", "selectDataChanged"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
418
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentListSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
419
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: SapInstalledInstrumentListSearchComponent, isStandalone: true, selector: "app-sap-installed-instrument-list-search", outputs: { filtersChanged: "filtersChanged" }, viewQueries: [{ propertyName: "multiselectAutocomplete", first: true, predicate: ["multiselectAutocomplete"], descendants: true, isSignal: true }], ngImport: i0, template: "<form\r\n class=\"search-filters\"\r\n [formGroup]=\"searchForm\"\r\n (keyup.enter)=\"searchSubmitted()\"\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 ('sapAdminInstalledInstrument.max' | translate) +\r\n ': 10)'\r\n \"\r\n [searchLabel]=\"\r\n 'sapAdminInstalledInstrument.applicationPlaceholder' | translate\r\n \"\r\n [settings]=\"{\r\n getFilteredOptions: this.getFilteredOptions\r\n }\"\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 @if (searchForm.controls.bpName.value) {\r\n <button\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 }\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 @if (searchForm.controls.technicianLastName.value) {\r\n <button\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 }\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 @if (searchForm.controls.serialNumber.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentNo.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentDesc.value) {\r\n <button\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 }\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]=\"''\">{{\r\n 'sapAdminInstalledInstrument.empty' | translate\r\n }}</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 @if (searchForm.controls.customerNo.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center row\">\r\n @if (\r\n searchForm?.get('territory') && ((territories$ | async) || []);\r\n as territories\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"territories || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.territory' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.territory\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshTerritories()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.city' | translate }}\"\r\n />\r\n @if (searchForm.controls.city.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (searchForm?.get('state') && ((states$ | async) || []); as states) {\r\n <ngx-st-search-select\r\n [options]=\"states || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.state' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.state\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n [disabled]=\"!searchForm.controls.country.value\"\r\n (click)=\"refreshStates()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.county' | translate }}\"\r\n />\r\n @if (searchForm.controls.county.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (\r\n searchForm?.get('country') && ((countries$ | async) || []);\r\n as countries\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"countries || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.country' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.country\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshCountries()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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 @if (searchForm.controls.endUserName.value) {\r\n <button\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 }\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 @if (searchForm.controls.endUserCode.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"row justify-content-sm-start justify-content-lg-center\"\r\n style=\"margin-bottom: 10px\"\r\n >\r\n @if (showFilters()) {\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"clearAllFilters()\"\r\n style=\"margin-right: 10px\"\r\n >\r\n Clear All\r\n </button>\r\n }\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"accent\"\r\n (click)=\"showFilters.set(!showFilters())\"\r\n >\r\n @if (showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.hideFilters' | translate }}\r\n }\r\n @if (!showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.showFilters' | translate }}\r\n }\r\n </button>\r\n @if (showFilters()) {\r\n <button\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 }\r\n </div>\r\n</form>\r\n", styles: [".hide{display:none}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: StMultiselectAutocompleteModule }, { kind: "component", type: i2.NgxStMultiselectAutocompleteComponent, selector: "ngx-st-multiselect-autocomplete", inputs: ["label", "searchLabel", "appearance", "settings", "initSelectedData", "maxLengthSelectedData", "clearAfterSelect"], outputs: ["selectedDataChanged"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: StSearchSelectsModule }, { kind: "component", type: i3.SearchSelectComponent, selector: "ngx-st-search-select", inputs: ["selectLabel", "optionValueField", "optionLabelFields", "filteredByFields", "model", "modelChange", "selectFormControl", "required", "selectBindType", "searchLabel", "appearance", "showEmptyOption", "useVirtualScrollOptions", "options", "disabled"], outputs: ["modelChange", "selectDataChanged"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
416
420
  }
417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentListSearchComponent, decorators: [{
421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentListSearchComponent, decorators: [{
418
422
  type: Component,
419
- args: [{ selector: 'app-sap-installed-instrument-list-search', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<form\r\n class=\"search-filters\"\r\n [formGroup]=\"searchForm\"\r\n (keyup.enter)=\"searchSubmitted()\"\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 ('sapAdminInstalledInstrument.max' | translate) +\r\n ': 10)'\r\n \"\r\n [searchLabel]=\"\r\n 'sapAdminInstalledInstrument.applicationPlaceholder' | translate\r\n \"\r\n [settings]=\"{\r\n getFilteredOptions: this.getFilteredOptions\r\n }\"\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 @if (searchForm.controls.bpName.value) {\r\n <button\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 }\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 @if (searchForm.controls.technicianLastName.value) {\r\n <button\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 }\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 @if (searchForm.controls.serialNumber.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentNo.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentDesc.value) {\r\n <button\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 }\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]=\"''\">{{\r\n 'sapAdminInstalledInstrument.empty' | translate\r\n }}</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 @if (searchForm.controls.customerNo.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center row\">\r\n @if (\r\n searchForm?.get('territory') && ((territories$ | async) || []);\r\n as territories\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"territories || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.territory' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.territory\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshTerritories()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.city' | translate }}\"\r\n />\r\n @if (searchForm.controls.city.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (searchForm?.get('state') && ((states$ | async) || []); as states) {\r\n <ngx-st-search-select\r\n [options]=\"states || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.state' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.state\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n [disabled]=\"!searchForm.controls.country.value\"\r\n (click)=\"refreshStates()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.county' | translate }}\"\r\n />\r\n @if (searchForm.controls.county.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (\r\n searchForm?.get('country') && ((countries$ | async) || []);\r\n as countries\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"countries || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.country' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.country\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshCountries()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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 @if (searchForm.controls.endUserName.value) {\r\n <button\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 }\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 @if (searchForm.controls.endUserCode.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"row justify-content-sm-start justify-content-lg-center\"\r\n style=\"margin-bottom: 10px\"\r\n >\r\n @if (showFilters()) {\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"clearAllFilters()\"\r\n style=\"margin-right: 10px\"\r\n >\r\n Clear All\r\n </button>\r\n }\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"accent\"\r\n (click)=\"showFilters.set(!showFilters())\"\r\n >\r\n @if (showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.hideFilters' | translate }}\r\n }\r\n @if (!showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.showFilters' | translate }}\r\n }\r\n </button>\r\n @if (showFilters()) {\r\n <button\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 }\r\n </div>\r\n</form>\r\n", styles: [".hide{display:none}\n"] }]
420
- }] });
423
+ args: [{ selector: 'app-sap-installed-instrument-list-search', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ReactiveFormsModule, NgClass, StMultiselectAutocompleteModule, MatFormField, MatInput, MatIconButton, MatSuffix, MatIcon, MatLabel, MatSelect, MatOption, StSearchSelectsModule, MatTooltip, MatDatepickerInput, MatDatepickerToggle, MatDatepicker, MatButton, AsyncPipe, TranslatePipe], template: "<form\r\n class=\"search-filters\"\r\n [formGroup]=\"searchForm\"\r\n (keyup.enter)=\"searchSubmitted()\"\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 ('sapAdminInstalledInstrument.max' | translate) +\r\n ': 10)'\r\n \"\r\n [searchLabel]=\"\r\n 'sapAdminInstalledInstrument.applicationPlaceholder' | translate\r\n \"\r\n [settings]=\"{\r\n getFilteredOptions: this.getFilteredOptions\r\n }\"\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 @if (searchForm.controls.bpName.value) {\r\n <button\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 }\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 @if (searchForm.controls.technicianLastName.value) {\r\n <button\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 }\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 @if (searchForm.controls.serialNumber.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentNo.value) {\r\n <button\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 }\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 @if (searchForm.controls.instrumentDesc.value) {\r\n <button\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 }\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]=\"''\">{{\r\n 'sapAdminInstalledInstrument.empty' | translate\r\n }}</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 @if (searchForm.controls.customerNo.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4 align-items-center row\">\r\n @if (\r\n searchForm?.get('territory') && ((territories$ | async) || []);\r\n as territories\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"territories || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.territory' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.territory\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshTerritories()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.city' | translate }}\"\r\n />\r\n @if (searchForm.controls.city.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (searchForm?.get('state') && ((states$ | async) || []); as states) {\r\n <ngx-st-search-select\r\n [options]=\"states || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.state' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.state\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n [disabled]=\"!searchForm.controls.country.value\"\r\n (click)=\"refreshStates()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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=\"{{ 'sapAdminInstalledInstrument.county' | translate }}\"\r\n />\r\n @if (searchForm.controls.county.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3 align-items-center row\">\r\n @if (\r\n searchForm?.get('country') && ((countries$ | async) || []);\r\n as countries\r\n ) {\r\n <ngx-st-search-select\r\n [options]=\"countries || []\"\r\n [selectLabel]=\"'sapAdminInstalledInstrument.country' | translate\"\r\n [optionLabelFields]=\"'name'\"\r\n [optionValueField]=\"'id'\"\r\n [selectFormControl]=\"searchForm.controls.country\"\r\n [selectBindType]=\"'control'\"\r\n [searchLabel]=\"'sapAdminInstalledInstrument.search' | translate\"\r\n ></ngx-st-search-select>\r\n }\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminInstalledInstrument.refresh' | translate\"\r\n (click)=\"refreshCountries()\"\r\n type=\"button\"\r\n >\r\n <mat-icon>refresh</mat-icon>\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 @if (searchForm.controls.endUserName.value) {\r\n <button\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 }\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 @if (searchForm.controls.endUserCode.value) {\r\n <button\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 }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"row justify-content-sm-start justify-content-lg-center\"\r\n style=\"margin-bottom: 10px\"\r\n >\r\n @if (showFilters()) {\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"clearAllFilters()\"\r\n style=\"margin-right: 10px\"\r\n >\r\n Clear All\r\n </button>\r\n }\r\n <button\r\n mat-raised-button\r\n type=\"button\"\r\n color=\"accent\"\r\n (click)=\"showFilters.set(!showFilters())\"\r\n >\r\n @if (showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.hideFilters' | translate }}\r\n }\r\n @if (!showFilters()) {\r\n {{ 'sapAdminInstalledInstrument.showFilters' | translate }}\r\n }\r\n </button>\r\n @if (showFilters()) {\r\n <button\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 }\r\n </div>\r\n</form>\r\n", styles: [".hide{display:none}\n"] }]
424
+ }], propDecorators: { multiselectAutocomplete: [{ type: i0.ViewChild, args: ['multiselectAutocomplete', { isSignal: true }] }], filtersChanged: [{ type: i0.Output, args: ["filtersChanged"] }] } });
421
425
 
422
426
  class SapInstalledInstrumentListComponent {
423
427
  constructor() {
424
- this.accessToken = input();
425
- this.territoryFilter = input.required();
426
- this.showWithCardContent = input(true);
427
- this.useMapButton = input(false);
428
- this.installedInstruments = signal([]);
429
- this.lastSearchFilters = signal({});
430
- this.lastSearchSorts = signal({});
428
+ this.accessToken = input(...(ngDevMode ? [undefined, { debugName: "accessToken" }] : []));
429
+ this.territoryFilter = input.required(...(ngDevMode ? [{ debugName: "territoryFilter" }] : []));
430
+ this.showWithCardContent = input(true, ...(ngDevMode ? [{ debugName: "showWithCardContent" }] : []));
431
+ this.useMapButton = input(false, ...(ngDevMode ? [{ debugName: "useMapButton" }] : []));
432
+ this.installedInstruments = signal([], ...(ngDevMode ? [{ debugName: "installedInstruments" }] : []));
433
+ this.lastSearchFilters = signal({}, ...(ngDevMode ? [{ debugName: "lastSearchFilters" }] : []));
434
+ this.lastSearchSorts = signal({}, ...(ngDevMode ? [{ debugName: "lastSearchSorts" }] : []));
435
+ this.search$ = new Subject();
431
436
  this.sapInstalledInstrumentService = inject(SapInstalledInstrumentsService);
432
437
  this.changeDetector = inject(ChangeDetectorRef);
433
438
  this.router = inject(Router);
434
439
  this.activatedRoute = inject(ActivatedRoute);
440
+ this.destroyRef = inject(DestroyRef);
441
+ this.search$
442
+ .pipe(switchMap(({ searchForm, sort }) => this.sapInstalledInstrumentService.getInstalledInstrumentList(searchForm, sort)), takeUntilDestroyed(this.destroyRef))
443
+ .subscribe(res => {
444
+ this.installedInstruments.set(res);
445
+ this.changeDetector.markForCheck();
446
+ });
435
447
  }
436
448
  ngOnInit() {
437
449
  this.sapInstalledInstrumentService.territoryFilter = this.territoryFilter();
@@ -466,29 +478,24 @@ class SapInstalledInstrumentListComponent {
466
478
  ...sort,
467
479
  },
468
480
  });
469
- this.sapInstalledInstrumentService
470
- .getInstalledInstrumentList(searchForm, sort)
471
- .subscribe(res => {
472
- this.lastSearchFilters.set(searchForm);
473
- this.lastSearchSorts.set(sort);
474
- this.installedInstruments.set(res);
475
- this.changeDetector.markForCheck();
476
- });
481
+ this.lastSearchFilters.set(searchForm);
482
+ this.lastSearchSorts.set(sort);
483
+ this.search$.next({ searchForm, sort });
477
484
  }
478
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
479
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: SapInstalledInstrumentListComponent, isStandalone: false, selector: "app-sap-installed-instrument-list", inputs: { accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null }, territoryFilter: { classPropertyName: "territoryFilter", publicName: "territoryFilter", isSignal: true, isRequired: true, transformFunction: null }, showWithCardContent: { classPropertyName: "showWithCardContent", publicName: "showWithCardContent", isSignal: true, isRequired: false, transformFunction: null }, useMapButton: { classPropertyName: "useMapButton", publicName: "useMapButton", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, ngImport: i0, template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n \"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\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 [useMapButton]=\"useMapButton()\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: ["", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$2.CardComponent, selector: "ngx-st-card", inputs: ["title", "createLink", "backLink", "showHistoryBack", "actionMenu", "actionButton", "noBodyTopPadding", "createLinkLabel"] }, { 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: ["useMapButton", "tableData"], outputs: ["sortChanged"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
485
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
486
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: SapInstalledInstrumentListComponent, isStandalone: true, selector: "app-sap-installed-instrument-list", inputs: { accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null }, territoryFilter: { classPropertyName: "territoryFilter", publicName: "territoryFilter", isSignal: true, isRequired: true, transformFunction: null }, showWithCardContent: { classPropertyName: "showWithCardContent", publicName: "showWithCardContent", isSignal: true, isRequired: false, transformFunction: null }, useMapButton: { classPropertyName: "useMapButton", publicName: "useMapButton", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, ngImport: i0, template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n \"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\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 [useMapButton]=\"useMapButton()\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: ["", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"], dependencies: [{ kind: "ngmodule", type: NgxStCardModule }, { kind: "component", type: i1$2.CardComponent, selector: "ngx-st-card", inputs: ["title", "createLink", "backLink", "showHistoryBack", "checkIframeHistoryOnBack", "actionMenu", "actionButton", "noBodyTopPadding", "createLinkLabel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: ["useMapButton", "tableData"], outputs: ["sortChanged"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
480
487
  }
481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentListComponent, decorators: [{
488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentListComponent, decorators: [{
482
489
  type: Component,
483
- args: [{ selector: 'app-sap-installed-instrument-list', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, standalone: false, template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n \"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\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 [useMapButton]=\"useMapButton()\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: [".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"] }]
484
- }] });
490
+ args: [{ selector: 'app-sap-installed-instrument-list', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, imports: [NgxStCardModule, NgTemplateOutlet, SapInstalledInstrumentListSearchComponent, SapInstalledInstrumentListTableComponent, TranslatePipe], template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n \"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\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 [useMapButton]=\"useMapButton()\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: [".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"] }]
491
+ }], ctorParameters: () => [], propDecorators: { accessToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessToken", required: false }] }], territoryFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "territoryFilter", required: true }] }], showWithCardContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "showWithCardContent", required: false }] }], useMapButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "useMapButton", required: false }] }] } });
485
492
 
486
493
  class AttachmentsListViewComponent {
487
- constructor(config) {
488
- this.config = config;
489
- this.attachments = input.required();
490
- this.accessToken = input('');
491
- this.baseDownloadLink = signal('');
494
+ constructor() {
495
+ this.attachments = input.required(...(ngDevMode ? [{ debugName: "attachments" }] : []));
496
+ this.accessToken = input('', ...(ngDevMode ? [{ debugName: "accessToken" }] : []));
497
+ this.baseDownloadLink = signal('', ...(ngDevMode ? [{ debugName: "baseDownloadLink" }] : []));
498
+ this.config = inject('config');
492
499
  }
493
500
  ngOnInit() {
494
501
  this.updateLink();
@@ -504,36 +511,33 @@ class AttachmentsListViewComponent {
504
511
  this.accessToken() +
505
512
  company);
506
513
  }
507
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: AttachmentsListViewComponent, deps: [{ token: 'config' }], target: i0.ɵɵFactoryTarget.Component }); }
508
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: AttachmentsListViewComponent, isStandalone: false, selector: "app-attachments-list-view", inputs: { attachments: { classPropertyName: "attachments", publicName: "attachments", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"attachments-list-view\">\r\n <p class=\"attachments-title\">\r\n {{ 'sapAdminInstalledInstrument.attachments' | translate }}:\r\n </p>\r\n <ul class=\"row\">\r\n @for (attachment of attachments(); track attachment.id) {\r\n <li class=\"row align-items-center\">\r\n <p>{{ attachment.fileName }}.{{ attachment.fileExt }}</p>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=true'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>preview</mat-icon>\r\n </button>\r\n </a>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=false'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n", styles: [".attachments-list-view .attachments-title{font-weight:500;margin-bottom:0}.attachments-list-view ul{padding-left:0}.attachments-list-view ul li{padding:0 10px;border-right:2px solid #66bb6a}.attachments-list-view ul li:last-child{border-right:0}.attachments-list-view ul li p{margin-bottom:0}.attachments-list-view ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.attachments-list-view ul li button:hover{opacity:1}.attachments-list-view ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"], dependencies: [{ kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i1$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
514
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: AttachmentsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
515
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: AttachmentsListViewComponent, isStandalone: true, selector: "app-attachments-list-view", inputs: { attachments: { classPropertyName: "attachments", publicName: "attachments", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"attachments-list-view\">\r\n <p class=\"attachments-title\">\r\n {{ 'sapAdminInstalledInstrument.attachments' | translate }}:\r\n </p>\r\n <ul class=\"row\">\r\n @for (attachment of attachments(); track attachment.id) {\r\n <li class=\"row align-items-center\">\r\n <p>{{ attachment.fileName }}.{{ attachment.fileExt }}</p>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=true'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>preview</mat-icon>\r\n </button>\r\n </a>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=false'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n", styles: [".attachments-list-view .attachments-title{font-weight:500;margin-bottom:0}.attachments-list-view ul{padding-left:0}.attachments-list-view ul li{padding:0 10px;border-right:2px solid #66bb6a}.attachments-list-view ul li:last-child{border-right:0}.attachments-list-view ul li p{margin-bottom:0}.attachments-list-view ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.attachments-list-view ul li button:hover{opacity:1}.attachments-list-view ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
509
516
  }
510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: AttachmentsListViewComponent, decorators: [{
517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: AttachmentsListViewComponent, decorators: [{
511
518
  type: Component,
512
- args: [{ selector: 'app-attachments-list-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"attachments-list-view\">\r\n <p class=\"attachments-title\">\r\n {{ 'sapAdminInstalledInstrument.attachments' | translate }}:\r\n </p>\r\n <ul class=\"row\">\r\n @for (attachment of attachments(); track attachment.id) {\r\n <li class=\"row align-items-center\">\r\n <p>{{ attachment.fileName }}.{{ attachment.fileExt }}</p>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=true'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>preview</mat-icon>\r\n </button>\r\n </a>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=false'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n", styles: [".attachments-list-view .attachments-title{font-weight:500;margin-bottom:0}.attachments-list-view ul{padding-left:0}.attachments-list-view ul li{padding:0 10px;border-right:2px solid #66bb6a}.attachments-list-view ul li:last-child{border-right:0}.attachments-list-view ul li p{margin-bottom:0}.attachments-list-view ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.attachments-list-view ul li button:hover{opacity:1}.attachments-list-view ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"] }]
513
- }], ctorParameters: () => [{ type: undefined, decorators: [{
514
- type: Inject,
515
- args: ['config']
516
- }] }] });
519
+ args: [{ selector: 'app-attachments-list-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIconButton, MatIcon, TranslatePipe], template: "<div class=\"attachments-list-view\">\r\n <p class=\"attachments-title\">\r\n {{ 'sapAdminInstalledInstrument.attachments' | translate }}:\r\n </p>\r\n <ul class=\"row\">\r\n @for (attachment of attachments(); track attachment.id) {\r\n <li class=\"row align-items-center\">\r\n <p>{{ attachment.fileName }}.{{ attachment.fileExt }}</p>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=true'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>preview</mat-icon>\r\n </button>\r\n </a>\r\n <a\r\n [href]=\"\r\n baseDownloadLink() +\r\n '&id=' +\r\n attachment.id +\r\n '&line=' +\r\n attachment.line +\r\n '&preview=false'\r\n \"\r\n target=\"_blank\"\r\n (click)=\"updateLink()\"\r\n >\r\n <button mat-icon-button>\r\n <mat-icon>cloud_download</mat-icon>\r\n </button>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n", styles: [".attachments-list-view .attachments-title{font-weight:500;margin-bottom:0}.attachments-list-view ul{padding-left:0}.attachments-list-view ul li{padding:0 10px;border-right:2px solid #66bb6a}.attachments-list-view ul li:last-child{border-right:0}.attachments-list-view ul li p{margin-bottom:0}.attachments-list-view ul li button{width:32px;height:32px;line-height:32px;opacity:.8}.attachments-list-view ul li button:hover{opacity:1}.attachments-list-view ul li button mat-icon{font-size:22px;line-height:22px;width:22px;height:22px}\n"] }]
520
+ }], propDecorators: { attachments: [{ type: i0.Input, args: [{ isSignal: true, alias: "attachments", required: true }] }], accessToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessToken", required: false }] }] } });
517
521
 
518
522
  class ActivityDetailsViewComponent {
519
523
  constructor() {
520
- this.activity = input.required();
521
- this.accessToken = input('');
524
+ this.activity = input.required(...(ngDevMode ? [{ debugName: "activity" }] : []));
525
+ this.accessToken = input('', ...(ngDevMode ? [{ debugName: "accessToken" }] : []));
522
526
  }
523
527
  ngOnInit() { }
524
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ActivityDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
525
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ActivityDetailsViewComponent, isStandalone: false, selector: "app-activity-details-view", inputs: { activity: { classPropertyName: "activity", publicName: "activity", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, 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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.incompleteReason' | translate\r\n }}</span>\r\n <p>{{ activity().incompleteReason || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n@if (activity().attachmentList.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"activity().attachmentList\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "component", type: AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
528
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ActivityDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
529
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: ActivityDetailsViewComponent, isStandalone: true, selector: "app-activity-details-view", inputs: { activity: { classPropertyName: "activity", publicName: "activity", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, 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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.incompleteReason' | translate\r\n }}</span>\r\n <p>{{ activity().incompleteReason || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n@if (activity().attachmentList.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"activity().attachmentList\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "component", type: AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
526
530
  }
527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ActivityDetailsViewComponent, decorators: [{
531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ActivityDetailsViewComponent, decorators: [{
528
532
  type: Component,
529
- args: [{ selector: 'app-activity-details-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.incompleteReason' | translate\r\n }}</span>\r\n <p>{{ activity().incompleteReason || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n@if (activity().attachmentList.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"activity().attachmentList\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
530
- }] });
533
+ args: [{ selector: 'app-activity-details-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AttachmentsListViewComponent, TranslatePipe, StDateFormatModule], 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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.incompleteReason' | translate\r\n }}</span>\r\n <p>{{ activity().incompleteReason || '-' }}</p>\r\n </div>\r\n</div>\r\n\r\n@if (activity().attachmentList.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"activity().attachmentList\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
534
+ }], propDecorators: { activity: [{ type: i0.Input, args: [{ isSignal: true, alias: "activity", required: true }] }], accessToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessToken", required: false }] }] } });
531
535
 
532
536
  class ActivitiesListViewComponent {
533
537
  constructor() {
534
- this.class = 'display-flex-component';
535
- this.activities = input();
536
- this.accessToken = input('');
538
+ this.paginator = viewChild.required(MatPaginator);
539
+ this.activities = input(...(ngDevMode ? [undefined, { debugName: "activities" }] : []));
540
+ this.accessToken = input('', ...(ngDevMode ? [{ debugName: "accessToken" }] : []));
537
541
  this.columnsToDisplay = [
538
542
  'activityNumber',
539
543
  'detailedSymptom',
@@ -542,20 +546,22 @@ class ActivitiesListViewComponent {
542
546
  'startTime',
543
547
  'endTime',
544
548
  ];
545
- this.expandedElement = signal(null);
546
- }
547
- ngOnInit() {
548
- this.setTable();
549
+ this.tableSource = signal(new MatTableDataSource(), ...(ngDevMode ? [{ debugName: "tableSource" }] : []));
550
+ this.expandedElement = signal(null, ...(ngDevMode ? [{ debugName: "expandedElement" }] : []));
551
+ effect(() => {
552
+ const activities = this.activities();
553
+ this.tableSource.update(oldData => {
554
+ oldData.data = activities ?? [];
555
+ return oldData;
556
+ });
557
+ });
549
558
  }
550
559
  ngAfterViewInit() {
551
- this.paginator.pageSize = 5;
552
- this.tableSource.paginator = this.paginator;
553
- }
554
- setTable() {
555
- this.tableSource = new MatTableDataSource(this.activities());
560
+ this.paginator().pageSize = 5;
561
+ this.tableSource().paginator = this.paginator();
556
562
  }
557
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ActivitiesListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
558
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ActivitiesListViewComponent, isStandalone: false, selector: "app-activities-list-view", inputs: { activities: { classPropertyName: "activities", publicName: "activities", isSignal: true, isRequired: false, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, 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\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\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>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </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 @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\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)=\"\r\n expandedElement.set(expandedElement() === element ? null : element)\r\n \"\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".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:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}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: "component", type: i1$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: ["activity", "accessToken"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
563
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ActivitiesListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
564
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: ActivitiesListViewComponent, isStandalone: true, selector: "app-activities-list-view", inputs: { activities: { classPropertyName: "activities", publicName: "activities", isSignal: true, isRequired: false, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"activities-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\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>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </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 @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\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)=\"\r\n expandedElement.set(expandedElement() === element ? null : element)\r\n \"\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".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:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}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: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: ActivityDetailsViewComponent, selector: "app-activity-details-view", inputs: ["activity", "accessToken"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
559
565
  trigger('detailExpand', [
560
566
  state('collapsed', style({ height: '0px', minHeight: '0' })),
561
567
  state('expanded', style({ height: '*' })),
@@ -563,7 +569,7 @@ class ActivitiesListViewComponent {
563
569
  ]),
564
570
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
565
571
  }
566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ActivitiesListViewComponent, decorators: [{
572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ActivitiesListViewComponent, decorators: [{
567
573
  type: Component,
568
574
  args: [{ selector: 'app-activities-list-view', animations: [
569
575
  trigger('detailExpand', [
@@ -571,26 +577,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
571
577
  state('expanded', style({ height: '*' })),
572
578
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
573
579
  ]),
574
- ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"activities-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\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>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </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 @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\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)=\"\r\n expandedElement.set(expandedElement() === element ? null : element)\r\n \"\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".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:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}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"] }]
575
- }], ctorParameters: () => [], propDecorators: { class: [{
576
- type: HostBinding,
577
- args: ['class']
578
- }], paginator: [{
579
- type: ViewChild,
580
- args: [MatPaginator]
581
- }] } });
580
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, imports: [MatTable, MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, ActivityDetailsViewComponent, MatHeaderRowDef, MatHeaderRow, MatRowDef, MatRow, MatPaginator, TranslatePipe, StDateFormatModule], template: "<div class=\"activities-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n [multiTemplateDataRows]=\"true\"\r\n >\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>\r\n {{ 'sapAdminInstalledInstrument.type' | translate }}\r\n </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 @if (element == expandedElement()) {\r\n <app-activity-details-view\r\n [activity]=\"element\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activity-details-view>\r\n }\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)=\"\r\n expandedElement.set(expandedElement() === element ? null : element)\r\n \"\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".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:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}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"] }]
581
+ }], ctorParameters: () => [], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }], activities: [{ type: i0.Input, args: [{ isSignal: true, alias: "activities", required: false }] }], accessToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessToken", required: false }] }] } });
582
582
 
583
583
  class ServiceContractDetailsViewComponent {
584
584
  constructor() {
585
- this.contract = input.required();
585
+ this.contract = input.required(...(ngDevMode ? [{ debugName: "contract" }] : []));
586
586
  }
587
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ServiceContractDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
588
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: ServiceContractDetailsViewComponent, isStandalone: false, selector: "app-service-contract-details-view", inputs: { contract: { classPropertyName: "contract", publicName: "contract", isSignal: true, isRequired: true, transformFunction: null } }, 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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.startDateDetails' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.terminationDateDetails' | translate\r\n }}</span>\r\n <p>{{ (contract().terminationDateDetail | stDateFormatPipe) || '-' }}</p>\r\n </div>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
587
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ServiceContractDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
588
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.29", type: ServiceContractDetailsViewComponent, isStandalone: true, selector: "app-service-contract-details-view", inputs: { contract: { classPropertyName: "contract", publicName: "contract", isSignal: true, isRequired: true, transformFunction: null } }, 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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.startDateDetails' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.terminationDateDetails' | translate\r\n }}</span>\r\n <p>{{ (contract().terminationDateDetail | stDateFormatPipe) || '-' }}</p>\r\n </div>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
589
589
  }
590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ServiceContractDetailsViewComponent, decorators: [{
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ServiceContractDetailsViewComponent, decorators: [{
591
591
  type: Component,
592
- args: [{ selector: 'app-service-contract-details-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.startDateDetails' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.terminationDateDetails' | translate\r\n }}</span>\r\n <p>{{ (contract().terminationDateDetail | stDateFormatPipe) || '-' }}</p>\r\n </div>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
593
- }] });
592
+ args: [{ selector: 'app-service-contract-details-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslatePipe, StDateFormatModule], 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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.startDateDetails' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.terminationDateDetails' | translate\r\n }}</span>\r\n <p>{{ (contract().terminationDateDetail | stDateFormatPipe) || '-' }}</p>\r\n </div>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
593
+ }], propDecorators: { contract: [{ type: i0.Input, args: [{ isSignal: true, alias: "contract", required: true }] }] } });
594
594
 
595
595
  class ServiceContractsModalDetailsViewComponent {
596
596
  constructor() {
@@ -600,23 +600,21 @@ class ServiceContractsModalDetailsViewComponent {
600
600
  close() {
601
601
  this.dialogRef.close();
602
602
  }
603
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ServiceContractsModalDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
604
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ServiceContractsModalDetailsViewComponent, isStandalone: false, selector: "app-service-contracts-modal-details-view", ngImport: i0, template: "<h1 mat-dialog-title>\r\n {{ 'sapAdminInstalledInstrument.serviceContract' | translate }}\r\n</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()\">\r\n {{ 'sapAdminInstalledInstrument.close' | translate }}\r\n </button>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i2$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: ServiceContractDetailsViewComponent, selector: "app-service-contract-details-view", inputs: ["contract"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
603
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ServiceContractsModalDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
604
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.29", type: ServiceContractsModalDetailsViewComponent, isStandalone: true, selector: "app-service-contracts-modal-details-view", ngImport: i0, template: "<h1 mat-dialog-title>\r\n {{ 'sapAdminInstalledInstrument.serviceContract' | translate }}\r\n</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()\">\r\n {{ 'sapAdminInstalledInstrument.close' | translate }}\r\n </button>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: ServiceContractDetailsViewComponent, selector: "app-service-contract-details-view", inputs: ["contract"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
605
605
  }
606
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ServiceContractsModalDetailsViewComponent, decorators: [{
606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ServiceContractsModalDetailsViewComponent, decorators: [{
607
607
  type: Component,
608
- args: [{ selector: 'app-service-contracts-modal-details-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<h1 mat-dialog-title>\r\n {{ 'sapAdminInstalledInstrument.serviceContract' | translate }}\r\n</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()\">\r\n {{ 'sapAdminInstalledInstrument.close' | translate }}\r\n </button>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
608
+ args: [{ selector: 'app-service-contracts-modal-details-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatDialogTitle, CdkScrollable, MatDialogContent, ServiceContractDetailsViewComponent, MatDialogActions, MatButton, TranslatePipe], template: "<h1 mat-dialog-title>\r\n {{ 'sapAdminInstalledInstrument.serviceContract' | translate }}\r\n</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()\">\r\n {{ 'sapAdminInstalledInstrument.close' | translate }}\r\n </button>\r\n</div>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
609
609
  }] });
610
610
 
611
611
  class CallDetailsViewComponent {
612
612
  constructor() {
613
- this.call = input.required();
614
- this.contracts = input.required();
615
- this.accessToken = input('');
616
- this.contractDetails = signal(undefined);
617
- this.activitiesLoading = signal(true);
618
- this.activities$ = signal(null);
619
- this.activities = signal([]);
613
+ this.call = input.required(...(ngDevMode ? [{ debugName: "call" }] : []));
614
+ this.contracts = input.required(...(ngDevMode ? [{ debugName: "contracts" }] : []));
615
+ this.accessToken = input('', ...(ngDevMode ? [{ debugName: "accessToken" }] : []));
616
+ this.contractDetails = signal(undefined, ...(ngDevMode ? [{ debugName: "contractDetails" }] : []));
617
+ this.activities = signal([], ...(ngDevMode ? [{ debugName: "activities" }] : []));
620
618
  this.dialog = inject(MatDialog);
621
619
  this.sapInstalledInstruments = inject(SapInstalledInstrumentsService);
622
620
  }
@@ -624,7 +622,9 @@ class CallDetailsViewComponent {
624
622
  if (this.call() && this.contracts() && this.call().contractNo) {
625
623
  this.contractDetails.set(this.contracts().find(contract => contract.contractId === this.call().contractNo));
626
624
  }
627
- this.loadActivities();
625
+ this.sapInstalledInstruments
626
+ .getActivities(this.call().callId)
627
+ .subscribe(res => this.activities.set(res));
628
628
  }
629
629
  openContractModel() {
630
630
  this.dialog.open(ServiceContractsModalDetailsViewComponent, {
@@ -633,29 +633,20 @@ class CallDetailsViewComponent {
633
633
  });
634
634
  }
635
635
  tabChanged(event) { }
636
- loadActivities() {
637
- const activitiesObservable = this.sapInstalledInstruments
638
- .getActivities(this.call().callId)
639
- .pipe(tap(res => {
640
- this.activities.set(res);
641
- this.activitiesLoading.set(false);
642
- }));
643
- this.activities$.set(activitiesObservable);
644
- }
645
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CallDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
646
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: CallDetailsViewComponent, isStandalone: false, selector: "app-call-details-view", inputs: { call: { classPropertyName: "call", publicName: "call", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, 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 @if (contractDetails()) {\r\n <mat-icon class=\"show-contract\" (click)=\"openContractModel()\"\r\n >visibility</mat-icon\r\n >\r\n }\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>{{\r\n 'sapAdminInstalledInstrument.contactPerson' | translate\r\n }}</span>\r\n <p>{{ call().contactPerson || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.shipToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.billToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.problemSubtype' | translate\r\n }}</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>\r\n {{\r\n call().technicianFirstName\r\n ? call().technicianFirstName + ' ' + call().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.engineerName' | translate\r\n }}</span>\r\n <p>{{ call().engeneerName || '-' }}</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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.internalComments' | translate\r\n }}</span>\r\n <p>{{ call().internalComments || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n @if (call()?.attachmentList && call().attachmentList!.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"call().attachmentList!\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n }\r\n </mat-tab>\r\n\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.activities' | translate }} ({{\r\n activities().length || 0\r\n }})\"\r\n >\r\n @if (activities$() | async) {\r\n <app-activities-list-view\r\n [activities]=\"activities()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activities-list-view>\r\n }\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"], dependencies: [{ kind: "component", type: i1$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: ["activities", "accessToken"] }, { kind: "component", type: AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
636
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: CallDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
637
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: CallDetailsViewComponent, isStandalone: true, selector: "app-call-details-view", inputs: { call: { classPropertyName: "call", publicName: "call", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, 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 @if (contractDetails()) {\r\n <mat-icon class=\"show-contract\" (click)=\"openContractModel()\"\r\n >visibility</mat-icon\r\n >\r\n }\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>{{\r\n 'sapAdminInstalledInstrument.contactPerson' | translate\r\n }}</span>\r\n <p>{{ call().contactPerson || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.shipToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.billToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.problemSubtype' | translate\r\n }}</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>\r\n {{\r\n call().technicianFirstName\r\n ? call().technicianFirstName + ' ' + call().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.engineerName' | translate\r\n }}</span>\r\n <p>{{ call().engeneerName || '-' }}</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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.internalComments' | translate\r\n }}</span>\r\n <p>{{ call().internalComments || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n @if (call()?.attachmentList && call().attachmentList!.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"call().attachmentList!\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n }\r\n </mat-tab>\r\n\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.activities' | translate }} ({{\r\n activities().length\r\n }})\"\r\n >\r\n <app-activities-list-view\r\n [activities]=\"activities()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activities-list-view>\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"], dependencies: [{ kind: "component", type: MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AttachmentsListViewComponent, selector: "app-attachments-list-view", inputs: ["attachments", "accessToken"] }, { kind: "component", type: ActivitiesListViewComponent, selector: "app-activities-list-view", inputs: ["activities", "accessToken"] }, { kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
647
638
  }
648
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CallDetailsViewComponent, decorators: [{
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: CallDetailsViewComponent, decorators: [{
649
640
  type: Component,
650
- args: [{ selector: 'app-call-details-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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 @if (contractDetails()) {\r\n <mat-icon class=\"show-contract\" (click)=\"openContractModel()\"\r\n >visibility</mat-icon\r\n >\r\n }\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>{{\r\n 'sapAdminInstalledInstrument.contactPerson' | translate\r\n }}</span>\r\n <p>{{ call().contactPerson || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.shipToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.billToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.problemSubtype' | translate\r\n }}</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>\r\n {{\r\n call().technicianFirstName\r\n ? call().technicianFirstName + ' ' + call().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.engineerName' | translate\r\n }}</span>\r\n <p>{{ call().engeneerName || '-' }}</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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.internalComments' | translate\r\n }}</span>\r\n <p>{{ call().internalComments || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n @if (call()?.attachmentList && call().attachmentList!.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"call().attachmentList!\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n }\r\n </mat-tab>\r\n\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.activities' | translate }} ({{\r\n activities().length || 0\r\n }})\"\r\n >\r\n @if (activities$() | async) {\r\n <app-activities-list-view\r\n [activities]=\"activities()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activities-list-view>\r\n }\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"] }]
651
- }] });
641
+ args: [{ selector: 'app-call-details-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatTabGroup, MatTab, MatIcon, AttachmentsListViewComponent, ActivitiesListViewComponent, TranslatePipe, StDateFormatModule], 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 @if (contractDetails()) {\r\n <mat-icon class=\"show-contract\" (click)=\"openContractModel()\"\r\n >visibility</mat-icon\r\n >\r\n }\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>{{\r\n 'sapAdminInstalledInstrument.contactPerson' | translate\r\n }}</span>\r\n <p>{{ call().contactPerson || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.shipToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.billToAddress' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.problemSubtype' | translate\r\n }}</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>\r\n {{\r\n call().technicianFirstName\r\n ? call().technicianFirstName + ' ' + call().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.engineerName' | translate\r\n }}</span>\r\n <p>{{ call().engeneerName || '-' }}</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>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.internalComments' | translate\r\n }}</span>\r\n <p>{{ call().internalComments || '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n @if (call()?.attachmentList && call().attachmentList!.length > 0) {\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-12\">\r\n <app-attachments-list-view\r\n [attachments]=\"call().attachmentList!\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-attachments-list-view>\r\n </div>\r\n </div>\r\n }\r\n </mat-tab>\r\n\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.activities' | translate }} ({{\r\n activities().length\r\n }})\"\r\n >\r\n <app-activities-list-view\r\n [activities]=\"activities()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-activities-list-view>\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".show-contract{margin-left:5px;font-size:22px;opacity:.8;cursor:pointer;color:#1976d2}.show-contract:hover{opacity:1}\n"] }]
642
+ }], propDecorators: { call: [{ type: i0.Input, args: [{ isSignal: true, alias: "call", required: true }] }], contracts: [{ type: i0.Input, args: [{ isSignal: true, alias: "contracts", required: true }] }], accessToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessToken", required: false }] }] } });
652
643
 
653
644
  class CallsListViewComponent {
654
645
  constructor() {
655
646
  this.paginator = viewChild.required(MatPaginator);
656
- this.calls = input.required();
657
- this.contracts = input.required();
658
- this.accessToken = input('');
647
+ this.calls = input.required(...(ngDevMode ? [{ debugName: "calls" }] : []));
648
+ this.contracts = input.required(...(ngDevMode ? [{ debugName: "contracts" }] : []));
649
+ this.accessToken = input('', ...(ngDevMode ? [{ debugName: "accessToken" }] : []));
659
650
  this.columnsToDisplay = [
660
651
  'callId',
661
652
  'callStatus',
@@ -667,21 +658,22 @@ class CallsListViewComponent {
667
658
  'createdOn',
668
659
  'closedOn',
669
660
  ];
670
- this.tableSource = signal(new MatTableDataSource([]));
671
- this.expandedElement = signal(null);
672
- }
673
- ngOnInit() {
674
- this.setTable();
661
+ this.tableSource = signal(new MatTableDataSource([]), ...(ngDevMode ? [{ debugName: "tableSource" }] : []));
662
+ this.expandedElement = signal(null, ...(ngDevMode ? [{ debugName: "expandedElement" }] : []));
663
+ effect(() => {
664
+ const calls = this.calls();
665
+ this.tableSource.update(oldData => {
666
+ oldData.data = calls ?? [];
667
+ return oldData;
668
+ });
669
+ });
675
670
  }
676
671
  ngAfterViewInit() {
677
672
  this.paginator().pageSize = 10;
678
673
  this.tableSource().paginator = this.paginator();
679
674
  }
680
- setTable() {
681
- this.tableSource.set(new MatTableDataSource(this.calls()));
682
- }
683
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CallsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
684
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: CallsListViewComponent, isStandalone: false, selector: "app-calls-list-view", inputs: { calls: { classPropertyName: "calls", publicName: "calls", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.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 {{ 'sapAdminInstalledInstrument.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=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</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 @if (element == expandedElement) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: i1$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: CallDetailsViewComponent, selector: "app-call-details-view", inputs: ["call", "contracts", "accessToken"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
675
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: CallsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
676
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: CallsListViewComponent, isStandalone: true, selector: "app-calls-list-view", inputs: { calls: { classPropertyName: "calls", publicName: "calls", isSignal: true, isRequired: true, transformFunction: null }, contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: true, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.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 {{ 'sapAdminInstalledInstrument.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=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</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 @if (element == expandedElement) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: CallDetailsViewComponent, selector: "app-call-details-view", inputs: ["call", "contracts", "accessToken"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateTimeFormatPipe, name: "stDateTimeFormatPipe" }], animations: [
685
677
  trigger('detailExpand', [
686
678
  state('collapsed', style({ height: '0px', minHeight: '0' })),
687
679
  state('expanded', style({ height: '*' })),
@@ -689,7 +681,7 @@ class CallsListViewComponent {
689
681
  ]),
690
682
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
691
683
  }
692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CallsListViewComponent, decorators: [{
684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: CallsListViewComponent, decorators: [{
693
685
  type: Component,
694
686
  args: [{ selector: 'app-calls-list-view', animations: [
695
687
  trigger('detailExpand', [
@@ -697,26 +689,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
697
689
  state('expanded', style({ height: '*' })),
698
690
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
699
691
  ]),
700
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, standalone: false, template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.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 {{ 'sapAdminInstalledInstrument.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=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</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 @if (element == expandedElement) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
701
- }] });
692
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, imports: [MatTable, MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, CallDetailsViewComponent, MatHeaderRowDef, MatHeaderRow, MatRowDef, MatRow, MatPaginator, TranslatePipe, StDateFormatModule], template: "<div class=\"calls-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\r\n <ng-container matColumnDef=\"callId\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.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 {{ 'sapAdminInstalledInstrument.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=\"engeneerName\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ 'sapAdminInstalledInstrument.engineerName' | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">{{ element.engeneerName }}</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 @if (element == expandedElement) {\r\n <app-call-details-view\r\n [call]=\"element\"\r\n [contracts]=\"contracts()\"\r\n [accessToken]=\"accessToken()\"\r\n ></app-call-details-view>\r\n }\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".calls-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, var(--active-table-row, #c8e6c9));border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
693
+ }], ctorParameters: () => [], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }], calls: [{ type: i0.Input, args: [{ isSignal: true, alias: "calls", required: true }] }], contracts: [{ type: i0.Input, args: [{ isSignal: true, alias: "contracts", required: true }] }], accessToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessToken", required: false }] }] } });
702
694
 
703
695
  class DataDetailsViewComponent {
704
696
  constructor() {
705
- this.installedInstrument = input.required();
697
+ this.installedInstrument = input.required(...(ngDevMode ? [{ debugName: "installedInstrument" }] : []));
706
698
  }
707
699
  ngOnInit() { }
708
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DataDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
709
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: DataDetailsViewComponent, isStandalone: false, selector: "app-data-details-view", inputs: { installedInstrument: { classPropertyName: "installedInstrument", publicName: "installedInstrument", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (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>{{\r\n 'sapAdminInstalledInstrument.instrumentDescription' | translate\r\n }}</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 <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>{{\r\n 'sapAdminInstalledInstrument.businessPartnerName' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().businessPartnerName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.contactPerson' | translate }}</span>\r\n <p>{{ installedInstrument().contactPerson || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.technicianName' | translate\r\n }}</span>\r\n <p>\r\n {{\r\n installedInstrument().technicianFirstName\r\n ? installedInstrument().technicianFirstName +\r\n ' ' +\r\n installedInstrument().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.territory' | translate }}</span>\r\n <p>{{ installedInstrument().territory || '-' }}</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>{{\r\n 'sapAdminInstalledInstrument.installationDate' | translate\r\n }}</span>\r\n <p>\r\n {{ (installedInstrument().installationDate | stDateFormatPipe) || '-' }}\r\n </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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.block' | translate }}</span>\r\n <p>{{ installedInstrument().block || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.county' | translate }}</span>\r\n <p>{{ installedInstrument().county || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.country' | translate }}</span>\r\n <p>{{ installedInstrument().country || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.softwareVersion' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().softwareVersion || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.pcSoftwareVersion' | translate\r\n }}</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 <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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit1' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit1 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit2' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit2 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit3' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit3 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit4' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit5' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit5 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit6' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit6 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit7' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit8' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit8 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit9' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit9 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit10' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit10 || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.numberOfAnalysis' | translate\r\n }}</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 <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}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
700
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: DataDetailsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
701
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: DataDetailsViewComponent, isStandalone: true, selector: "app-data-details-view", inputs: { installedInstrument: { classPropertyName: "installedInstrument", publicName: "installedInstrument", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (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>{{\r\n 'sapAdminInstalledInstrument.instrumentDescription' | translate\r\n }}</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 <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>{{\r\n 'sapAdminInstalledInstrument.businessPartnerName' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().businessPartnerName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.contactPerson' | translate }}</span>\r\n <p>{{ installedInstrument().contactPerson || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.technicianName' | translate\r\n }}</span>\r\n <p>\r\n {{\r\n installedInstrument().technicianFirstName\r\n ? installedInstrument().technicianFirstName +\r\n ' ' +\r\n installedInstrument().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.territory' | translate }}</span>\r\n <p>{{ installedInstrument().territory || '-' }}</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>{{\r\n 'sapAdminInstalledInstrument.installationDate' | translate\r\n }}</span>\r\n <p>\r\n {{ (installedInstrument().installationDate | stDateFormatPipe) || '-' }}\r\n </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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.block' | translate }}</span>\r\n <p>{{ installedInstrument().block || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.county' | translate }}</span>\r\n <p>{{ installedInstrument().county || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.country' | translate }}</span>\r\n <p>{{ installedInstrument().country || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.softwareVersion' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().softwareVersion || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.pcSoftwareVersion' | translate\r\n }}</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 <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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit1' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit1 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit2' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit2 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit3' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit3 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit4' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit5' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit5 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit6' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit6 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit7' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit8' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit8 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit9' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit9 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit10' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit10 || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.numberOfAnalysis' | translate\r\n }}</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 <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}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ""], dependencies: [{ kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
710
702
  }
711
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DataDetailsViewComponent, decorators: [{
703
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: DataDetailsViewComponent, decorators: [{
712
704
  type: Component,
713
- args: [{ selector: 'app-data-details-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (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>{{\r\n 'sapAdminInstalledInstrument.instrumentDescription' | translate\r\n }}</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 <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>{{\r\n 'sapAdminInstalledInstrument.businessPartnerName' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().businessPartnerName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.contactPerson' | translate }}</span>\r\n <p>{{ installedInstrument().contactPerson || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.technicianName' | translate\r\n }}</span>\r\n <p>\r\n {{\r\n installedInstrument().technicianFirstName\r\n ? installedInstrument().technicianFirstName +\r\n ' ' +\r\n installedInstrument().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.territory' | translate }}</span>\r\n <p>{{ installedInstrument().territory || '-' }}</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>{{\r\n 'sapAdminInstalledInstrument.installationDate' | translate\r\n }}</span>\r\n <p>\r\n {{ (installedInstrument().installationDate | stDateFormatPipe) || '-' }}\r\n </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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.block' | translate }}</span>\r\n <p>{{ installedInstrument().block || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.county' | translate }}</span>\r\n <p>{{ installedInstrument().county || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.country' | translate }}</span>\r\n <p>{{ installedInstrument().country || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.softwareVersion' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().softwareVersion || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.pcSoftwareVersion' | translate\r\n }}</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 <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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit1' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit1 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit2' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit2 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit3' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit3 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit4' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit5' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit5 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit6' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit6 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit7' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit8' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit8 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit9' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit9 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit10' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit10 || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.numberOfAnalysis' | translate\r\n }}</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 <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}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
714
- }] });
705
+ args: [{ selector: 'app-data-details-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslatePipe, StDateFormatModule], template: "@if (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>{{\r\n 'sapAdminInstalledInstrument.instrumentDescription' | translate\r\n }}</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 <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>{{\r\n 'sapAdminInstalledInstrument.businessPartnerName' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().businessPartnerName || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.contactPerson' | translate }}</span>\r\n <p>{{ installedInstrument().contactPerson || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{\r\n 'sapAdminInstalledInstrument.technicianName' | translate\r\n }}</span>\r\n <p>\r\n {{\r\n installedInstrument().technicianFirstName\r\n ? installedInstrument().technicianFirstName +\r\n ' ' +\r\n installedInstrument().technicianLastName\r\n : '-'\r\n }}\r\n </p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{ 'sapAdminInstalledInstrument.territory' | translate }}</span>\r\n <p>{{ installedInstrument().territory || '-' }}</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>{{\r\n 'sapAdminInstalledInstrument.installationDate' | translate\r\n }}</span>\r\n <p>\r\n {{ (installedInstrument().installationDate | stDateFormatPipe) || '-' }}\r\n </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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.block' | translate }}</span>\r\n <p>{{ installedInstrument().block || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.county' | translate }}</span>\r\n <p>{{ installedInstrument().county || '-' }}</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.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>{{ 'sapAdminInstalledInstrument.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>{{ 'sapAdminInstalledInstrument.country' | translate }}</span>\r\n <p>{{ installedInstrument().country || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.softwareVersion' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().softwareVersion || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.pcSoftwareVersion' | translate\r\n }}</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 <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 <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit1' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit1 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit2' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit2 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit3' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit3 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit4' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit5' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit5 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit6' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit6 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit7' | translate\r\n }}</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>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit8' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit8 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit9' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit9 || '-' }}</p>\r\n </div>\r\n <div class=\"col-xs-12 col-sm-4\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.majorUpgradeKit10' | translate\r\n }}</span>\r\n <p>{{ installedInstrument().majorUpgradeKit10 || '-' }}</p>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"group-details row\">\r\n <div class=\"col-xs-12 col-sm-3\">\r\n <span>{{\r\n 'sapAdminInstalledInstrument.numberOfAnalysis' | translate\r\n }}</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 <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}\r\n", styles: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n"] }]
706
+ }], propDecorators: { installedInstrument: [{ type: i0.Input, args: [{ isSignal: true, alias: "installedInstrument", required: true }] }] } });
715
707
 
716
708
  class ServiceContractsListViewComponent {
717
709
  constructor() {
718
710
  this.paginator = viewChild.required(MatPaginator);
719
- this.contracts = input();
711
+ this.contracts = input(...(ngDevMode ? [undefined, { debugName: "contracts" }] : []));
720
712
  this.columnsToDisplay = [
721
713
  'contractId',
722
714
  'customer',
@@ -728,21 +720,22 @@ class ServiceContractsListViewComponent {
728
720
  'startDate',
729
721
  'terminationDate',
730
722
  ];
731
- this.tableSource = signal(new MatTableDataSource([]));
732
- this.expandedElement = signal(null);
733
- }
734
- ngOnInit() {
735
- this.setTable();
723
+ this.tableSource = signal(new MatTableDataSource([]), ...(ngDevMode ? [{ debugName: "tableSource" }] : []));
724
+ this.expandedElement = signal(null, ...(ngDevMode ? [{ debugName: "expandedElement" }] : []));
725
+ effect(() => {
726
+ const contracts = this.contracts();
727
+ this.tableSource.update(oldData => {
728
+ oldData.data = contracts ?? [];
729
+ return oldData;
730
+ });
731
+ });
736
732
  }
737
733
  ngAfterViewInit() {
738
734
  this.paginator().pageSize = 10;
739
735
  this.tableSource().paginator = this.paginator();
740
736
  }
741
- setTable() {
742
- this.tableSource.set(new MatTableDataSource(this.contracts()));
743
- }
744
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ServiceContractsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
745
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", type: ServiceContractsListViewComponent, isStandalone: false, selector: "app-service-contracts-list-view", inputs: { contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"service-contracts-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".service-contracts-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, #c8e6c9);border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: i1$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1$3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i2$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: ServiceContractDetailsViewComponent, selector: "app-service-contract-details-view", inputs: ["contract"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.DateFormatPipe, name: "stDateFormatPipe" }], animations: [
737
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ServiceContractsListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
738
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.29", type: ServiceContractsListViewComponent, isStandalone: true, selector: "app-service-contracts-list-view", inputs: { contracts: { classPropertyName: "contracts", publicName: "contracts", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"service-contracts-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".service-contracts-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, #c8e6c9);border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"], dependencies: [{ kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: ServiceContractDetailsViewComponent, selector: "app-service-contract-details-view", inputs: ["contract"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: StDateFormatModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.DateFormatPipe, name: "stDateFormatPipe" }], animations: [
746
739
  trigger('detailExpand', [
747
740
  state('collapsed', style({ height: '0px', minHeight: '0' })),
748
741
  state('expanded', style({ height: '*' })),
@@ -750,7 +743,7 @@ class ServiceContractsListViewComponent {
750
743
  ]),
751
744
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
752
745
  }
753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ServiceContractsListViewComponent, decorators: [{
746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: ServiceContractsListViewComponent, decorators: [{
754
747
  type: Component,
755
748
  args: [{ selector: 'app-service-contracts-list-view', animations: [
756
749
  trigger('detailExpand', [
@@ -758,29 +751,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
758
751
  state('expanded', style({ height: '*' })),
759
752
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
760
753
  ]),
761
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, standalone: false, template: "<div class=\"service-contracts-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".service-contracts-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, #c8e6c9);border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
762
- }] });
754
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, imports: [MatTable, MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, ServiceContractDetailsViewComponent, MatHeaderRowDef, MatHeaderRow, MatRowDef, MatRow, MatPaginator, TranslatePipe, StDateFormatModule], template: "<div class=\"service-contracts-list-view\">\r\n <table\r\n class=\"st-material-table\"\r\n mat-table\r\n [dataSource]=\"tableSource()\"\r\n multiTemplateDataRows\r\n >\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: [".group-details{width:100%}.group-details>div>span{font-size:.8rem;color:#9e9e9e}.group-details p{font-size:1rem;line-height:1.5rem;white-space:pre-line;align-items:center;display:flex;color:#3c4858}.group-details p mat-icon{cursor:pointer;margin-left:2px;font-size:1.4rem;opacity:.8}.group-details p mat-icon:hover{opacity:1}.group-details p span.info{color:#fbc02d}.group-details .html-field{max-height:100px;overflow-y:auto}\n", ".service-contracts-list-view{width:100%}table::ng-deep tbody>tr:not(.details-expanded-row):hover{background-color:var(--surface-100, whitesmoke)!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-color:var(--surface-100, whitesmoke)!important}table::ng-deep tbody>tr.details-element-row td{border-bottom-width:0}table::ng-deep tbody>tr.details-expanded-row{background-color:var(--active-table-row, #c8e6c9);border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr.details-expanded-row+tr{border-left:3px solid var(--active-table-row, #c8e6c9);border-right:3px solid var(--active-table-row, #c8e6c9);border-bottom:3px solid var(--active-table-row, #c8e6c9)}table::ng-deep tbody>tr .mat-column-expanded{width:50px}\n"] }]
755
+ }], ctorParameters: () => [], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }], contracts: [{ type: i0.Input, args: [{ isSignal: true, alias: "contracts", required: false }] }] } });
763
756
 
764
757
  class SapInstalledInstrumentDetailsComponent {
765
758
  constructor() {
766
- this.id = input();
767
- this.accessToken = input();
768
- this.territoryFilter = input(false);
769
- this.showWithCardContent = input(true);
759
+ this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : []));
760
+ this.accessToken = input(...(ngDevMode ? [undefined, { debugName: "accessToken" }] : []));
761
+ this.territoryFilter = input(false, ...(ngDevMode ? [{ debugName: "territoryFilter" }] : []));
762
+ this.showWithCardContent = input(true, ...(ngDevMode ? [{ debugName: "showWithCardContent" }] : []));
770
763
  this.sapInstalledInstrumentService = inject(SapInstalledInstrumentsService);
771
764
  this.location = inject(Location);
772
- this.installedInstrument$ = signal(null);
773
- this.calls$ = signal(null);
774
- this.serviceContracts$ = signal(null);
775
- this.tabActive = signal(0);
776
- this.installedInstrument = signal(null);
777
- this.calls = signal([]);
778
- this.serviceContracts = signal([]);
779
- }
765
+ this.injector = inject(Injector);
766
+ this.tabActive = signal(0, ...(ngDevMode ? [{ debugName: "tabActive" }] : []));
767
+ this.installedInstrument = signal(undefined).asReadonly();
768
+ this.calls = signal([]).asReadonly();
769
+ this.serviceContracts = signal([]).asReadonly();
770
+ }
771
+ // Inputs are not available in the constructor. Token and territory filter
772
+ // are set on the service before the requests below fire, since the HTTP
773
+ // interceptor reads these synchronously off the service.
780
774
  ngOnInit() {
781
775
  this.sapInstalledInstrumentService.accessToken = this.accessToken();
782
776
  this.sapInstalledInstrumentService.territoryFilter = this.territoryFilter();
783
- this.loadTabsData();
777
+ this.installedInstrument = toSignal(this.sapInstalledInstrumentService.getInstalledInstrument(this.id()), { injector: this.injector });
778
+ this.calls = toSignal(this.sapInstalledInstrumentService.getCalls(this.id()), { initialValue: [], injector: this.injector });
779
+ this.serviceContracts = toSignal(this.sapInstalledInstrumentService.getContracts(this.id()), { initialValue: [], injector: this.injector });
784
780
  }
785
781
  tabChanged(event) {
786
782
  this.tabActive.set(event.index);
@@ -788,29 +784,13 @@ class SapInstalledInstrumentDetailsComponent {
788
784
  goBack() {
789
785
  this.location.back();
790
786
  }
791
- loadTabsData() {
792
- const instrumentObs = this.sapInstalledInstrumentService
793
- .getInstalledInstrument(this.id())
794
- .pipe(tap(installedInstrument => {
795
- this.installedInstrument.set(installedInstrument);
796
- }));
797
- this.installedInstrument$.set(instrumentObs);
798
- const callsObs = this.sapInstalledInstrumentService
799
- .getCalls(this.id())
800
- .pipe(tap(res => this.calls.set(res)));
801
- this.calls$.set(callsObs);
802
- const contractsObs = this.sapInstalledInstrumentService
803
- .getContracts(this.id())
804
- .pipe(tap(res => this.serviceContracts.set(res)));
805
- this.serviceContracts$.set(contractsObs);
806
- }
807
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
808
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: SapInstalledInstrumentDetailsComponent, isStandalone: false, selector: "app-sap-installed-instrument-details", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null }, territoryFilter: { classPropertyName: "territoryFilter", publicName: "territoryFilter", isSignal: true, isRequired: false, transformFunction: null }, showWithCardContent: { classPropertyName: "showWithCardContent", publicName: "showWithCardContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, ngImport: i0, template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentDetails' | translate\r\n \"\r\n [showHistoryBack]=\"true\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div\r\n style=\"\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n position: relative;\r\n \"\r\n >\r\n @if (!showWithCardContent()) {\r\n <button\r\n mat-icon-button\r\n style=\"position: absolute; top: 5px; left: 0; z-index: 11\"\r\n (click)=\"goBack()\"\r\n >\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </button>\r\n }\r\n\r\n <mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.instrumentDetails' | translate\r\n }}\"\r\n >\r\n @if (installedInstrument$() | async) {\r\n @if (tabActive() === 0 && installedInstrument()) {\r\n <app-data-details-view\r\n [installedInstrument]=\"installedInstrument()!\"\r\n ></app-data-details-view>\r\n }\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.calls' | translate }} ({{\r\n calls().length || 0\r\n }})\"\r\n >\r\n @if (calls$() | async) {\r\n @if (tabActive() === 1) {\r\n <app-calls-list-view\r\n [calls]=\"calls()\"\r\n [contracts]=\"serviceContracts()\"\r\n [accessToken]=\"accessToken()!\"\r\n ></app-calls-list-view>\r\n }\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.serviceContracts' | translate\r\n }} ({{ serviceContracts().length || 0 }})\"\r\n >\r\n @if (serviceContracts$() | async) {\r\n @if (tabActive() === 2) {\r\n <app-service-contracts-list-view\r\n [contracts]=\"serviceContracts()\"\r\n ></app-service-contracts-list-view>\r\n }\r\n }\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n</ng-template>\r\n", styles: ["mat-tab-group{width:100%}mat-tab-group::ng-deep mat-tab-body{padding:10px 0}\n", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"], dependencies: [{ kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i1$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i2$4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i2$2.CardComponent, selector: "ngx-st-card", inputs: ["title", "createLink", "backLink", "showHistoryBack", "actionMenu", "actionButton", "noBodyTopPadding", "createLinkLabel"] }, { kind: "component", type: CallsListViewComponent, selector: "app-calls-list-view", inputs: ["calls", "contracts", "accessToken"] }, { kind: "component", type: DataDetailsViewComponent, selector: "app-data-details-view", inputs: ["installedInstrument"] }, { kind: "component", type: ServiceContractsListViewComponent, selector: "app-service-contracts-list-view", inputs: ["contracts"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
788
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.29", type: SapInstalledInstrumentDetailsComponent, isStandalone: true, selector: "app-sap-installed-instrument-details", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, accessToken: { classPropertyName: "accessToken", publicName: "accessToken", isSignal: true, isRequired: false, transformFunction: null }, territoryFilter: { classPropertyName: "territoryFilter", publicName: "territoryFilter", isSignal: true, isRequired: false, transformFunction: null }, showWithCardContent: { classPropertyName: "showWithCardContent", publicName: "showWithCardContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "display-flex-component" }, ngImport: i0, template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentDetails' | translate\r\n \"\r\n [showHistoryBack]=\"true\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div\r\n style=\"\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n position: relative;\r\n \"\r\n >\r\n @if (!showWithCardContent()) {\r\n <button\r\n mat-icon-button\r\n style=\"position: absolute; top: 5px; left: 0; z-index: 11\"\r\n (click)=\"goBack()\"\r\n >\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </button>\r\n }\r\n\r\n <mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.instrumentDetails' | translate\r\n }}\"\r\n >\r\n @if (tabActive() === 0 && installedInstrument()) {\r\n <app-data-details-view\r\n [installedInstrument]=\"installedInstrument()!\"\r\n ></app-data-details-view>\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.calls' | translate }} ({{\r\n calls().length\r\n }})\"\r\n >\r\n @if (tabActive() === 1) {\r\n <app-calls-list-view\r\n [calls]=\"calls()\"\r\n [contracts]=\"serviceContracts()\"\r\n [accessToken]=\"accessToken()!\"\r\n ></app-calls-list-view>\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.serviceContracts' | translate\r\n }} ({{ serviceContracts().length }})\"\r\n >\r\n @if (tabActive() === 2) {\r\n <app-service-contracts-list-view\r\n [contracts]=\"serviceContracts()\"\r\n ></app-service-contracts-list-view>\r\n }\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n</ng-template>\r\n", styles: ["mat-tab-group{width:100%}mat-tab-group::ng-deep mat-tab-body{padding:10px 0}\n", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"], dependencies: [{ kind: "ngmodule", type: NgxStCardModule }, { kind: "component", type: i1$2.CardComponent, selector: "ngx-st-card", inputs: ["title", "createLink", "backLink", "showHistoryBack", "checkIframeHistoryOnBack", "actionMenu", "actionButton", "noBodyTopPadding", "createLinkLabel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], 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", "accessToken"] }, { kind: "component", type: ServiceContractsListViewComponent, selector: "app-service-contracts-list-view", inputs: ["contracts"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
809
789
  }
810
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SapInstalledInstrumentDetailsComponent, decorators: [{
790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: SapInstalledInstrumentDetailsComponent, decorators: [{
811
791
  type: Component,
812
- args: [{ selector: 'app-sap-installed-instrument-details', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, standalone: false, template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentDetails' | translate\r\n \"\r\n [showHistoryBack]=\"true\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div\r\n style=\"\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n position: relative;\r\n \"\r\n >\r\n @if (!showWithCardContent()) {\r\n <button\r\n mat-icon-button\r\n style=\"position: absolute; top: 5px; left: 0; z-index: 11\"\r\n (click)=\"goBack()\"\r\n >\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </button>\r\n }\r\n\r\n <mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.instrumentDetails' | translate\r\n }}\"\r\n >\r\n @if (installedInstrument$() | async) {\r\n @if (tabActive() === 0 && installedInstrument()) {\r\n <app-data-details-view\r\n [installedInstrument]=\"installedInstrument()!\"\r\n ></app-data-details-view>\r\n }\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.calls' | translate }} ({{\r\n calls().length || 0\r\n }})\"\r\n >\r\n @if (calls$() | async) {\r\n @if (tabActive() === 1) {\r\n <app-calls-list-view\r\n [calls]=\"calls()\"\r\n [contracts]=\"serviceContracts()\"\r\n [accessToken]=\"accessToken()!\"\r\n ></app-calls-list-view>\r\n }\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.serviceContracts' | translate\r\n }} ({{ serviceContracts().length || 0 }})\"\r\n >\r\n @if (serviceContracts$() | async) {\r\n @if (tabActive() === 2) {\r\n <app-service-contracts-list-view\r\n [contracts]=\"serviceContracts()\"\r\n ></app-service-contracts-list-view>\r\n }\r\n }\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n</ng-template>\r\n", styles: ["mat-tab-group{width:100%}mat-tab-group::ng-deep mat-tab-body{padding:10px 0}\n", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"] }]
813
- }] });
792
+ args: [{ selector: 'app-sap-installed-instrument-details', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'display-flex-component' }, imports: [NgxStCardModule, NgTemplateOutlet, MatIconButton, MatIcon, MatTabGroup, MatTab, DataDetailsViewComponent, CallsListViewComponent, ServiceContractsListViewComponent, TranslatePipe], template: "@if (showWithCardContent()) {\r\n <ngx-st-card\r\n [title]=\"\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentDetails' | translate\r\n \"\r\n [showHistoryBack]=\"true\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </ngx-st-card>\r\n}\r\n\r\n@if (!showWithCardContent()) {\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n}\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div\r\n style=\"\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n position: relative;\r\n \"\r\n >\r\n @if (!showWithCardContent()) {\r\n <button\r\n mat-icon-button\r\n style=\"position: absolute; top: 5px; left: 0; z-index: 11\"\r\n (click)=\"goBack()\"\r\n >\r\n <mat-icon>keyboard_backspace</mat-icon>\r\n </button>\r\n }\r\n\r\n <mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.instrumentDetails' | translate\r\n }}\"\r\n >\r\n @if (tabActive() === 0 && installedInstrument()) {\r\n <app-data-details-view\r\n [installedInstrument]=\"installedInstrument()!\"\r\n ></app-data-details-view>\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{ 'sapAdminInstalledInstrument.calls' | translate }} ({{\r\n calls().length\r\n }})\"\r\n >\r\n @if (tabActive() === 1) {\r\n <app-calls-list-view\r\n [calls]=\"calls()\"\r\n [contracts]=\"serviceContracts()\"\r\n [accessToken]=\"accessToken()!\"\r\n ></app-calls-list-view>\r\n }\r\n </mat-tab>\r\n <mat-tab\r\n label=\"{{\r\n 'sapAdminInstalledInstrument.serviceContracts' | translate\r\n }} ({{ serviceContracts().length }})\"\r\n >\r\n @if (tabActive() === 2) {\r\n <app-service-contracts-list-view\r\n [contracts]=\"serviceContracts()\"\r\n ></app-service-contracts-list-view>\r\n }\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n</ng-template>\r\n", styles: ["mat-tab-group{width:100%}mat-tab-group::ng-deep mat-tab-body{padding:10px 0}\n", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"] }]
793
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], accessToken: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessToken", required: false }] }], territoryFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "territoryFilter", required: false }] }], showWithCardContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "showWithCardContent", required: false }] }] } });
814
794
 
815
795
  class StSapInstalledInstrumentsModule {
816
796
  static forRoot(config = {}) {
@@ -819,24 +799,12 @@ class StSapInstalledInstrumentsModule {
819
799
  providers: [{ provide: 'config', useValue: config.config }],
820
800
  };
821
801
  }
822
- constructor(matIconRegistry) {
823
- this.matIconRegistry = matIconRegistry;
802
+ constructor() {
803
+ this.matIconRegistry = inject(MatIconRegistry);
824
804
  this.matIconRegistry.setDefaultFontSetClass('material-symbols-outlined');
825
805
  }
826
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: StSapInstalledInstrumentsModule, deps: [{ token: i1$2.MatIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule }); }
827
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: StSapInstalledInstrumentsModule, declarations: [SapInstalledInstrumentDetailsComponent,
828
- SapInstalledInstrumentListComponent,
829
- ActivitiesListViewComponent,
830
- ActivityDetailsViewComponent,
831
- CallDetailsViewComponent,
832
- CallsListViewComponent,
833
- DataDetailsViewComponent,
834
- ServiceContractsListViewComponent,
835
- ServiceContractDetailsViewComponent,
836
- ServiceContractsModalDetailsViewComponent,
837
- SapInstalledInstrumentListSearchComponent,
838
- SapInstalledInstrumentListTableComponent,
839
- AttachmentsListViewComponent], imports: [CommonModule,
806
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: StSapInstalledInstrumentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
807
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.29", ngImport: i0, type: StSapInstalledInstrumentsModule, imports: [CommonModule,
840
808
  MatButtonModule,
841
809
  MatRippleModule,
842
810
  MatFormFieldModule,
@@ -856,14 +824,27 @@ class StSapInstalledInstrumentsModule {
856
824
  MatSnackBarModule,
857
825
  MatCheckboxModule,
858
826
  MatAutocompleteModule,
859
- MatSortModule, i4.TranslateModule, StDateFormatModule,
827
+ MatSortModule, i1$3.TranslateModule, StDateFormatModule,
860
828
  ReactiveFormsModule,
861
829
  StMultiselectAutocompleteModule,
862
830
  StSearchSelectsModule,
863
831
  AuthModule,
864
- NgxStCardModule], exports: [SapInstalledInstrumentListComponent,
832
+ NgxStCardModule,
833
+ SapInstalledInstrumentDetailsComponent,
834
+ SapInstalledInstrumentListComponent,
835
+ ActivitiesListViewComponent,
836
+ ActivityDetailsViewComponent,
837
+ CallDetailsViewComponent,
838
+ CallsListViewComponent,
839
+ DataDetailsViewComponent,
840
+ ServiceContractsListViewComponent,
841
+ ServiceContractDetailsViewComponent,
842
+ ServiceContractsModalDetailsViewComponent,
843
+ SapInstalledInstrumentListSearchComponent,
844
+ SapInstalledInstrumentListTableComponent,
845
+ AttachmentsListViewComponent], exports: [SapInstalledInstrumentListComponent,
865
846
  SapInstalledInstrumentDetailsComponent] }); }
866
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: StSapInstalledInstrumentsModule, providers: [SapInstalledInstrumentsService], imports: [CommonModule,
847
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: StSapInstalledInstrumentsModule, providers: [SapInstalledInstrumentsService], imports: [CommonModule,
867
848
  MatButtonModule,
868
849
  MatRippleModule,
869
850
  MatFormFieldModule,
@@ -890,26 +871,24 @@ class StSapInstalledInstrumentsModule {
890
871
  StMultiselectAutocompleteModule,
891
872
  StSearchSelectsModule,
892
873
  AuthModule,
893
- NgxStCardModule] }); }
874
+ NgxStCardModule,
875
+ SapInstalledInstrumentDetailsComponent,
876
+ SapInstalledInstrumentListComponent,
877
+ ActivitiesListViewComponent,
878
+ ActivityDetailsViewComponent,
879
+ CallDetailsViewComponent,
880
+ CallsListViewComponent,
881
+ DataDetailsViewComponent,
882
+ ServiceContractsListViewComponent,
883
+ ServiceContractDetailsViewComponent,
884
+ ServiceContractsModalDetailsViewComponent,
885
+ SapInstalledInstrumentListSearchComponent,
886
+ SapInstalledInstrumentListTableComponent,
887
+ AttachmentsListViewComponent] }); }
894
888
  }
895
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: StSapInstalledInstrumentsModule, decorators: [{
889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.29", ngImport: i0, type: StSapInstalledInstrumentsModule, decorators: [{
896
890
  type: NgModule,
897
891
  args: [{
898
- declarations: [
899
- SapInstalledInstrumentDetailsComponent,
900
- SapInstalledInstrumentListComponent,
901
- ActivitiesListViewComponent,
902
- ActivityDetailsViewComponent,
903
- CallDetailsViewComponent,
904
- CallsListViewComponent,
905
- DataDetailsViewComponent,
906
- ServiceContractsListViewComponent,
907
- ServiceContractDetailsViewComponent,
908
- ServiceContractsModalDetailsViewComponent,
909
- SapInstalledInstrumentListSearchComponent,
910
- SapInstalledInstrumentListTableComponent,
911
- AttachmentsListViewComponent,
912
- ],
913
892
  imports: [
914
893
  CommonModule,
915
894
  MatButtonModule,
@@ -939,6 +918,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
939
918
  StSearchSelectsModule,
940
919
  AuthModule,
941
920
  NgxStCardModule,
921
+ SapInstalledInstrumentDetailsComponent,
922
+ SapInstalledInstrumentListComponent,
923
+ ActivitiesListViewComponent,
924
+ ActivityDetailsViewComponent,
925
+ CallDetailsViewComponent,
926
+ CallsListViewComponent,
927
+ DataDetailsViewComponent,
928
+ ServiceContractsListViewComponent,
929
+ ServiceContractDetailsViewComponent,
930
+ ServiceContractsModalDetailsViewComponent,
931
+ SapInstalledInstrumentListSearchComponent,
932
+ SapInstalledInstrumentListTableComponent,
933
+ AttachmentsListViewComponent,
942
934
  ],
943
935
  providers: [SapInstalledInstrumentsService],
944
936
  exports: [
@@ -946,7 +938,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
946
938
  SapInstalledInstrumentDetailsComponent,
947
939
  ],
948
940
  }]
949
- }], ctorParameters: () => [{ type: i1$2.MatIconRegistry }] });
941
+ }], ctorParameters: () => [] });
950
942
 
951
943
  /*
952
944
  * Public API Surface of ngx-st-sap-installed-instruments