| import { Component, AfterViewInit, ViewChildren, QueryList, OnInit, EventEmitter, Optional } from '@angular/core'; |
| import { Router } from '@angular/router'; |
| import { SessionContext } from '../../common/session-context'; |
| import { EntryComponent } from '../../dialogs/entry/entry.component'; |
| import { AbstractListComponent } from '../../lists/abstract-list/abstract-list.component'; |
| import { MdDialog, MdDialogConfig } from '@angular/material'; |
| import { MdDialogRef } from '@angular/material'; |
| import { User } from '../../model/user'; |
| import { GlobalSearchFilter } from '../../model/global-search-filter'; |
| import { StatusSelectionObject } from '../../model/status-selection-object'; |
| import { Notification } from '../../model/notification'; |
| import { Status } from '../../model/status'; |
| import { Branch } from '../../model/branch'; |
| import { GridTerritory } from '../../model/gridterritory'; |
| import { StatusEn, BannerMessageStatusEn } from '../../common/enums'; |
| import { BannerMessage } from '../../common/banner-message'; |
| import { OverviewComponent } from '../../pages/overview/overview.component'; |
| import { Observable } from 'rxjs/Observable'; |
| import 'rxjs/add/observable/throw'; |
| import { SearchResultService } from '../../services/search-result.service'; |
| import { slideToRight } from '../../common/router.animations'; |
| |
| @Component({ |
| selector: 'app-search', |
| templateUrl: './search.component.html', |
| styleUrls: ['./search.component.css'], |
| animations: [slideToRight()], |
| host: { '[@slideToRight]': '' } |
| }) |
| export class SearchComponent implements OnInit { |
| |
| private dialogConfig = new MdDialogConfig(); |
| private bannerMessageStatus = BannerMessageStatusEn; |
| public user: User = null; |
| public bannerMessage: BannerMessage = new BannerMessage(); |
| gridTerritories: GridTerritory[]; |
| branches: Branch[]; |
| statuses: Status[]; |
| public globalSearchFilter: GlobalSearchFilter; |
| public currentSearchFilter: GlobalSearchFilter = new GlobalSearchFilter(); |
| |
| constructor( |
| private router: Router, |
| public dialog: MdDialog, |
| public sessionContext: SessionContext, |
| private searchResultService: SearchResultService |
| ) { } |
| |
| ngOnInit() { |
| this.dialogConfig.disableClose = true; |
| this.user = this.sessionContext.getCurrUser(); |
| this.gridTerritories = this.sessionContext.getMasterGridTerritories(); |
| this.branches = this.sessionContext.getBranches(); |
| this.statuses = this.sessionContext.getStatuses(); |
| this.currentSearchFilter = this.sessionContext.getGlobalSearchFilter(); |
| } |
| |
| public goToOverview() { |
| this.router.navigate(['/overview']); |
| } |
| |
| openDialogLookUpEntry(notification: Notification) { |
| const dialogRef = this.dialog.open(EntryComponent, this.dialogConfig); |
| dialogRef.componentInstance.user = this.user; |
| dialogRef.componentInstance.setNotification(notification); |
| dialogRef.componentInstance.isReadOnlyDialog = true; |
| dialogRef.afterClosed().subscribe(result => { |
| }); |
| } |
| |
| search() { |
| this.globalSearchFilter = Object.assign({}, this.currentSearchFilter); |
| this.sessionContext.setGlobalSearchFilter(this.globalSearchFilter); |
| } |
| |
| deleteSearch(currentSearchFilter) { |
| this.sessionContext.setInitGlobalSearchFilterValues(); |
| this.currentSearchFilter = this.sessionContext.getGlobalSearchFilter(); |
| } |
| |
| private setError(errorMessage: string) { |
| this.bannerMessage.isActive = true; |
| this.bannerMessage.status = BannerMessageStatusEn.error; |
| this.bannerMessage.text = 'Es ist ein Fehler aufgetreten. Bitte kontaktieren Sie den Administrator'; |
| console.log(errorMessage); |
| } |
| } |