]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/src/app/shared/components/usage-bar/usage-bar.component.ts
4877e891e1f124d015b47430e7eff0226c8f13a7
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / shared / components / usage-bar / usage-bar.component.ts
1 import { Component, Input, OnChanges } from '@angular/core';
2
3 import _ from 'lodash';
4
5 @Component({
6 selector: 'cd-usage-bar',
7 templateUrl: './usage-bar.component.html',
8 styleUrls: ['./usage-bar.component.scss']
9 })
10 export class UsageBarComponent implements OnChanges {
11 @Input()
12 total: number;
13 @Input()
14 used: any;
15 @Input()
16 warningThreshold: number;
17 @Input()
18 errorThreshold: number;
19 @Input()
20 isBinary = true;
21 @Input()
22 decimals = 0;
23 @Input()
24 calculatePerc = true;
25 @Input()
26 title = $localize`usage`;
27
28 usedPercentage: number;
29 freePercentage: number;
30
31 ngOnChanges() {
32 if (this.calculatePerc) {
33 this.usedPercentage = this.total > 0 ? (this.used / this.total) * 100 : 0;
34 this.freePercentage = 100 - this.usedPercentage;
35 } else {
36 if (this.used) {
37 this.used = this.used.slice(0, -1);
38 this.usedPercentage = Number(this.used);
39 this.freePercentage = 100 - this.usedPercentage;
40 } else {
41 this.usedPercentage = 0;
42 }
43 }
44 }
45 }