Files
lens/dashboard/client/components/+storage-volume-claims/volume-claim.store.ts
T
2020-03-15 09:52:02 +02:00

24 lines
716 B
TypeScript

import { action, observable } from "mobx";
import { KubeObjectStore } from "../../kube-object.store";
import { autobind } from "../../utils";
import { IPvcMetrics, PersistentVolumeClaim, pvcApi } from "../../api/endpoints";
import { apiManager } from "../../api/api-manager";
@autobind()
export class VolumeClaimStore extends KubeObjectStore<PersistentVolumeClaim> {
api = pvcApi
@observable metrics: IPvcMetrics = null;
@action
async loadMetrics(pvc: PersistentVolumeClaim) {
this.metrics = await pvcApi.getMetrics(pvc.getName(), pvc.getNs());
}
reset() {
this.metrics = null;
}
}
export const volumeClaimStore = new VolumeClaimStore();
apiManager.registerStore(pvcApi, volumeClaimStore);