aboutsummaryrefslogtreecommitdiff
path: root/weed/admin/dash
diff options
context:
space:
mode:
Diffstat (limited to 'weed/admin/dash')
-rw-r--r--weed/admin/dash/admin_server.go77
1 files changed, 14 insertions, 63 deletions
diff --git a/weed/admin/dash/admin_server.go b/weed/admin/dash/admin_server.go
index 1bb1aba2f..1d73558d9 100644
--- a/weed/admin/dash/admin_server.go
+++ b/weed/admin/dash/admin_server.go
@@ -148,17 +148,8 @@ type ClusterVolumesData struct {
SortOrder string `json:"sort_order"`
// Statistics
- DataCenterCount int `json:"datacenter_count"`
- RackCount int `json:"rack_count"`
- DiskTypeCount int `json:"disk_type_count"`
-
- // Conditional display
- ShowDataCenterColumn bool `json:"show_datacenter_column"`
- ShowRackColumn bool `json:"show_rack_column"`
- ShowDiskTypeColumn bool `json:"show_disktype_column"`
- SingleDataCenter string `json:"single_datacenter"`
- SingleRack string `json:"single_rack"`
- SingleDiskType string `json:"single_disktype"`
+ RackCount int `json:"rack_count"`
+ DiskTypeCount int `json:"disk_type_count"`
}
type CollectionInfo struct {
@@ -866,14 +857,10 @@ func (s *AdminServer) GetClusterVolumes(page int, pageSize int, sortBy string, s
return nil, err
}
- // Calculate unique data center, rack and disk type counts from all volumes
- dataCenterMap := make(map[string]bool)
+ // Calculate unique rack and disk type counts from all volumes
rackMap := make(map[string]bool)
diskTypeMap := make(map[string]bool)
for _, volume := range volumes {
- if volume.DataCenter != "" {
- dataCenterMap[volume.DataCenter] = true
- }
if volume.Rack != "" {
rackMap[volume.Rack] = true
}
@@ -883,7 +870,6 @@ func (s *AdminServer) GetClusterVolumes(page int, pageSize int, sortBy string, s
}
diskTypeMap[diskType] = true
}
- dataCenterCount := len(dataCenterMap)
rackCount := len(rackMap)
diskTypeCount := len(diskTypeMap)
@@ -909,53 +895,18 @@ func (s *AdminServer) GetClusterVolumes(page int, pageSize int, sortBy string, s
volumes = volumes[startIndex:endIndex]
}
- // Determine conditional display fields
- showDataCenterColumn := dataCenterCount > 1
- showRackColumn := rackCount > 1
- showDiskTypeColumn := diskTypeCount > 1
- singleDataCenter := ""
- singleRack := ""
- singleDiskType := ""
-
- // Get single values when there's only one unique value
- if dataCenterCount == 1 {
- for dc := range dataCenterMap {
- singleDataCenter = dc
- break
- }
- }
- if rackCount == 1 {
- for rack := range rackMap {
- singleRack = rack
- break
- }
- }
- if diskTypeCount == 1 {
- for diskType := range diskTypeMap {
- singleDiskType = diskType
- break
- }
- }
-
return &ClusterVolumesData{
- Volumes: volumes,
- TotalVolumes: totalVolumes,
- TotalSize: totalSize,
- LastUpdated: time.Now(),
- CurrentPage: page,
- TotalPages: totalPages,
- PageSize: pageSize,
- SortBy: sortBy,
- SortOrder: sortOrder,
- DataCenterCount: dataCenterCount,
- RackCount: rackCount,
- DiskTypeCount: diskTypeCount,
- ShowDataCenterColumn: showDataCenterColumn,
- ShowRackColumn: showRackColumn,
- ShowDiskTypeColumn: showDiskTypeColumn,
- SingleDataCenter: singleDataCenter,
- SingleRack: singleRack,
- SingleDiskType: singleDiskType,
+ Volumes: volumes,
+ TotalVolumes: totalVolumes,
+ TotalSize: totalSize,
+ LastUpdated: time.Now(),
+ CurrentPage: page,
+ TotalPages: totalPages,
+ PageSize: pageSize,
+ SortBy: sortBy,
+ SortOrder: sortOrder,
+ RackCount: rackCount,
+ DiskTypeCount: diskTypeCount,
}, nil
}