]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-daemon-list/rgw-daemon-list.component.ts
import 15.2.4
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / ceph / rgw / rgw-daemon-list / rgw-daemon-list.component.ts
index 7f689615527821602682b6fbd7eaf99a6a4338ad..7a43cfeeadfb94e5720f7bf4384348b666033df2 100644 (file)
@@ -1,11 +1,12 @@
-import { Component } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
 
 import { I18n } from '@ngx-translate/i18n-polyfill';
 
 import { RgwDaemonService } from '../../../shared/api/rgw-daemon.service';
+import { RgwSiteService } from '../../../shared/api/rgw-site.service';
+import { ListWithDetails } from '../../../shared/classes/list-with-details.class';
 import { CdTableColumn } from '../../../shared/models/cd-table-column';
 import { CdTableFetchDataContext } from '../../../shared/models/cd-table-fetch-data-context';
-import { CdTableSelection } from '../../../shared/models/cd-table-selection';
 import { Permission } from '../../../shared/models/permissions';
 import { CephShortVersionPipe } from '../../../shared/pipes/ceph-short-version.pipe';
 import { AuthStorageService } from '../../../shared/services/auth-storage.service';
@@ -15,18 +16,23 @@ import { AuthStorageService } from '../../../shared/services/auth-storage.servic
   templateUrl: './rgw-daemon-list.component.html',
   styleUrls: ['./rgw-daemon-list.component.scss']
 })
-export class RgwDaemonListComponent {
+export class RgwDaemonListComponent extends ListWithDetails implements OnInit {
   columns: CdTableColumn[] = [];
   daemons: object[] = [];
-  selection: CdTableSelection = new CdTableSelection();
   grafanaPermission: Permission;
+  isMultiSite: boolean;
 
   constructor(
     private rgwDaemonService: RgwDaemonService,
     private authStorageService: AuthStorageService,
-    cephShortVersionPipe: CephShortVersionPipe,
-    private i18n: I18n
+    private cephShortVersionPipe: CephShortVersionPipe,
+    private i18n: I18n,
+    private rgwSiteService: RgwSiteService
   ) {
+    super();
+  }
+
+  ngOnInit(): void {
     this.grafanaPermission = this.authStorageService.getPermissions().grafana;
     this.columns = [
       {
@@ -43,9 +49,12 @@ export class RgwDaemonListComponent {
         name: this.i18n('Version'),
         prop: 'version',
         flexGrow: 1,
-        pipe: cephShortVersionPipe
+        pipe: this.cephShortVersionPipe
       }
     ];
+    this.rgwSiteService
+      .get('realms')
+      .subscribe((realms: string[]) => (this.isMultiSite = realms.length > 0));
   }
 
   getDaemonList(context: CdTableFetchDataContext) {
@@ -58,8 +67,4 @@ export class RgwDaemonListComponent {
       }
     );
   }
-
-  updateSelection(selection: CdTableSelection) {
-    this.selection = selection;
-  }
 }