import { Renderer } from "@k8slens/extensions"; import React from "react"; import { KubescapePreferenceStore } from "../stores"; import { observer } from "mobx-react"; import { makeObservable, observable } from "mobx"; const { Component } = Renderer; type Props = {} @observer export class KubescapePreferenceInput extends React.Component { constructor(props: {} | Readonly<{}>) { super(props); makeObservable(this); } @observable version = KubescapePreferenceStore.getInstance().kubescapeConfig?.version ?? ""; @observable frameworksDirectory = KubescapePreferenceStore.getInstance().kubescapeConfig?.frameworksDirectory ?? ""; @observable baseDirectory = KubescapePreferenceStore.getInstance().kubescapeConfig?.baseDirectory ?? ""; @observable requiredFrameworks = KubescapePreferenceStore.getInstance().kubescapeConfig?.requiredFrameworks ?? []; @observable scanFrameworks = KubescapePreferenceStore.getInstance().kubescapeConfig?.scanFrameworks ?? []; @observable isInstalled = KubescapePreferenceStore.getInstance().isInstalled ?? false; @observable isSaving = false; saveChanges = () => { this.isSaving = true; KubescapePreferenceStore.getInstance().kubescapeConfig = { version: this.version, frameworksDirectory: this.frameworksDirectory, baseDirectory: this.baseDirectory, requiredFrameworks: this.requiredFrameworks, scanFrameworks: this.scanFrameworks, }; this.isSaving = false; } onChange = (value: string, event: React.ChangeEvent) => { this[event.target.name] = value; } render() { return (
{ <> Some Text }
) } } export class KubescapePreferenceHint extends React.Component { render() { return ( ) } }