1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/extensions/telemetry/src/telemetry-preferences-store.ts
Jim Ehrismann d304b6f9c6
add a telemetry preferences observable for the observer to observe (#1555)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2020-11-27 11:48:43 -05:00

35 lines
773 B
TypeScript

import { Store } from "@k8slens/extensions";
import { observable, toJS } from "mobx";
export type TelemetryPreferencesModel = {
enabled: boolean;
};
export class TelemetryPreferencesStore extends Store.ExtensionStore<TelemetryPreferencesModel> {
@observable enabled = true;
private constructor() {
super({
configName: "preferences-store",
defaults: {
enabled: true
}
});
}
protected fromStore({ enabled }: TelemetryPreferencesModel): void {
this.enabled = enabled;
}
toJSON(): TelemetryPreferencesModel {
return toJS({
enabled: this.enabled
}, {
recurseEverything: true
});
}
}
export const telemetryPreferencesStore = TelemetryPreferencesStore.getInstance<TelemetryPreferencesStore>();