1 import { Component } from '@angular/core';
3 import { I18n } from '@ngx-translate/i18n-polyfill';
5 import { RgwDaemonService } from '../../../shared/api/rgw-daemon.service';
6 import { CdTableColumn } from '../../../shared/models/cd-table-column';
7 import { CdTableFetchDataContext } from '../../../shared/models/cd-table-fetch-data-context';
8 import { CdTableSelection } from '../../../shared/models/cd-table-selection';
9 import { Permission } from '../../../shared/models/permissions';
10 import { CephShortVersionPipe } from '../../../shared/pipes/ceph-short-version.pipe';
11 import { AuthStorageService } from '../../../shared/services/auth-storage.service';
14 selector: 'cd-rgw-daemon-list',
15 templateUrl: './rgw-daemon-list.component.html',
16 styleUrls: ['./rgw-daemon-list.component.scss']
18 export class RgwDaemonListComponent {
19 columns: CdTableColumn[] = [];
20 daemons: object[] = [];
21 selection: CdTableSelection = new CdTableSelection();
22 grafanaPermission: Permission;
25 private rgwDaemonService: RgwDaemonService,
26 private authStorageService: AuthStorageService,
27 cephShortVersionPipe: CephShortVersionPipe,
30 this.grafanaPermission = this.authStorageService.getPermissions().grafana;
33 name: this.i18n('ID'),
38 name: this.i18n('Hostname'),
39 prop: 'server_hostname',
43 name: this.i18n('Version'),
46 pipe: cephShortVersionPipe
51 getDaemonList(context: CdTableFetchDataContext) {
52 this.rgwDaemonService.list().subscribe(
62 updateSelection(selection: CdTableSelection) {
63 this.selection = selection;