mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Remove dead code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
parent
ed14cdc204
commit
fe8bd649c8
@ -1,6 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
export * from "./preferences";
|
||||
@ -1,109 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import React, { useState } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { Input, InputValidators } from "../input";
|
||||
import { SubTitle } from "../layout/sub-title";
|
||||
import type { UserStore } from "../../../common/user-store";
|
||||
import { Select } from "../select";
|
||||
import { Switch } from "../switch";
|
||||
import { defaultPackageMirror, packageMirrors } from "../../../common/user-store/preferences-helpers";
|
||||
import directoryForBinariesInjectable from "../../../common/app-paths/directory-for-binaries/directory-for-binaries.injectable";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import userStoreInjectable from "../../../common/user-store/user-store.injectable";
|
||||
import directoryForKubectlBinariesInjectable from "../../../common/app-paths/directory-for-kubectl-binaries/directory-for-kubectl-binaries.injectable";
|
||||
|
||||
interface Dependencies {
|
||||
defaultPathForGeneralBinaries: string;
|
||||
defaultPathForKubectlBinaries: string;
|
||||
userStore: UserStore;
|
||||
}
|
||||
const downloadMirrorOptions = Array.from(packageMirrors, ([name, mirror]) => ({
|
||||
value: name,
|
||||
label: mirror.label,
|
||||
isDisabled: !mirror.platforms.has(process.platform),
|
||||
}));
|
||||
|
||||
const NonInjectedKubectlBinaries= observer(({
|
||||
defaultPathForGeneralBinaries,
|
||||
defaultPathForKubectlBinaries,
|
||||
userStore,
|
||||
}: Dependencies) => {
|
||||
const [downloadPath, setDownloadPath] = useState(userStore.downloadBinariesPath || "");
|
||||
const [binariesPath, setBinariesPath] = useState(userStore.kubectlBinariesPath || "");
|
||||
const pathValidator = downloadPath ? InputValidators.isPath : undefined;
|
||||
|
||||
const save = () => {
|
||||
userStore.downloadBinariesPath = downloadPath;
|
||||
userStore.kubectlBinariesPath = binariesPath;
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<section>
|
||||
<SubTitle title="Kubectl binary download" />
|
||||
<Switch
|
||||
checked={userStore.downloadKubectlBinaries}
|
||||
onChange={() => userStore.downloadKubectlBinaries = !userStore.downloadKubectlBinaries}
|
||||
>
|
||||
Download kubectl binaries matching the Kubernetes cluster version
|
||||
</Switch>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<SubTitle title="Download mirror" />
|
||||
<Select
|
||||
id="download-mirror-input"
|
||||
placeholder="Download mirror for kubectl"
|
||||
options={downloadMirrorOptions}
|
||||
value={userStore.downloadMirror}
|
||||
onChange={option => userStore.downloadMirror = option?.value ?? defaultPackageMirror}
|
||||
isDisabled={!userStore.downloadKubectlBinaries}
|
||||
themeName="lens"
|
||||
/>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<SubTitle title="Directory for binaries" />
|
||||
<Input
|
||||
theme="round-black"
|
||||
value={downloadPath}
|
||||
placeholder={defaultPathForGeneralBinaries}
|
||||
validators={pathValidator}
|
||||
onChange={setDownloadPath}
|
||||
onBlur={save}
|
||||
disabled={!userStore.downloadKubectlBinaries}
|
||||
/>
|
||||
<div className="hint">The directory to download binaries into.</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<SubTitle title="Path to kubectl binary" />
|
||||
<Input
|
||||
theme="round-black"
|
||||
placeholder={defaultPathForKubectlBinaries}
|
||||
value={binariesPath}
|
||||
validators={pathValidator}
|
||||
onChange={setBinariesPath}
|
||||
onBlur={save}
|
||||
disabled={userStore.downloadKubectlBinaries}
|
||||
/>
|
||||
</section>
|
||||
</>
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
export const KubectlBinaries = withInjectables<Dependencies>(
|
||||
NonInjectedKubectlBinaries,
|
||||
{
|
||||
getProps: (di) => ({
|
||||
defaultPathForGeneralBinaries: di.inject(directoryForBinariesInjectable),
|
||||
defaultPathForKubectlBinaries: di.inject(directoryForKubectlBinariesInjectable),
|
||||
userStore: di.inject(userStoreInjectable),
|
||||
}),
|
||||
},
|
||||
);
|
||||
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
||||
import { computed } from "mobx";
|
||||
import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable";
|
||||
import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable";
|
||||
|
||||
const applicationPreferencesNavigationItemInjectable = getInjectable({
|
||||
id: "application-preferences-navigation-item",
|
||||
|
||||
instantiate: (di) => {
|
||||
const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable);
|
||||
const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "app");
|
||||
|
||||
return {
|
||||
id: "application",
|
||||
label: "App",
|
||||
parent: "general",
|
||||
navigate: () => navigateToPreferenceTab("app"),
|
||||
isActive: preferenceTabIsActive,
|
||||
isVisible: computed(() => true),
|
||||
orderNumber: 10,
|
||||
};
|
||||
},
|
||||
|
||||
injectionToken: preferenceNavigationItemInjectionToken,
|
||||
});
|
||||
|
||||
export default applicationPreferencesNavigationItemInjectable;
|
||||
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
||||
import { computed } from "mobx";
|
||||
import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable";
|
||||
import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable";
|
||||
|
||||
const editorPreferencesNavigationItemInjectable = getInjectable({
|
||||
id: "editor-preferences-navigation-item",
|
||||
|
||||
instantiate: (di) => {
|
||||
const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable);
|
||||
const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "editor");
|
||||
|
||||
return {
|
||||
id: "editor",
|
||||
label: "Editor",
|
||||
parent: "general",
|
||||
navigate: () => navigateToPreferenceTab("editor"),
|
||||
isActive: preferenceTabIsActive,
|
||||
isVisible: computed(() => true),
|
||||
orderNumber: 40,
|
||||
};
|
||||
},
|
||||
|
||||
injectionToken: preferenceNavigationItemInjectionToken,
|
||||
});
|
||||
|
||||
export default editorPreferencesNavigationItemInjectable;
|
||||
@ -1,45 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import React from "react";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import type { IComputedValue } from "mobx";
|
||||
import type { PreferenceNavigationItem } from "./preference-navigation-items.injectable";
|
||||
import { PreferencesNavigationTab } from "./preference-navigation-tab";
|
||||
import preferenceNavigationItemsForGroupInjectable from "./preference-navigation-items-for-group.injectable";
|
||||
import { observer } from "mobx-react";
|
||||
|
||||
interface Dependencies {
|
||||
navigationItems: IComputedValue<PreferenceNavigationItem[]>;
|
||||
}
|
||||
|
||||
const NonInjectedGeneralNavGroup = observer((props: Dependencies) => {
|
||||
if (!props.navigationItems.get().length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
<div className="header">Preferences</div>
|
||||
|
||||
{props.navigationItems.get().map(item => (
|
||||
<PreferencesNavigationTab
|
||||
key={item.id}
|
||||
item={item}
|
||||
data-testid={`tab-link-for-${item.id}`}
|
||||
/>
|
||||
))}
|
||||
</React.Fragment>
|
||||
);
|
||||
});
|
||||
|
||||
export const GeneralNavGroup = withInjectables<Dependencies>(
|
||||
NonInjectedGeneralNavGroup,
|
||||
|
||||
{
|
||||
getProps: (di) => ({
|
||||
navigationItems: di.inject(preferenceNavigationItemsForGroupInjectable, "general"),
|
||||
}),
|
||||
},
|
||||
);
|
||||
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
||||
import { computed } from "mobx";
|
||||
import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable";
|
||||
import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable";
|
||||
|
||||
const kubernetesPreferencesNavigationItemInjectable = getInjectable({
|
||||
id: "kubernetes-preferences-navigation-item",
|
||||
|
||||
instantiate: (di) => {
|
||||
const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable);
|
||||
const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "kubernetes");
|
||||
|
||||
return {
|
||||
id: "kubernetes",
|
||||
label: "Kubernetes",
|
||||
parent: "general",
|
||||
navigate: () => navigateToPreferenceTab("kubernetes"),
|
||||
isActive: preferenceTabIsActive,
|
||||
isVisible: computed(() => true),
|
||||
orderNumber: 30,
|
||||
};
|
||||
},
|
||||
|
||||
injectionToken: preferenceNavigationItemInjectionToken,
|
||||
});
|
||||
|
||||
export default kubernetesPreferencesNavigationItemInjectable;
|
||||
@ -1,24 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import React from "react";
|
||||
import { Tabs } from "../../tabs";
|
||||
import { ExtensionsNavGroup } from "./extensions-nav-group";
|
||||
import { GeneralNavGroup } from "./general-nav-group";
|
||||
import type {
|
||||
PreferenceNavigationItem,
|
||||
} from "./preference-navigation-items.injectable";
|
||||
|
||||
export const PreferencesNavigation = () => {
|
||||
return (
|
||||
<Tabs
|
||||
className="flex column"
|
||||
scrollable={false}
|
||||
onChange={(item: PreferenceNavigationItem) => item.navigate()}
|
||||
>
|
||||
<GeneralNavGroup/>
|
||||
<ExtensionsNavGroup/>
|
||||
</Tabs>
|
||||
);
|
||||
};
|
||||
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
||||
import { computed } from "mobx";
|
||||
import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable";
|
||||
import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable";
|
||||
|
||||
const proxyPreferencesNavigationItemInjectable = getInjectable({
|
||||
id: "proxy-preferences-navigation-item",
|
||||
|
||||
instantiate: (di) => {
|
||||
const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable);
|
||||
const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "proxy");
|
||||
|
||||
return {
|
||||
id: "proxy",
|
||||
label: "Proxy",
|
||||
parent: "general",
|
||||
navigate: () => navigateToPreferenceTab("proxy"),
|
||||
isActive: preferenceTabIsActive,
|
||||
isVisible: computed(() => true),
|
||||
orderNumber: 20,
|
||||
};
|
||||
},
|
||||
|
||||
injectionToken: preferenceNavigationItemInjectionToken,
|
||||
});
|
||||
|
||||
export default proxyPreferencesNavigationItemInjectable;
|
||||
@ -1,40 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
||||
import { computed } from "mobx";
|
||||
import telemetryPreferenceItemsInjectable from "../telemetry-preference-items.injectable";
|
||||
import sentryDataSourceNameInjectable from "../../../../common/vars/sentry-dsn-url.injectable";
|
||||
import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable";
|
||||
import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable";
|
||||
|
||||
const terminalPreferencesNavigationItemInjectable = getInjectable({
|
||||
id: "telemetry-preferences-navigation-item",
|
||||
|
||||
instantiate: (di) => {
|
||||
const sentryDataSourceName = di.inject(sentryDataSourceNameInjectable);
|
||||
const telemetryPreferenceItems = di.inject(telemetryPreferenceItemsInjectable);
|
||||
const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable);
|
||||
const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "telemetry");
|
||||
|
||||
return {
|
||||
id: "telemetry",
|
||||
label: "Telemetry",
|
||||
parent: "general",
|
||||
navigate: () => navigateToPreferenceTab("telemetry"),
|
||||
isActive: preferenceTabIsActive,
|
||||
|
||||
isVisible: computed(
|
||||
() => !!sentryDataSourceName || telemetryPreferenceItems.get().length > 0,
|
||||
),
|
||||
|
||||
orderNumber: 60,
|
||||
};
|
||||
},
|
||||
|
||||
injectionToken: preferenceNavigationItemInjectionToken,
|
||||
});
|
||||
|
||||
export default terminalPreferencesNavigationItemInjectable;
|
||||
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
||||
import { computed } from "mobx";
|
||||
import navigateToPreferenceTabInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable";
|
||||
import preferenceTabIsActiveInjectable from "../../../../features/preferences/renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable";
|
||||
|
||||
const terminalPreferencesNavigationItemInjectable = getInjectable({
|
||||
id: "terminal-preferences-navigation-item",
|
||||
|
||||
instantiate: (di) => {
|
||||
const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable);
|
||||
const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "terminal");
|
||||
|
||||
return {
|
||||
id: "terminal",
|
||||
label: "Terminal",
|
||||
parent: "general",
|
||||
navigate: () => navigateToPreferenceTab("terminal"),
|
||||
isActive: preferenceTabIsActive,
|
||||
isVisible: computed(() => true),
|
||||
orderNumber: 50,
|
||||
};
|
||||
},
|
||||
|
||||
injectionToken: preferenceNavigationItemInjectionToken,
|
||||
});
|
||||
|
||||
export default terminalPreferencesNavigationItemInjectable;
|
||||
@ -1,48 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import "./preferences.scss";
|
||||
import React from "react";
|
||||
|
||||
import { SettingLayout } from "../layout/setting-layout";
|
||||
import { PreferencesNavigation } from "./preferences-navigation/preferences-navigation";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import closePreferencesInjectable from "./close-preferences.injectable";
|
||||
|
||||
interface PreferencesProps extends React.DOMAttributes<any> {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
interface Dependencies {
|
||||
closePreferences: () => void;
|
||||
}
|
||||
|
||||
const NonInjectedPreferences = ({
|
||||
children,
|
||||
closePreferences,
|
||||
...props
|
||||
}: PreferencesProps & Dependencies) => (
|
||||
<SettingLayout
|
||||
navigation={<PreferencesNavigation />}
|
||||
className="Preferences"
|
||||
contentGaps={false}
|
||||
closeButtonProps={{ "data-testid": "close-preferences" }}
|
||||
back={closePreferences}
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</SettingLayout>
|
||||
);
|
||||
|
||||
export const Preferences = withInjectables<Dependencies, PreferencesProps>(
|
||||
NonInjectedPreferences,
|
||||
|
||||
{
|
||||
getProps: (di, props) => ({
|
||||
closePreferences: di.inject(closePreferencesInjectable),
|
||||
...props,
|
||||
}),
|
||||
},
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user