{"version":3,"file":"ngx-st-sap-installed-instruments.mjs","sources":["../../../projects/ngx-st-sap-installed-instruments/src/lib/models/installed-instrument-table-columns.model.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/services/sap-installed-instruments.service.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/attachments-list-view/attachments-list-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/attachments-list-view/attachments-list-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.ts","../../../projects/ngx-st-sap-installed-instruments/src/lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component.html","../../../projects/ngx-st-sap-installed-instruments/src/lib/ngx-st-sap-installed-instruments.module.ts","../../../projects/ngx-st-sap-installed-instruments/src/public-api.ts","../../../projects/ngx-st-sap-installed-instruments/src/ngx-st-sap-installed-instruments.ts"],"sourcesContent":["import { InstalledInstrumentSortByColumnEnum } from './installed-instrument-sort-by-column.enum';\r\n\r\nexport declare type InstalledInstrumentTableColumnsModel =\r\n  | 'instrumentNo'\r\n  | 'instrumentDescription'\r\n  | 'serialNumber'\r\n  | 'customerNo'\r\n  | 'businessPartnerName'\r\n  | 'endUserName'\r\n  | 'city'\r\n  | 'territoryId'\r\n  | 'country'\r\n  | 'installationDate'\r\n  | 'status'\r\n  | 'selectToMap';\r\n\r\nexport enum InstalledInstrumentTableColumnsMapperEnum {\r\n  instrumentNo = InstalledInstrumentSortByColumnEnum.ItemCode,\r\n  instrumentDescription = InstalledInstrumentSortByColumnEnum.ItemName,\r\n  serialNumber = InstalledInstrumentSortByColumnEnum.SerialNumber,\r\n  customerNo = InstalledInstrumentSortByColumnEnum.BpId,\r\n  businessPartnerName = InstalledInstrumentSortByColumnEnum.BpName,\r\n  endUserName = InstalledInstrumentSortByColumnEnum.EndCustomer,\r\n  city = InstalledInstrumentSortByColumnEnum.City,\r\n  territoryId = InstalledInstrumentSortByColumnEnum.Territory,\r\n  country = InstalledInstrumentSortByColumnEnum.Country,\r\n  status = InstalledInstrumentSortByColumnEnum.Status,\r\n  installationDate = InstalledInstrumentSortByColumnEnum.InstallationDate,\r\n}\r\n","import { Inject, Injectable, SkipSelf } from '@angular/core';\r\nimport { IConfig } from '../base-interfaces';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { InstalledInstrumentFormModel } from '../models/installed-instrument-form.model';\r\nimport { Sort } from '@angular/material/sort';\r\nimport { Observable } from 'rxjs';\r\nimport { ViewSapInstalledInstrumentListModel } from '../models/view-sap-installed-instrument-list.model';\r\nimport { SapInstalledInstrumentModel } from '../models/sap-installed-instrument.model';\r\nimport { SapTerritoryModel } from '../models/sap-territory.model';\r\nimport { SapStateModel } from '../models/sap-state.model';\r\nimport { SapCountryModel } from '../models/sap-country.model';\r\nimport { SapContractModel } from '../models/sap-contract.model';\r\nimport { SapCallModel } from '../models/sap-call.model';\r\nimport { SapActivityModel } from '../models/sap-activity.model';\r\nimport { InstalledInstrumentTableColumnsMapperEnum } from '../models/installed-instrument-table-columns.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { SapInstalledInstrumentListModel } from '../models/sap-installed-instrument-list.model';\r\nimport moment from 'moment';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class SapInstalledInstrumentsService {\r\n\r\n  territoryFilter: boolean = false;\r\n  accessToken: string = '';\r\n\r\n  private baseUrl: string;\r\n\r\n  constructor(\r\n    @Inject('config') private config: IConfig,\r\n    @SkipSelf() private http: HttpClient\r\n  ) {\r\n    this.baseUrl = `${this.config.api_base_uri}${this.config.base_uri}${this.config.api_module}`;\r\n  }\r\n\r\n  getInstalledInstrumentList(\r\n    searchForm: InstalledInstrumentFormModel | undefined,\r\n    sort: Sort | undefined\r\n  ): Observable<ViewSapInstalledInstrumentListModel[]> {\r\n    const search = {\r\n      sfId: searchForm?.sfId || undefined,\r\n      applicationList: searchForm?.application || [],\r\n      instrumentNo: searchForm?.instrumentNo || '',\r\n      instrumentDescription: searchForm?.instrumentDesc || '',\r\n      serialNumber: searchForm?.serialNumber || '',\r\n      customerNo: searchForm?.customerNo || '',\r\n      businessPartnerName: searchForm?.bpName || '',\r\n      statusId: searchForm?.status || '',\r\n      technicianLastName: searchForm?.technicianLastName || '',\r\n      territoryId: searchForm?.territory || null,\r\n      endUserName: searchForm?.endUserName || '',\r\n      endUserCode: searchForm?.endUserCode || '',\r\n      city: searchForm?.city || '',\r\n      stateId: searchForm?.state || '',\r\n      countryId: searchForm?.country || '',\r\n      county: searchForm?.county || '',\r\n      installationDateFrom: searchForm?.installationDateFrom\r\n        ? moment(searchForm.installationDateFrom).format('YYYY-MM-DD')\r\n        : null,\r\n      installationDateTo: searchForm?.installationDateTo\r\n        ? moment(searchForm.installationDateTo).format('YYYY-MM-DD')\r\n        : null,\r\n    };\r\n\r\n    if (sort && sort.direction !== '') {\r\n      // @ts-ignore\r\n      search.sortOrder = sort.direction === 'asc' ? 0 : 1;\r\n      // @ts-ignore\r\n      search.sortByColumn =\r\n        InstalledInstrumentTableColumnsMapperEnum[<any>sort.active];\r\n    }\r\n    return this.http\r\n      .post<\r\n        SapInstalledInstrumentListModel[]\r\n      >(this.baseUrl + '/list', search)\r\n      .pipe(\r\n        map(res => {\r\n          return res.map(installInstrument => ({\r\n            ...installInstrument,\r\n            technicianName: installInstrument.technicianFirstName\r\n              ? installInstrument.technicianFirstName +\r\n              ' ' +\r\n              installInstrument.technicianLastName\r\n              : '',\r\n          }));\r\n        })\r\n      );\r\n  }\r\n\r\n  getInstalledInstrument(\r\n    eqCard: number\r\n  ): Observable<SapInstalledInstrumentModel> {\r\n    const params = new HttpParams().set('eqCard', eqCard);\r\n    return this.http.get<SapInstalledInstrumentModel>(\r\n      this.baseUrl,\r\n      { params }\r\n    );\r\n  }\r\n\r\n  getTerritory(refresh: boolean = false): Observable<SapTerritoryModel[]> {\r\n    const params = new HttpParams().set('refresh', refresh);\r\n    return this.http.get<SapTerritoryModel[]>(\r\n      this.baseUrl + '/territory',\r\n      { params }\r\n    );\r\n  }\r\n\r\n  getState(\r\n    country: string,\r\n    refresh: boolean = false\r\n  ): Observable<SapStateModel[]> {\r\n    const params = new HttpParams()\r\n      .set('refresh', refresh)\r\n      .set('country', country);\r\n    return this.http.get<SapStateModel[]>(\r\n      this.baseUrl + '/state',\r\n      { params }\r\n    );\r\n  }\r\n\r\n  getCountry(refresh: boolean = false): Observable<SapCountryModel[]> {\r\n    const params = new HttpParams().set('refresh', refresh);\r\n    return this.http.get<SapCountryModel[]>(\r\n      this.baseUrl + '/country',\r\n      { params }\r\n    );\r\n  }\r\n\r\n  getContracts(eqCard: number): Observable<SapContractModel[]> {\r\n    const params = new HttpParams().set('eqCard', eqCard);\r\n    return this.http.get<SapContractModel[]>(\r\n      this.baseUrl + '/contract',\r\n      { params }\r\n    );\r\n  }\r\n\r\n  getCalls(eqCard: number): Observable<SapCallModel[]> {\r\n    const params = new HttpParams().set('eqCard', eqCard);\r\n    return this.http.get<SapCallModel[]>(\r\n      this.baseUrl + '/call',\r\n      { params }\r\n    );\r\n  }\r\n\r\n  getActivities(callId: number): Observable<SapActivityModel[]> {\r\n    const params = new HttpParams().set('callId', callId);\r\n    return this.http.get<SapActivityModel[]>(\r\n      this.baseUrl + '/activity',\r\n      { params }\r\n    );\r\n  }\r\n\r\n  getApplicationSearch(search: string): Observable<string[]> {\r\n    const params = new HttpParams().set('application', search);\r\n    return this.http.get<string[]>(\r\n      `${this.baseUrl}/application?application='}`\r\n    );\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  OnInit,\r\n  viewChild,\r\n  input,\r\n  output,\r\n  signal,\r\n  inject,\r\n  effect,\r\n} from '@angular/core';\r\nimport { StSubscribeDestroyComponent } from 'ngx-st-base-functions';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SapInstalledInstrumentListModel } from '../../../models/sap-installed-instrument-list.model';\r\nimport { MatSort, Sort } from '@angular/material/sort';\r\nimport { InstalledInstrumentTableColumnsModel } from '../../../models/installed-instrument-table-columns.model';\r\nimport { SapInstalledInstrumentsService } from '../../../services/sap-installed-instruments.service';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { HttpParams } from '@angular/common/http';\r\n\r\n@Component({\r\n  selector: 'app-sap-installed-instrument-list-table',\r\n  templateUrl: './sap-installed-instrument-list-table.component.html',\r\n  styleUrls: ['./sap-installed-instrument-list-table.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SapInstalledInstrumentListTableComponent\r\n  extends StSubscribeDestroyComponent\r\n  implements OnInit, AfterViewInit\r\n{\r\n  paginator = viewChild.required<MatPaginator>(MatPaginator);\r\n  sort = viewChild.required<MatSort>(MatSort);\r\n\r\n  useMapButton = input(false);\r\n  tableData = input<SapInstalledInstrumentListModel[]>([]);\r\n\r\n  sortChanged = output<Sort>();\r\n\r\n  dataSource = signal<MatTableDataSource<SapInstalledInstrumentListModel>>(\r\n    new MatTableDataSource()\r\n  );\r\n\r\n  tableColumns = signal<InstalledInstrumentTableColumnsModel[]>([\r\n    'instrumentNo',\r\n    'instrumentDescription',\r\n    'serialNumber',\r\n    'customerNo',\r\n    'businessPartnerName',\r\n    'endUserName',\r\n    'city',\r\n    'territoryId',\r\n    'country',\r\n    'installationDate',\r\n    'status',\r\n  ]);\r\n\r\n  mapTableColumns = signal<{ [field: string]: string }>({});\r\n  showOnMapSelection = signal<SelectionModel<SapInstalledInstrumentListModel>>(\r\n    new SelectionModel<SapInstalledInstrumentListModel>(true)\r\n  );\r\n\r\n  private router = inject(Router);\r\n  private activatedRoute = inject(ActivatedRoute);\r\n  private sapInstalledInstruments = inject(SapInstalledInstrumentsService);\r\n  private changeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n  constructor() {\r\n    super();\r\n\r\n    effect(\r\n      () => {\r\n        const tableData = this.tableData();\r\n\r\n        this.dataSource.update(oldData => {\r\n          oldData.data = tableData;\r\n          return oldData;\r\n        });\r\n      },\r\n      { allowSignalWrites: true }\r\n    );\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.setTableColumns();\r\n    if (!this.sapInstalledInstruments.territoryFilter) {\r\n      this.tableColumns.update(columns =>\r\n        columns.filter(column => column !== 'territoryId')\r\n      );\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.dataSource().paginator = this.paginator();\r\n    this.dataSource().sort = this.sort();\r\n\r\n    this.sort()\r\n      ?.sortChange.pipe(takeUntil(this.ngDestroyed$))\r\n      .subscribe(res => {\r\n        this.sortChanged.emit(res);\r\n      });\r\n\r\n    const queryParamsKeys = Object.keys(\r\n      this.activatedRoute.snapshot.queryParams || {}\r\n    );\r\n\r\n    if (\r\n      queryParamsKeys.length > 0 &&\r\n      this.activatedRoute.snapshot.queryParams['active'] &&\r\n      this.activatedRoute.snapshot.queryParams['direction']\r\n    ) {\r\n      this.sort()?.sort({\r\n        id: this.activatedRoute.snapshot.queryParams['active'],\r\n        start: this.activatedRoute.snapshot.queryParams['direction'],\r\n        disableClear: false,\r\n      });\r\n    }\r\n  }\r\n\r\n  rowClicked(row: SapInstalledInstrumentListModel) {\r\n    this.router.navigate(['details', row.equipmentCardNo], {\r\n      relativeTo: this.activatedRoute,\r\n    });\r\n  }\r\n\r\n  changeRowSelection(event: any, row: SapInstalledInstrumentListModel) {\r\n    event.stopPropagation();\r\n    if (this.showOnMapSelection().isSelected(row)) {\r\n      this.showOnMapSelection().deselect(row);\r\n    } else {\r\n      this.showOnMapSelection().select(row);\r\n    }\r\n\r\n    this.changeDetectorRef.markForCheck();\r\n  }\r\n\r\n  redirectToShowOnMap() {\r\n    const url =\r\n      window.location.host.search('leco.com') !== -1\r\n        ? ''\r\n        : 'https://leco--fcsb.sandbox.lightning.force.com';\r\n    const params = new HttpParams()\r\n      .set(\r\n        'recordIds',\r\n        [\r\n          ...new Set(\r\n            this.showOnMapSelection().selected.map(\r\n              instrument => instrument.sfIdView\r\n            )\r\n          ),\r\n        ].join(',')\r\n      )\r\n      .set('baseObjectId', 'a0kQo000002nNaDIAU')\r\n      .set('tooltipField', 'IntrumentName__c')\r\n      .set('zoom', '8')\r\n      .set('color', '#66FF00');\r\n\r\n    window.open(`${url}/apex/maps__Maps?${params.toString()}`, '_blank');\r\n  }\r\n\r\n  toggleAll(checked: boolean) {\r\n    if (checked) {\r\n      let selectedCount = 0;\r\n      this.dataSource().data.forEach(instrument => {\r\n        if (instrument.sfIdView && selectedCount < 500) {\r\n          this.showOnMapSelection().select(instrument);\r\n          selectedCount++;\r\n        }\r\n      });\r\n    } else {\r\n      this.showOnMapSelection().clear();\r\n    }\r\n\r\n    this.changeDetectorRef.markForCheck();\r\n  }\r\n\r\n  private setTableColumns() {\r\n    if (this.useMapButton()) {\r\n      this.tableColumns.update(columns => ['selectToMap', ...columns]);\r\n    }\r\n\r\n    this.mapTableColumns.set({\r\n      instrumentNo: 'sapAdminInstalledInstrument.instrumentNo',\r\n      instrumentDescription:\r\n        'sapAdminInstalledInstrument.instrumentDescription',\r\n      serialNumber: 'sapAdminInstalledInstrument.serialNumber',\r\n      customerNo: 'sapAdminInstalledInstrument.accountNo',\r\n      businessPartnerName: 'sapAdminInstalledInstrument.accountName',\r\n      endUserName: 'sapAdminInstalledInstrument.endCustomer',\r\n      city: 'sapAdminInstalledInstrument.city',\r\n      territoryId: 'sapAdminInstalledInstrument.territory',\r\n      country: 'sapAdminInstalledInstrument.country',\r\n      status: 'sapAdminInstalledInstrument.status',\r\n      installationDate: 'sapAdminInstalledInstrument.installationDate',\r\n      selectToMap: '',\r\n    });\r\n  }\r\n}\r\n","@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","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  OnDestroy,\r\n  OnInit,\r\n  viewChild,\r\n  output,\r\n  signal,\r\n  inject,\r\n} from '@angular/core';\r\nimport { NonNullableFormBuilder } from '@angular/forms';\r\nimport { Observable, of, Subject } from 'rxjs';\r\nimport { SapTerritoryModel } from '../../../models/sap-territory.model';\r\nimport { SapStateModel } from '../../../models/sap-state.model';\r\nimport { SapCountryModel } from '../../../models/sap-country.model';\r\nimport { NgxStMultiselectAutocompleteComponent } from 'ngx-st-multiselect-autocomplete';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SapInstalledInstrumentsService } from '../../../services/sap-installed-instruments.service';\r\nimport { InstalledInstrumentFormModel } from '../../../models/installed-instrument-form.model';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\ninterface SearchFormType {\r\n  application: string[][];\r\n  serialNumber: string;\r\n  instrumentNo: string;\r\n  instrumentDesc: string;\r\n  customerNo: string;\r\n  bpName: string;\r\n  city: string;\r\n  county: string;\r\n  endUserName: string;\r\n  endUserCode: string;\r\n  territory: number | null;\r\n  technicianLastName: string;\r\n  country: string;\r\n  state: string;\r\n  status: string;\r\n  installationDateFrom: Date | null;\r\n  installationDateTo: Date | null;\r\n}\r\n\r\n@Component({\r\n  selector: 'app-sap-installed-instrument-list-search',\r\n  templateUrl: './sap-installed-instrument-list-search.component.html',\r\n  styleUrls: ['./sap-installed-instrument-list-search.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SapInstalledInstrumentListSearchComponent\r\n  implements OnInit, OnDestroy\r\n{\r\n  multiselectAutocomplete = viewChild<NgxStMultiselectAutocompleteComponent>(\r\n    'multiselectAutocomplete'\r\n  );\r\n\r\n  private sapInstalledInstrumentService = inject(\r\n    SapInstalledInstrumentsService\r\n  );\r\n  private activatedRoute = inject(ActivatedRoute);\r\n  private fb = inject(NonNullableFormBuilder);\r\n\r\n  filtersChanged = output<InstalledInstrumentFormModel>();\r\n\r\n  showFilters = signal<boolean>(false);\r\n  searchForm = this.fb.group<SearchFormType>({\r\n    application: [<string[]>[]],\r\n    serialNumber: '',\r\n    instrumentNo: '',\r\n    instrumentDesc: '',\r\n    customerNo: '',\r\n    bpName: '',\r\n    city: '',\r\n    county: '',\r\n    endUserName: '',\r\n    endUserCode: '',\r\n    territory: <number | null>null,\r\n    technicianLastName: '',\r\n    country: '',\r\n    state: '',\r\n    status: '',\r\n    installationDateFrom: <Date | null>null,\r\n    installationDateTo: <Date | null>null,\r\n  });\r\n\r\n  territories$: Observable<SapTerritoryModel[]>;\r\n  states$: Observable<SapStateModel[]>;\r\n  countries$: Observable<SapCountryModel[]>;\r\n\r\n  private destroy$ = new Subject<void>();\r\n\r\n  ngOnInit(): void {\r\n    this.setSearchForm();\r\n    this.setAsyncFilters();\r\n\r\n    const queryParamsKeys = Object.keys(\r\n      this.activatedRoute.snapshot.queryParams || {}\r\n    );\r\n\r\n    if (queryParamsKeys.length > 2) {\r\n      this.showFilters.set(true);\r\n\r\n      queryParamsKeys.forEach(queryParam => {\r\n        const formControl = this.searchForm.get(queryParam);\r\n        if (formControl) {\r\n          if (\r\n            queryParam === 'installationDateFrom' ||\r\n            queryParam === 'installationDateTo'\r\n          ) {\r\n            formControl.setValue(\r\n              this.activatedRoute.snapshot.queryParams[queryParam]\r\n                ? new Date(this.activatedRoute.snapshot.queryParams[queryParam])\r\n                : null\r\n            );\r\n          } else {\r\n            formControl.setValue(\r\n              this.activatedRoute.snapshot.queryParams[queryParam]\r\n            );\r\n          }\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  clearAllFilters() {\r\n    this.searchForm.reset();\r\n    this.multiselectAutocomplete()?.clearSelectedData();\r\n    this.searchSubmitted();\r\n  }\r\n\r\n  refreshTerritories() {\r\n    this.searchForm.controls.territory.setValue(null);\r\n    this.territories$ = this.sapInstalledInstrumentService.getTerritory(true);\r\n  }\r\n\r\n  refreshCountries() {\r\n    this.searchForm.controls.country.setValue('');\r\n    this.countries$ = this.sapInstalledInstrumentService.getCountry(true);\r\n  }\r\n\r\n  refreshStates() {\r\n    this.searchForm.controls.state.setValue('');\r\n    this.states$ = this.sapInstalledInstrumentService.getState(\r\n      this.searchForm.controls.country.value,\r\n      true\r\n    );\r\n  }\r\n\r\n  searchSubmitted() {\r\n    const formValues = this.searchForm.getRawValue();\r\n\r\n    this.filtersChanged.emit({ sfId: undefined, ...formValues });\r\n  }\r\n\r\n  clearInputValue(formControlName: string) {\r\n    this.searchForm.get(formControlName)!.setValue('');\r\n    this.searchSubmitted();\r\n  }\r\n\r\n  getFilteredOptions = (search: string) => {\r\n    return this.sapInstalledInstrumentService.getApplicationSearch(search);\r\n  };\r\n\r\n  applicationSelected(data: string[]) {\r\n    this.searchForm.controls.application.setValue(data);\r\n  }\r\n\r\n  private setAsyncFilters() {\r\n    this.territories$ = this.sapInstalledInstrumentService.getTerritory(false);\r\n    this.countries$ = this.sapInstalledInstrumentService.getCountry(false);\r\n    this.states$ = of([]);\r\n  }\r\n\r\n  private setSearchForm() {\r\n    this.searchForm.controls.country.valueChanges\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe((country: string) => {\r\n        this.searchForm.controls.state.setValue('');\r\n\r\n        if (country) {\r\n          this.states$ = this.sapInstalledInstrumentService.getState(country);\r\n        } else {\r\n          this.states$ = of([]);\r\n        }\r\n      });\r\n  }\r\n}\r\n","<form\r\n  class=\"search-filters\"\r\n  [formGroup]=\"searchForm\"\r\n  (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","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  HostBinding,\r\n  input,\r\n  OnInit,\r\n  inject,\r\n  signal,\r\n} from '@angular/core';\r\nimport { SapInstalledInstrumentsService } from '../../services/sap-installed-instruments.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SapInstalledInstrumentListModel } from '../../models/sap-installed-instrument-list.model';\r\nimport { InstalledInstrumentFormModel } from '../../models/installed-instrument-form.model';\r\nimport { Sort } from '@angular/material/sort';\r\n\r\n@Component({\r\n  selector: 'app-sap-installed-instrument-list',\r\n  templateUrl: './sap-installed-instrument-list.component.html',\r\n  styleUrls: [\r\n    './sap-installed-instrument-list.component.scss',\r\n    '../../../../assets/base-card.scss',\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: { class: 'display-flex-component' },\r\n})\r\nexport class SapInstalledInstrumentListComponent implements OnInit {\r\n  accessToken = input<string>();\r\n  territoryFilter = input.required<boolean>();\r\n  showWithCardContent = input(true);\r\n  useMapButton = input(false);\r\n\r\n  installedInstruments = signal<SapInstalledInstrumentListModel[]>([]);\r\n\r\n  private lastSearchFilters = signal<InstalledInstrumentFormModel | any>(\r\n    <InstalledInstrumentFormModel>{}\r\n  );\r\n  private lastSearchSorts = signal<Sort>(<Sort>{});\r\n\r\n  private sapInstalledInstrumentService = inject(\r\n    SapInstalledInstrumentsService\r\n  );\r\n  private changeDetector = inject(ChangeDetectorRef);\r\n  private router = inject(Router);\r\n  private activatedRoute = inject(ActivatedRoute);\r\n\r\n  ngOnInit(): void {\r\n    this.sapInstalledInstrumentService.territoryFilter = this.territoryFilter();\r\n\r\n    const queryParams = this.activatedRoute.snapshot.queryParams || {};\r\n    const { active, direction, ...filterParams } = queryParams;\r\n\r\n    if (active || direction) {\r\n      this.lastSearchSorts.set({ active, direction });\r\n    }\r\n\r\n    this.lastSearchFilters.set({\r\n      ...filterParams,\r\n      installationDateFrom: filterParams['installationDateFrom']\r\n        ? new Date(filterParams['installationDateFrom'])\r\n        : null,\r\n      installationDateTo: filterParams['installationDateTo']\r\n        ? new Date(filterParams['installationDateTo'])\r\n        : null,\r\n    });\r\n\r\n    this.loadInstalledInstruments(\r\n      this.lastSearchFilters(),\r\n      this.lastSearchSorts()\r\n    );\r\n  }\r\n\r\n  filtersChanged(event: InstalledInstrumentFormModel): void {\r\n    this.loadInstalledInstruments(\r\n      { ...event, sfId: this.lastSearchFilters()['sfId'] || undefined },\r\n      this.lastSearchSorts()\r\n    );\r\n  }\r\n\r\n  sortChanged(event: Sort): void {\r\n    this.loadInstalledInstruments(this.lastSearchFilters(), event);\r\n  }\r\n\r\n  private loadInstalledInstruments(\r\n    searchForm: InstalledInstrumentFormModel,\r\n    sort: Sort\r\n  ) {\r\n    this.router.navigate([], {\r\n      queryParams: {\r\n        ...searchForm,\r\n        installationDateFrom:\r\n          searchForm.installationDateFrom?.toISOString() || '',\r\n        installationDateTo: searchForm.installationDateTo?.toISOString() || '',\r\n        ...sort,\r\n      },\r\n    });\r\n    this.sapInstalledInstrumentService\r\n      .getInstalledInstrumentList(searchForm, sort)\r\n      .subscribe(res => {\r\n        this.lastSearchFilters.set(searchForm);\r\n        this.lastSearchSorts.set(sort);\r\n        this.installedInstruments.set(res);\r\n        this.changeDetector.markForCheck();\r\n      });\r\n  }\r\n}\r\n","@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","import {\r\n  Component,\r\n  Inject,\r\n  input,\r\n  OnInit,\r\n  inject,\r\n  signal,\r\n  ChangeDetectionStrategy,\r\n} from '@angular/core';\r\nimport { IConfig } from '../../../base-interfaces';\r\nimport { SapAttachmentModel } from '../../../models/sap-attachment.model';\r\n\r\n@Component({\r\n  selector: 'app-attachments-list-view',\r\n  templateUrl: './attachments-list-view.component.html',\r\n  styleUrls: ['attachments-list-view.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class AttachmentsListViewComponent implements OnInit {\r\n  attachments = input.required<SapAttachmentModel[]>();\r\n  accessToken = input('');\r\n\r\n  baseDownloadLink = signal('');\r\n\r\n  constructor(@Inject('config') private config: IConfig) {}\r\n\r\n  ngOnInit() {\r\n    this.updateLink();\r\n  }\r\n\r\n  updateLink() {\r\n    const company = localStorage.getItem('company-id')\r\n      ? `&company-id=${localStorage.getItem('company-id')}`\r\n      : '';\r\n    this.baseDownloadLink.set(\r\n      this.config.api_base_uri +\r\n        this.config.base_uri +\r\n        this.config.api_module +\r\n        '/activity-attachment?access_token=' +\r\n        this.accessToken() +\r\n        company\r\n    );\r\n  }\r\n}\r\n","<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","import {\r\n  Component,\r\n  OnInit,\r\n  input,\r\n  ChangeDetectionStrategy,\r\n} from '@angular/core';\r\nimport { SapActivityModel } from '../../../models/sap-activity.model';\r\n\r\n@Component({\r\n  selector: 'app-activity-details-view',\r\n  templateUrl: './activity-details-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './activity-details-view.component.scss',\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ActivityDetailsViewComponent implements OnInit {\r\n  activity = input.required<SapActivityModel>();\r\n\r\n  accessToken = input('');\r\n\r\n  ngOnInit(): void {}\r\n}\r\n","<div class=\"group-details row\" style=\"margin-top: 20px\">\r\n  <div class=\"col-xs-12 col-sm-3\">\r\n    <span>{{ 'sapAdminInstalledInstrument.activity' | translate }}</span>\r\n    <p>{{ activity().activity || '-' }}</p>\r\n  </div>\r\n  <div class=\"col-xs-12 col-sm-3\">\r\n    <span>{{ '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","import {\r\n  AfterViewInit,\r\n  Component,\r\n  HostBinding,\r\n  OnInit,\r\n  ViewChild,\r\n  input,\r\n  ChangeDetectionStrategy,\r\n  signal,\r\n} from '@angular/core';\r\nimport { SapActivityModel } from '../../../models/sap-activity.model';\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from '@angular/animations';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n  selector: 'app-activities-list-view',\r\n  templateUrl: './activities-list-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './activities-list-view.component.scss',\r\n  ],\r\n  animations: [\r\n    trigger('detailExpand', [\r\n      state('collapsed', style({ height: '0px', minHeight: '0' })),\r\n      state('expanded', style({ height: '*' })),\r\n      transition(\r\n        'expanded <=> collapsed',\r\n        animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')\r\n      ),\r\n    ]),\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ActivitiesListViewComponent implements OnInit, AfterViewInit {\r\n  @HostBinding('class') class = 'display-flex-component';\r\n  @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n  activities = input<SapActivityModel[]>();\r\n\r\n  accessToken = input('');\r\n\r\n  columnsToDisplay = [\r\n    'activityNumber',\r\n    'detailedSymptom',\r\n    'solution',\r\n    'coordinator',\r\n    'startTime',\r\n    'endTime',\r\n  ];\r\n  tableSource: MatTableDataSource<SapActivityModel>;\r\n  expandedElement = signal<SapActivityModel | null>(null);\r\n\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {\r\n    this.setTable();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.paginator.pageSize = 5;\r\n    this.tableSource.paginator = this.paginator;\r\n  }\r\n\r\n  private setTable() {\r\n    this.tableSource = new MatTableDataSource<SapActivityModel>(\r\n      this.activities()\r\n    );\r\n  }\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\nimport { SapContractModel } from '../../../models/sap-contract.model';\r\n\r\n@Component({\r\n  selector: 'app-service-contract-details-view',\r\n  templateUrl: './service-contract-details-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './service-contract-details-view.component.scss',\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ServiceContractDetailsViewComponent {\r\n  contract = input.required<SapContractModel>();\r\n}\r\n","<div class=\"group-details row\" style=\"margin-top: 20px\">\r\n  <div class=\"col-xs-12 col-sm-4\">\r\n    <span>{{ 'sapAdminInstalledInstrument.customer' | translate }}</span>\r\n    <p>{{ contract().customer || '-' }}</p>\r\n  </div>\r\n  <div class=\"col-xs-12 col-sm-4\">\r\n    <span>{{ 'sapAdminInstalledInstrument.customerName' | translate }}</span>\r\n    <p>{{ contract().customerName || '-' }}</p>\r\n  </div>\r\n  <div class=\"col-xs-12 col-sm-4\">\r\n    <span>{{ '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","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  inject,\r\n} from '@angular/core';\r\nimport { SapContractModel } from '../../../models/sap-contract.model';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n  selector: 'app-service-contracts-modal-details-view',\r\n  templateUrl: './service-contracts-modal-details-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './service-contracts-modal-details-view.component.scss',\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ServiceContractsModalDetailsViewComponent {\r\n  data = inject<{ contract: SapContractModel }>(MAT_DIALOG_DATA);\r\n  dialogRef = inject(MatDialogRef<ServiceContractsModalDetailsViewComponent>);\r\n\r\n  close() {\r\n    this.dialogRef.close();\r\n  }\r\n}\r\n","<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","import {\r\n  Component,\r\n  OnInit,\r\n  input,\r\n  signal,\r\n  inject,\r\n  ChangeDetectionStrategy,\r\n} from '@angular/core';\r\nimport { SapCallModel } from '../../../models/sap-call.model';\r\nimport { SapContractModel } from '../../../models/sap-contract.model';\r\nimport { ServiceContractsModalDetailsViewComponent } from '../service-contracts-modal-details-view/service-contracts-modal-details-view.component';\r\nimport { SapInstalledInstrumentsService } from '../../../services/sap-installed-instruments.service';\r\nimport { Observable } from 'rxjs';\r\nimport { SapActivityModel } from '../../../models/sap-activity.model';\r\nimport { tap } from 'rxjs/operators';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n  selector: 'app-call-details-view',\r\n  templateUrl: './call-details-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './call-details-view.component.scss',\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CallDetailsViewComponent implements OnInit {\r\n  call = input.required<SapCallModel>();\r\n  contracts = input.required<SapContractModel[]>();\r\n  accessToken = input('');\r\n\r\n  contractDetails = signal<SapContractModel | undefined>(undefined);\r\n  activitiesLoading = signal(true);\r\n  activities$ = signal<Observable<SapActivityModel[]> | null>(null);\r\n  activities = signal<SapActivityModel[]>([]);\r\n\r\n  private dialog = inject(MatDialog);\r\n  private sapInstalledInstruments = inject(SapInstalledInstrumentsService);\r\n\r\n  ngOnInit(): void {\r\n    if (this.call() && this.contracts() && this.call().contractNo) {\r\n      this.contractDetails.set(\r\n        this.contracts().find(\r\n          contract => contract.contractId === this.call().contractNo\r\n        )\r\n      );\r\n    }\r\n\r\n    this.loadActivities();\r\n  }\r\n\r\n  openContractModel() {\r\n    this.dialog.open(ServiceContractsModalDetailsViewComponent, {\r\n      data: { contract: this.contractDetails() },\r\n      width: '50%',\r\n    });\r\n  }\r\n\r\n  tabChanged(event: any) {}\r\n\r\n  private loadActivities() {\r\n    const activitiesObservable = this.sapInstalledInstruments\r\n      .getActivities(this.call().callId)\r\n      .pipe(\r\n        tap(res => {\r\n          this.activities.set(res);\r\n          this.activitiesLoading.set(false);\r\n        })\r\n      );\r\n    this.activities$.set(activitiesObservable);\r\n  }\r\n}\r\n","<mat-tab-group (selectedTabChange)=\"tabChanged($event)\">\r\n  <mat-tab label=\"{{ 'sapAdminInstalledInstrument.callDetails' | translate }}\">\r\n    <div class=\"group-details row\" style=\"margin-top: 20px\">\r\n      <div class=\"col-xs-12 col-sm-6\">\r\n        <span>{{ 'sapAdminInstalledInstrument.callId' | translate }}</span>\r\n        <p>{{ call().callId || '-' }}</p>\r\n      </div>\r\n      <div class=\"col-xs-12 col-sm-6\">\r\n        <span>{{ 'sapAdminInstalledInstrument.contractNo' | translate }}</span>\r\n        <div class=\"row\">\r\n          <p>{{ call().contractNo || '-' }}</p>\r\n          @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","import {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  OnInit,\r\n  viewChild,\r\n  input,\r\n  signal,\r\n} from '@angular/core';\r\nimport { SapCallModel } from '../../../models/sap-call.model';\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from '@angular/animations';\r\nimport { SapContractModel } from '../../../models/sap-contract.model';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n  selector: 'app-calls-list-view',\r\n  templateUrl: './calls-list-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './calls-list-view.component.scss',\r\n  ],\r\n  animations: [\r\n    trigger('detailExpand', [\r\n      state('collapsed', style({ height: '0px', minHeight: '0' })),\r\n      state('expanded', style({ height: '*' })),\r\n      transition(\r\n        'expanded <=> collapsed',\r\n        animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')\r\n      ),\r\n    ]),\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: { class: 'display-flex-component' },\r\n})\r\nexport class CallsListViewComponent implements OnInit, AfterViewInit {\r\n  paginator = viewChild.required<MatPaginator>(MatPaginator);\r\n\r\n  calls = input.required<SapCallModel[]>();\r\n\r\n  contracts = input.required<SapContractModel[]>();\r\n\r\n  accessToken = input('');\r\n\r\n  columnsToDisplay = [\r\n    'callId',\r\n    'callStatus',\r\n    'callType',\r\n    'problemType',\r\n    'customer',\r\n    'customerName',\r\n    'engeneerName',\r\n    'createdOn',\r\n    'closedOn',\r\n  ];\r\n  tableSource = signal<MatTableDataSource<SapCallModel>>(\r\n    new MatTableDataSource<SapCallModel>([])\r\n  );\r\n  expandedElement = signal<SapCallModel | null>(null);\r\n\r\n  ngOnInit(): void {\r\n    this.setTable();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.paginator().pageSize = 10;\r\n    this.tableSource().paginator = this.paginator();\r\n  }\r\n\r\n  private setTable() {\r\n    this.tableSource.set(new MatTableDataSource<SapCallModel>(this.calls()));\r\n  }\r\n}\r\n","<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","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  OnInit,\r\n  input,\r\n} from '@angular/core';\r\nimport { SapInstalledInstrumentModel } from '../../../models/sap-installed-instrument.model';\r\n\r\n@Component({\r\n  selector: 'app-data-details-view',\r\n  templateUrl: './data-details-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './data-details-view.component.scss',\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DataDetailsViewComponent implements OnInit {\r\n  installedInstrument = input.required<SapInstalledInstrumentModel>();\r\n\r\n  ngOnInit(): void {}\r\n}\r\n","@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","import {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  OnInit,\r\n  viewChild,\r\n  input,\r\n  signal,\r\n} from '@angular/core';\r\nimport { SapContractModel } from '../../../models/sap-contract.model';\r\nimport {\r\n  animate,\r\n  state,\r\n  style,\r\n  transition,\r\n  trigger,\r\n} from '@angular/animations';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n  selector: 'app-service-contracts-list-view',\r\n  templateUrl: './service-contracts-list-view.component.html',\r\n  styleUrls: [\r\n    '../../../../../assets/group-details.scss',\r\n    './service-contracts-list-view.component.scss',\r\n  ],\r\n  animations: [\r\n    trigger('detailExpand', [\r\n      state('collapsed', style({ height: '0px', minHeight: '0' })),\r\n      state('expanded', style({ height: '*' })),\r\n      transition(\r\n        'expanded <=> collapsed',\r\n        animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')\r\n      ),\r\n    ]),\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: { class: 'display-flex-component' },\r\n})\r\nexport class ServiceContractsListViewComponent\r\n  implements OnInit, AfterViewInit\r\n{\r\n  paginator = viewChild.required<MatPaginator>(MatPaginator);\r\n\r\n  contracts = input<SapContractModel[]>();\r\n\r\n  columnsToDisplay = [\r\n    'contractId',\r\n    'customer',\r\n    'customerName',\r\n    'itemCode',\r\n    'itemName',\r\n    'serialNumber',\r\n    'serviceType',\r\n    'startDate',\r\n    'terminationDate',\r\n  ];\r\n  tableSource = signal<MatTableDataSource<SapContractModel>>(\r\n    new MatTableDataSource<SapContractModel>([])\r\n  );\r\n  expandedElement = signal<SapContractModel | null>(null);\r\n\r\n  ngOnInit(): void {\r\n    this.setTable();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.paginator().pageSize = 10;\r\n    this.tableSource().paginator = this.paginator();\r\n  }\r\n\r\n  private setTable() {\r\n    this.tableSource.set(\r\n      new MatTableDataSource<SapContractModel>(\r\n        this.contracts()\r\n      )\r\n    );\r\n  }\r\n}\r\n","<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","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  inject,\r\n  input,\r\n  OnInit,\r\n  signal,\r\n} from '@angular/core';\r\nimport { SapInstalledInstrumentsService } from '../../services/sap-installed-instruments.service';\r\nimport { Location } from '@angular/common';\r\nimport { Observable } from 'rxjs';\r\nimport { SapInstalledInstrumentModel } from '../../models/sap-installed-instrument.model';\r\nimport { SapCallModel } from '../../models/sap-call.model';\r\nimport { SapContractModel } from '../../models/sap-contract.model';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n  selector: 'app-sap-installed-instrument-details',\r\n  templateUrl: './sap-installed-instrument-details.component.html',\r\n  styleUrls: [\r\n    './sap-installed-instrument-details.component.scss',\r\n    '../../../../assets/base-card.scss',\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: { class: 'display-flex-component' },\r\n})\r\nexport class SapInstalledInstrumentDetailsComponent implements OnInit {\r\n  id = input<number>();\r\n  accessToken = input<string>();\r\n  territoryFilter = input<boolean>(false);\r\n  showWithCardContent = input(true);\r\n\r\n  private sapInstalledInstrumentService = inject(SapInstalledInstrumentsService);\r\n  private location = inject(Location);\r\n\r\n  installedInstrument$ = signal<Observable<SapInstalledInstrumentModel> | null>(null);\r\n  calls$ = signal<Observable<SapCallModel[]> | null>(null);\r\n  serviceContracts$ = signal<Observable<SapContractModel[]> | null>(null);\r\n  tabActive = signal<number>(0);\r\n  installedInstrument = signal<SapInstalledInstrumentModel | null>(null);\r\n  calls = signal<SapCallModel[]>([]);\r\n  serviceContracts = signal<SapContractModel[]>([]);\r\n\r\n  ngOnInit(): void {\r\n    this.sapInstalledInstrumentService.accessToken = this.accessToken()!;\r\n    this.sapInstalledInstrumentService.territoryFilter = this.territoryFilter();\r\n    this.loadTabsData();\r\n  }\r\n\r\n  tabChanged(event: any) {\r\n    this.tabActive.set(event.index);\r\n  }\r\n\r\n  goBack() {\r\n    this.location.back();\r\n  }\r\n\r\n  loadTabsData() {\r\n    const instrumentObs = this.sapInstalledInstrumentService\r\n      .getInstalledInstrument(this.id()!)\r\n      .pipe(\r\n        tap(installedInstrument => {\r\n          this.installedInstrument.set(installedInstrument);\r\n        })\r\n      );\r\n    this.installedInstrument$.set(instrumentObs);\r\n\r\n    const callsObs = this.sapInstalledInstrumentService\r\n      .getCalls(this.id()!)\r\n      .pipe(tap(res => this.calls.set(res)));\r\n    this.calls$.set(callsObs);\r\n\r\n    const contractsObs = this.sapInstalledInstrumentService\r\n      .getContracts(this.id()!)\r\n      .pipe(tap(res => this.serviceContracts.set(res)));\r\n    this.serviceContracts$.set(contractsObs);\r\n  }\r\n}\r\n","@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","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { SapInstalledInstrumentDetailsComponent } from './components/sap-installed-instrument-details/sap-installed-instrument-details.component';\r\nimport { SapInstalledInstrumentListComponent } from './components/sap-installed-instrument-list/sap-installed-instrument-list.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { StDateFormatModule } from 'ngx-st-date-format';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { StMultiselectAutocompleteModule } from 'ngx-st-multiselect-autocomplete';\r\nimport { StSearchSelectsModule } from 'ngx-st-search-selects';\r\nimport { AuthModule } from 'angular-auth-oidc-client';\r\nimport { SapInstalledInstrumentsService } from './services/sap-installed-instruments.service';\r\nimport { IDirectiveModuleConfig } from './base-interfaces';\r\nimport { ActivitiesListViewComponent } from './components/sap-installed-instrument-details/activities-list-view/activities-list-view.component';\r\nimport { ActivityDetailsViewComponent } from './components/sap-installed-instrument-details/activity-details-view/activity-details-view.component';\r\nimport { CallDetailsViewComponent } from './components/sap-installed-instrument-details/call-details-view/call-details-view.component';\r\nimport { CallsListViewComponent } from './components/sap-installed-instrument-details/calls-list-view/calls-list-view.component';\r\nimport { DataDetailsViewComponent } from './components/sap-installed-instrument-details/data-details-view/data-details-view.component';\r\nimport { ServiceContractsListViewComponent } from './components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component';\r\nimport { ServiceContractDetailsViewComponent } from './components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component';\r\nimport { ServiceContractsModalDetailsViewComponent } from './components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component';\r\nimport { SapInstalledInstrumentListSearchComponent } from './components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component';\r\nimport { SapInstalledInstrumentListTableComponent } from './components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component';\r\nimport { AttachmentsListViewComponent } from './components/sap-installed-instrument-details/attachments-list-view/attachments-list-view.component';\r\nimport { NgxStCardModule } from 'ngx-st-card';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    SapInstalledInstrumentDetailsComponent,\r\n    SapInstalledInstrumentListComponent,\r\n    ActivitiesListViewComponent,\r\n    ActivityDetailsViewComponent,\r\n    CallDetailsViewComponent,\r\n    CallsListViewComponent,\r\n    DataDetailsViewComponent,\r\n    ServiceContractsListViewComponent,\r\n    ServiceContractDetailsViewComponent,\r\n    ServiceContractsModalDetailsViewComponent,\r\n    SapInstalledInstrumentListSearchComponent,\r\n    SapInstalledInstrumentListTableComponent,\r\n    AttachmentsListViewComponent,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    MatButtonModule,\r\n    MatRippleModule,\r\n    MatFormFieldModule,\r\n    MatInputModule,\r\n    MatSelectModule,\r\n    MatTooltipModule,\r\n    MatMenuModule,\r\n    MatIconModule,\r\n    MatChipsModule,\r\n    MatTableModule,\r\n    MatPaginatorModule,\r\n    MatListModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n    MatDialogModule,\r\n    MatTabsModule,\r\n    MatSnackBarModule,\r\n    MatCheckboxModule,\r\n    MatAutocompleteModule,\r\n    MatSortModule,\r\n    TranslateModule.forChild(),\r\n    StDateFormatModule,\r\n    ReactiveFormsModule,\r\n    StMultiselectAutocompleteModule,\r\n    StSearchSelectsModule,\r\n    AuthModule,\r\n    NgxStCardModule,\r\n  ],\r\n  providers: [SapInstalledInstrumentsService],\r\n  exports: [\r\n    SapInstalledInstrumentListComponent,\r\n    SapInstalledInstrumentDetailsComponent,\r\n  ],\r\n})\r\nexport class StSapInstalledInstrumentsModule {\r\n  static forRoot(\r\n    config: IDirectiveModuleConfig = {}\r\n  ): ModuleWithProviders<StSapInstalledInstrumentsModule> {\r\n    return {\r\n      ngModule: StSapInstalledInstrumentsModule,\r\n      providers: [{ provide: 'config', useValue: config.config }],\r\n    };\r\n  }\r\n\r\n  constructor(private matIconRegistry: MatIconRegistry) {\r\n    this.matIconRegistry.setDefaultFontSetClass('material-symbols-outlined');\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of ngx-st-sap-installed-instruments\r\n */\r\n\r\nexport * from './lib/models/installed-instrument-form.model';\r\nexport * from './lib/models/installed-instrument-sort-by-column.enum';\r\nexport * from './lib/models/installed-instrument-sort-order.enum';\r\nexport * from './lib/models/sap-activity.model';\r\nexport * from './lib/models/sap-attachment.model';\r\nexport * from './lib/models/sap-call.model';\r\nexport * from './lib/models/sap-contract.model';\r\nexport * from './lib/models/sap-country.model';\r\nexport * from './lib/models/sap-installed-instrument-list.model';\r\nexport * from './lib/models/sap-installed-instrument-search.model';\r\nexport * from './lib/models/sap-installed-instrument.model';\r\nexport * from './lib/models/sap-state.model';\r\nexport * from './lib/models/sap-territory.model';\r\nexport * from './lib/models/view-sap-installed-instrument-list.model';\r\nexport * from './lib/services/sap-installed-instruments.service';\r\nexport * from './lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component';\r\nexport * from './lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component';\r\nexport * from './lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component';\r\nexport * from './lib/components/sap-installed-instrument-details/activity-details-view/activity-details-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/activities-list-view/activities-list-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/call-details-view/call-details-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/calls-list-view/calls-list-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/data-details-view/data-details-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/service-contract-details-view/service-contract-details-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/service-contracts-list-view/service-contracts-list-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/service-contracts-modal-details-view/service-contracts-modal-details-view.component';\r\nexport * from './lib/components/sap-installed-instrument-details/sap-installed-instrument-details.component';\r\nexport * from './lib/ngx-st-sap-installed-instruments.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i4","i5","i8","i9","i2","i6","i7","i13","i3.SapInstalledInstrumentListSearchComponent","i4.SapInstalledInstrumentListTableComponent","i1.AttachmentsListViewComponent","i3.ActivityDetailsViewComponent","i3.ServiceContractDetailsViewComponent","i3.ActivitiesListViewComponent","i4.AttachmentsListViewComponent","i3.CallDetailsViewComponent","i6.CallsListViewComponent","i7.DataDetailsViewComponent","i8.ServiceContractsListViewComponent"],"mappings":"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"}