+ ngOnInit() {
+ this.columns = [
+ {
+ name: this.i18n('Name'),
+ prop: 'bid',
+ flexGrow: 2
+ },
+ {
+ name: this.i18n('Owner'),
+ prop: 'owner',
+ flexGrow: 3
+ },
+ {
+ name: this.i18n('Used Capacity'),
+ prop: 'bucket_size',
+ flexGrow: 0.5,
+ pipe: this.dimlessBinaryPipe
+ },
+ {
+ name: this.i18n('Capacity Limit %'),
+ prop: 'size_usage',
+ cellTemplate: this.bucketSizeTpl,
+ flexGrow: 1
+ },
+ {
+ name: this.i18n('Objects'),
+ prop: 'num_objects',
+ flexGrow: 0.5,
+ pipe: this.dimlessPipe
+ },
+ {
+ name: this.i18n('Object Limit %'),
+ prop: 'object_usage',
+ cellTemplate: this.bucketObjectTpl,
+ flexGrow: 1
+ }
+ ];
+ }
+
+ transformBucketData() {
+ _.forEach(this.buckets, (bucketKey) => {
+ const usageList = bucketKey['usage'];
+ const maxBucketSize = bucketKey['bucket_quota']['max_size'];
+ const maxBucketObjects = bucketKey['bucket_quota']['max_objects'];
+ let totalBucketSize = 0;
+ let numOfObjects = 0;
+ _.forEach(usageList, (usageKey) => {
+ totalBucketSize = totalBucketSize + usageKey.size_actual;
+ numOfObjects = numOfObjects + usageKey.num_objects;
+ });
+ bucketKey['bucket_size'] = totalBucketSize;
+ bucketKey['num_objects'] = numOfObjects;
+ bucketKey['size_usage'] = maxBucketSize > 0 ? totalBucketSize / maxBucketSize : undefined;
+ bucketKey['object_usage'] =
+ maxBucketObjects > 0 ? numOfObjects / maxBucketObjects : undefined;
+ });
+ }
+