1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import { Component, OnInit } from '@angular/core';
- import {StatusService} from '../../services/status.service';
- import {AppStateService} from '../../services/app-state.service';
- import {Observable} from 'rxjs';
- import {DnsStatusViewModel} from '../../view-models/dns/by-zone/dns-status.view-model';
- import {DnsZoneStatusViewModel} from '../../view-models/dns/by-zone/dns-zone-status.view-model';
- import {DnsZoneServerStatusViewModel} from '../../view-models/dns/by-zone/dns-zone-server-status.view-model';
- import {DnsViewStatusViewModel} from '../../view-models/dns/by-zone/dns-view-status.view-model';
- import {UiDnsViewTypeViewModel} from '../../view-models/ui/ui-dns-view-type.view-model';
- import {UiDnsViewTypeEnumViewModel} from '../../view-models/ui/ui-dns-view-type-enum.view-model';
- import {DnsStatusPerServerViewModel} from '../../view-models/dns/by-server/dns-status-per-server.view-model';
- import {DnsViewStatusPerServerViewModel} from '../../view-models/dns/by-server/dns-view-status-per-server.view-model';
- import {DnsServerPerServerViewModel} from '../../view-models/dns/by-server/dns-server-per-server.view-model';
- import {DnsServerZonePerServerViewModel} from '../../view-models/dns/by-server/dns-server-zone-per-server.view-model';
-
- @Component({
- selector: 'app-dns-status',
- templateUrl: './dns-status.component.html',
- styleUrls: [ './dns-status.component.css' ]
- })
- export class DnsStatusComponent implements OnInit {
- promise = null;
- dnsStatus$: Observable<DnsStatusViewModel> = null;
- dnsStatusPerServer$: Observable<DnsStatusPerServerViewModel> = null;
-
- viewTypes: UiDnsViewTypeViewModel[] = [
- {
- name: 'Zone',
- value: UiDnsViewTypeEnumViewModel.ByZone
- },
- {
- name: 'Server',
- value: UiDnsViewTypeEnumViewModel.ByServer
- }
- ];
- viewType: UiDnsViewTypeEnumViewModel = this.viewTypes[0].value;
-
- constructor(private appStateService: AppStateService, private statusService: StatusService) {
- this.dnsStatus$ = appStateService.onDnsStatusUpdated();
- this.dnsStatusPerServer$ = appStateService.onDnsStatusPerServerUpdated();
- this.appStateService.setUiStateTitle('DNS Status');
- this.appStateService.setUiStateToolbarTitle('DNS Status');
- }
-
- ngOnInit() {
- this.getStatus();
- }
-
- getStatus(): void {
- this.promise = this.statusService.getDnsStatus();
- }
-
- onclick(): void {
- this.getStatus();
- }
-
- trackViewByName(index: number, view: DnsViewStatusViewModel): string {
- return view.name;
- }
-
- trackZoneByZone(index: number, zone: DnsZoneStatusViewModel): string {
- return zone.zone;
- }
-
- trackZoneServerByServer(index: number, server: DnsZoneServerStatusViewModel): string {
- return server.server;
- }
-
- trackViewPerServerByName(index: number, view: DnsViewStatusPerServerViewModel): string {
- return view.name;
- }
-
- trackServerByIp(index: number, server: DnsServerPerServerViewModel): string {
- return server.ip;
- }
-
- trackZonePerServerByZone(index: number, zone: DnsServerZonePerServerViewModel): string {
- return zone.zone;
- }
- }
|