1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Migrate some functionality to Feature-module of "preferences"

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
Iku-turso 2022-11-08 13:53:20 +02:00
parent 5ae60e218c
commit 794ab63360
50 changed files with 62 additions and 126 deletions

View File

@ -291,7 +291,11 @@
"winston-console-format": "^1.0.8", "winston-console-format": "^1.0.8",
"winston-transport-browserconsole": "^1.0.5", "winston-transport-browserconsole": "^1.0.5",
"ws": "^8.11.0", "ws": "^8.11.0",
"xterm-link-provider": "^1.3.1" "xterm-link-provider": "^1.3.1",
"@lensapp/composable-responsibilities": "0.0.1",
"@lensapp/utils": "0.0.1",
"@lensapp/composite": "0.0.1",
"@lensapp/preferences": "0.0.1"
}, },
"devDependencies": { "devDependencies": {
"@async-fn/jest": "1.6.4", "@async-fn/jest": "1.6.4",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../../../../preferences/renderer/preference-items/preference-item-injection-token";
import { UpdateChannel } from "./update-channel"; import { UpdateChannel } from "./update-channel";
const updateChannelPreferenceBlockInjectable = getInjectable({ const updateChannelPreferenceBlockInjectable = getInjectable({

View File

@ -2,9 +2,9 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { HelmCharts } from "./helm-charts"; import { HelmCharts } from "./helm-charts";
import { preferenceItemInjectionToken } from "../../../../preferences/renderer/preference-items/preference-item-injection-token";
const helmChartsPreferenceBlockInjectable = getInjectable({ const helmChartsPreferenceBlockInjectable = getInjectable({
id: "helm-charts-preference-block", id: "helm-charts-preference-block",

View File

@ -18,7 +18,7 @@ import { createMemoryHistory } from "history";
import { createObservableHistory } from "mobx-observable-history"; import { createObservableHistory } from "mobx-observable-history";
import navigateToFrontPageInjectable from "../../common/front-end-routing/navigate-to-front-page.injectable"; import navigateToFrontPageInjectable from "../../common/front-end-routing/navigate-to-front-page.injectable";
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token"; import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
import { preferenceItemInjectionToken } from "./renderer/preference-items/preference-item-injection-token"; import { preferenceItemInjectionToken } from "@lensapp/preferences";
describe("preferences - closing-preferences", () => { describe("preferences - closing-preferences", () => {
let builder: ApplicationBuilder; let builder: ApplicationBuilder;

View File

@ -9,9 +9,9 @@ import type { RenderResult } from "@testing-library/react";
import { runInAction } from "mobx"; import { runInAction } from "mobx";
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder"; import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder"; import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { preferenceItemInjectionToken } from "./renderer/preference-items/preference-item-injection-token";
import type { Discover } from "../../renderer/components/test-utils/discovery-of-html-elements"; import type { Discover } from "../../renderer/components/test-utils/discovery-of-html-elements";
import { discoverFor } from "../../renderer/components/test-utils/discovery-of-html-elements"; import { discoverFor } from "../../renderer/components/test-utils/discovery-of-html-elements";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
describe("preferences - hiding-of-empty-branches, given in preferences page", () => { describe("preferences - hiding-of-empty-branches, given in preferences page", () => {
let builder: ApplicationBuilder; let builder: ApplicationBuilder;

View File

@ -5,12 +5,12 @@
import React from "react"; import React from "react";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension"; import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import { preferenceItemInjectionToken } from "../preference-items/preference-item-injection-token";
import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token"; import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token";
import { PreferencePageComponent } from "../preference-page-component"; import { PreferencePageComponent } from "../preference-page-component";
import { ExtensionPreferenceBlock } from "./extension-preference-block"; import { ExtensionPreferenceBlock } from "./extension-preference-block";
import { computed } from "mobx"; import { computed } from "mobx";
import { HorizontalLine } from "../../../../renderer/components/horizontal-line/horizontal-line"; import { HorizontalLine } from "../../../../renderer/components/horizontal-line/horizontal-line";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const registratorForPreferenceItemsInjectable = getInjectable({ const registratorForPreferenceItemsInjectable = getInjectable({
id: "registrator-for-preference-items", id: "registrator-for-preference-items",

View File

@ -3,11 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { PreferenceItemComponent, PreferencePage } from "../preference-item-injection-token";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
import { PreferencePageComponent } from "../../preference-page-component";
import { HorizontalLine } from "../../../../../renderer/components/horizontal-line/horizontal-line"; import { HorizontalLine } from "../../../../../renderer/components/horizontal-line/horizontal-line";
import React from "react"; import React from "react";
import type { PreferenceItemComponent, PreferencePage } from "@lensapp/preferences";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { PreferencePageComponent } from "../../preference-page-component";
const ApplicationPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => ( const ApplicationPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => (
<PreferencePageComponent title="Application" id={item.id}> <PreferencePageComponent title="Application" id={item.id}>

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
const applicationPreferenceTabInjectable = getInjectable({ const applicationPreferenceTabInjectable = getInjectable({
id: "application-preference-tab", id: "application-preference-tab",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { ExtensionInstallRegistry } from "./extension-install-registry"; import { ExtensionInstallRegistry } from "./extension-install-registry";
const extensionInstallRegistryPreferenceBlockInjectable = getInjectable({ const extensionInstallRegistryPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { StartUp } from "./start-up"; import { StartUp } from "./start-up";
const startUpPreferenceBlockInjectable = getInjectable({ const startUpPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { Theme } from "./theme"; import { Theme } from "./theme";
const themePreferenceBlockInjectable = getInjectable({ const themePreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { Timezone } from "./timezone"; import { Timezone } from "./timezone";
const timezonePreferenceBlockInjectable = getInjectable({ const timezonePreferenceBlockInjectable = getInjectable({

View File

@ -4,7 +4,6 @@
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx"; import { computed } from "mobx";
import type { PreferenceTab, PreferenceItemTypes } from "./preference-item-injection-token";
import type { Composite } from "../../../../common/utils/composite/get-composite/get-composite"; import type { Composite } from "../../../../common/utils/composite/get-composite/get-composite";
import { filter, map } from "lodash/fp"; import { filter, map } from "lodash/fp";
import { pipeline } from "@ogre-tools/fp"; import { pipeline } from "@ogre-tools/fp";
@ -12,6 +11,7 @@ import { getCompositeNormalization } from "../../../../common/utils/composite/ge
import preferencesCompositeInjectable from "./preferences-composite.injectable"; import preferencesCompositeInjectable from "./preferences-composite.injectable";
import type { PreferenceTabsRoot } from "./preference-tab-root"; import type { PreferenceTabsRoot } from "./preference-tab-root";
import currentPreferenceTabIdInjectable from "./current-preference-tab-id.injectable"; import currentPreferenceTabIdInjectable from "./current-preference-tab-id.injectable";
import type { PreferenceItemTypes, PreferenceTab } from "@lensapp/preferences";
const currentPreferenceTabCompositeInjectable = getInjectable({ const currentPreferenceTabCompositeInjectable = getInjectable({
id: "current-preference-page-composite", id: "current-preference-page-composite",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { EditorFontFamily } from "./editor-font-family"; import { EditorFontFamily } from "./editor-font-family";
const editorFontFamilyPreferenceBlockInjectable = getInjectable({ const editorFontFamilyPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { EditorFontSize } from "./editor-font-size"; import { EditorFontSize } from "./editor-font-size";
const editorFontSizePreferenceBlockInjectable = getInjectable({ const editorFontSizePreferenceBlockInjectable = getInjectable({

View File

@ -3,10 +3,10 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { PreferenceItemComponent, PreferencePage } from "../preference-item-injection-token";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
import { PreferencePageComponent } from "../../preference-page-component"; import { PreferencePageComponent } from "../../preference-page-component";
import React from "react"; import React from "react";
import type { PreferenceItemComponent, PreferencePage } from "@lensapp/preferences";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const EditorPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => ( const EditorPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => (
<PreferencePageComponent title="Editor" id={item.id}> <PreferencePageComponent title="Editor" id={item.id}>

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
const editorPreferenceTabInjectable = getInjectable({ const editorPreferenceTabInjectable = getInjectable({
id: "editor-preference-tab", id: "editor-preference-tab",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { LineNumbers } from "./line-numbers"; import { LineNumbers } from "./line-numbers";
const lineNumbersPreferenceBlockInjectable = getInjectable({ const lineNumbersPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { Minimap } from "./minimap"; import { Minimap } from "./minimap";
const minimapPreferenceBlockInjectable = getInjectable({ const minimapPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { TabSize } from "./tab-size"; import { TabSize } from "./tab-size";
const tabSizePreferenceBlockInjectable = getInjectable({ const tabSizePreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "./preference-item-injection-token";
const extensionsPreferenceTabGroupInjectable = getInjectable({ const extensionsPreferenceTabGroupInjectable = getInjectable({
id: "extensions-preference-tab-group", id: "extensions-preference-tab-group",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "./preference-item-injection-token";
const generalPreferenceTabGroupInjectable = getInjectable({ const generalPreferenceTabGroupInjectable = getInjectable({
id: "general-preference-tab-group", id: "general-preference-tab-group",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { KubeconfigSync } from "./kubeconfig-sync"; import { KubeconfigSync } from "./kubeconfig-sync";
const kubeconfigSyncPreferenceBlockInjectable = getInjectable({ const kubeconfigSyncPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../../preference-item-injection-token";
import { KubectlBinaryDownload } from "./kubectl-binary-download"; import { KubectlBinaryDownload } from "./kubectl-binary-download";
const kubectlBinaryDownloadPreferenceBlockInjectable = getInjectable({ const kubectlBinaryDownloadPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../../preference-item-injection-token";
import { KubectlDirectoryForBinaries } from "./kubectl-directory-for-binaries"; import { KubectlDirectoryForBinaries } from "./kubectl-directory-for-binaries";
const kubectlDirectoryForBinariesPreferenceBlockInjectable = getInjectable({ const kubectlDirectoryForBinariesPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../../preference-item-injection-token";
import { KubectlDownloadMirror } from "./kubectl-download-mirror"; import { KubectlDownloadMirror } from "./kubectl-download-mirror";
const kubectlDownloadMirrorPreferenceBlockInjectable = getInjectable({ const kubectlDownloadMirrorPreferenceBlockInjectable = getInjectable({

View File

@ -3,10 +3,10 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { PreferenceItemTypes } from "../../preference-item-injection-token";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import Gutter from "../../../../../../renderer/components/gutter/gutter"; import Gutter from "../../../../../../renderer/components/gutter/gutter";
import React from "react"; import React from "react";
import type { PreferenceItemTypes } from "@lensapp/preferences";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const PreferenceItemGroup = ({ const PreferenceItemGroup = ({
children, children,

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../../preference-item-injection-token";
import { KubectlPathToBinary } from "./kubectl-path-to-binary"; import { KubectlPathToBinary } from "./kubectl-path-to-binary";
const kubectlPathToBinaryPreferenceBlockInjectable = getInjectable({ const kubectlPathToBinaryPreferenceBlockInjectable = getInjectable({

View File

@ -3,11 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { PreferenceItemComponent, PreferencePage } from "../preference-item-injection-token";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
import { PreferencePageComponent } from "../../preference-page-component"; import { PreferencePageComponent } from "../../preference-page-component";
import { HorizontalLine } from "../../../../../renderer/components/horizontal-line/horizontal-line"; import { HorizontalLine } from "../../../../../renderer/components/horizontal-line/horizontal-line";
import React from "react"; import React from "react";
import type { PreferenceItemComponent, PreferencePage } from "@lensapp/preferences";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const KubernetesPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => ( const KubernetesPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => (
<PreferencePageComponent title="Kubernetes" id={item.id}> <PreferencePageComponent title="Kubernetes" id={item.id}>

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
const kubernetesPreferenceTabInjectable = getInjectable({ const kubernetesPreferenceTabInjectable = getInjectable({
id: "kubernetes-preference-tab", id: "kubernetes-preference-tab",

View File

@ -1,68 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectionToken } from "@ogre-tools/injectable";
import type React from "react";
import type { ChildOfParentComposite, ParentOfChildComposite } from "../../../../common/utils/composite/interfaces";
import type { Discriminable } from "../../../../common/utils/composable-responsibilities/discriminable/discriminable";
import type { Labelable } from "../../../../common/utils/composable-responsibilities/labelable/labelable";
import type { MaybeShowable } from "../../../../common/utils/composable-responsibilities/showable/showable";
import type { Orderable } from "../../../../common/utils/composable-responsibilities/orderable/orderable";
import type { GetSeparator } from "../../../../common/utils/add-separator/add-separator";
import type { Composite } from "../../../../common/utils/composite/get-composite/get-composite";
export type ChildrenAreSeparated =
& { childSeparator: GetSeparator<Composite<PreferenceItemTypes>, React.ReactElement> };
export type ChildrenAreMaybeSeparated =
& Partial<ChildrenAreSeparated>;
export type PreferenceItemComponent<T> = React.ComponentType<{
children: React.ReactElement;
item: T;
}>;
export type PreferenceTab =
& Discriminable<"tab">
& ParentOfChildComposite
& ChildOfParentComposite
& MaybeShowable
& Labelable
& Orderable
& { pathId: string };
export type PreferenceTabGroup =
& Discriminable<"tab-group">
& ParentOfChildComposite
& ChildOfParentComposite<"preference-tabs">
& MaybeShowable
& Labelable
& Orderable
& { iconName? : string };
interface RenderableWithSiblings<T extends PreferenceItemTypes>
extends ChildrenAreMaybeSeparated {
Component: PreferenceItemComponent<T>;
}
export type PreferencePage =
& Discriminable<"page">
& ParentOfChildComposite
& ChildOfParentComposite
& MaybeShowable
& RenderableWithSiblings<PreferencePage>;
export type PreferenceBlock =
& Discriminable<"block">
& ParentOfChildComposite
& ChildOfParentComposite
& MaybeShowable
& RenderableWithSiblings<PreferenceBlock>;
export type PreferenceItemTypes = PreferenceTabGroup | PreferenceTab | PreferenceBlock | PreferencePage;
export const preferenceItemInjectionToken = getInjectionToken<PreferenceItemTypes>({
id: "preference-item-injection-token",
});

View File

@ -6,8 +6,8 @@ import React from "react";
import { HorizontalLine } from "../../../../renderer/components/horizontal-line/horizontal-line"; import { HorizontalLine } from "../../../../renderer/components/horizontal-line/horizontal-line";
import type { RootComposite } from "../../../../common/utils/composite/interfaces"; import type { RootComposite } from "../../../../common/utils/composite/interfaces";
import type { Discriminable } from "../../../../common/utils/composable-responsibilities/discriminable/discriminable"; import type { Discriminable } from "../../../../common/utils/composable-responsibilities/discriminable/discriminable";
import type { ChildrenAreSeparated } from "./preference-item-injection-token";
import styles from "./preference-tab-root.module.scss"; import styles from "./preference-tab-root.module.scss";
import type { ChildrenAreSeparated } from "@lensapp/preferences";
export type PreferenceTabsRoot = export type PreferenceTabsRoot =
& Discriminable<"preference-tabs-root"> & Discriminable<"preference-tabs-root">

View File

@ -5,8 +5,6 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx"; import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
import { computed } from "mobx"; import { computed } from "mobx";
import type { PreferenceItemTypes } from "./preference-item-injection-token";
import { preferenceItemInjectionToken } from "./preference-item-injection-token";
import { pipeline } from "@ogre-tools/fp"; import { pipeline } from "@ogre-tools/fp";
import type { PreferenceTabsRoot } from "./preference-tab-root"; import type { PreferenceTabsRoot } from "./preference-tab-root";
import { preferenceTabsRoot } from "./preference-tab-root"; import { preferenceTabsRoot } from "./preference-tab-root";
@ -14,6 +12,8 @@ import logErrorInjectable from "../../../../common/log-error.injectable";
import { isShown } from "../../../../common/utils/composable-responsibilities/showable/showable"; import { isShown } from "../../../../common/utils/composable-responsibilities/showable/showable";
import { orderByOrderNumber } from "../../../../common/utils/composable-responsibilities/orderable/orderable"; import { orderByOrderNumber } from "../../../../common/utils/composable-responsibilities/orderable/orderable";
import { getCompositeFor } from "../../../../common/utils/composite/get-composite/get-composite"; import { getCompositeFor } from "../../../../common/utils/composite/get-composite/get-composite";
import type { PreferenceItemTypes } from "@lensapp/preferences";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const preferencesCompositeInjectable = getInjectable({ const preferencesCompositeInjectable = getInjectable({
id: "preferences-composite", id: "preferences-composite",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { AllowUntrustedCertificates } from "./allow-untrusted-certificates"; import { AllowUntrustedCertificates } from "./allow-untrusted-certificates";
const allowUntrustedCertificatesPreferenceBlockInjectable = getInjectable({ const allowUntrustedCertificatesPreferenceBlockInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { HttpProxyUrl } from "./http-proxy-url"; import { HttpProxyUrl } from "./http-proxy-url";
const httpProxyUrlPreferenceBlockInjectable = getInjectable({ const httpProxyUrlPreferenceBlockInjectable = getInjectable({

View File

@ -3,11 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { PreferenceItemComponent, PreferencePage } from "../preference-item-injection-token";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
import React from "react"; import React from "react";
import { PreferencePageComponent } from "../../preference-page-component"; import { PreferencePageComponent } from "../../preference-page-component";
import { HorizontalLine } from "../../../../../renderer/components/horizontal-line/horizontal-line"; import { HorizontalLine } from "../../../../../renderer/components/horizontal-line/horizontal-line";
import type { PreferenceItemComponent, PreferencePage } from "@lensapp/preferences";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const ProxyPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => ( const ProxyPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => (
<PreferencePageComponent title="Proxy" id={item.id}> <PreferencePageComponent title="Proxy" id={item.id}>

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
const proxyPreferenceTabInjectable = getInjectable({ const proxyPreferenceTabInjectable = getInjectable({
id: "proxy-preference-tab", id: "proxy-preference-tab",

View File

@ -3,9 +3,9 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { AutomaticErrorReporting } from "./automatic-error-reporting"; import { AutomaticErrorReporting } from "./automatic-error-reporting";
import sentryDataSourceNameInjectable from "../../../../../../common/vars/sentry-dsn-url.injectable"; import sentryDataSourceNameInjectable from "../../../../../../common/vars/sentry-dsn-url.injectable";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const automaticErrorReportingPreferenceItemInjectable = getInjectable({ const automaticErrorReportingPreferenceItemInjectable = getInjectable({
id: "automatic-error-reporting-preference-item", id: "automatic-error-reporting-preference-item",

View File

@ -3,10 +3,10 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { PreferenceItemComponent, PreferencePage } from "../preference-item-injection-token";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
import React from "react"; import React from "react";
import { PreferencePageComponent } from "../../preference-page-component"; import { PreferencePageComponent } from "../../preference-page-component";
import type { PreferenceItemComponent, PreferencePage } from "@lensapp/preferences";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
const TelemetryPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => ( const TelemetryPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => (
<PreferencePageComponent title="Telemetry" id={item.id}> <PreferencePageComponent title="Telemetry" id={item.id}>

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
const telemetryPreferenceTabInjectable = getInjectable({ const telemetryPreferenceTabInjectable = getInjectable({
id: "telemetry-preference-tab", id: "telemetry-preference-tab",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { CopyPasteFromTerminal } from "./copy-paste-from-terminal"; import { CopyPasteFromTerminal } from "./copy-paste-from-terminal";
const copyPasteFromTerminalPreferenceItemInjectable = getInjectable({ const copyPasteFromTerminalPreferenceItemInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { TerminalFontFamily } from "./terminal-font-family"; import { TerminalFontFamily } from "./terminal-font-family";
const terminalFontFamilyPreferenceItemInjectable = getInjectable({ const terminalFontFamilyPreferenceItemInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { TerminalFontSize } from "./terminal-font-size"; import { TerminalFontSize } from "./terminal-font-size";
const terminalFontSizePreferenceItemInjectable = getInjectable({ const terminalFontSizePreferenceItemInjectable = getInjectable({

View File

@ -3,10 +3,10 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { PreferenceItemComponent, PreferencePage } from "../preference-item-injection-token";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
import { PreferencePageComponent } from "../../preference-page-component"; import { PreferencePageComponent } from "../../preference-page-component";
import React from "react"; import React from "react";
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import type { PreferenceItemComponent, PreferencePage } from "@lensapp/preferences";
const TerminalPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => ( const TerminalPage: PreferenceItemComponent<PreferencePage> = ({ children, item }) => (
<PreferencePageComponent title="Terminal" id={item.id}> <PreferencePageComponent title="Terminal" id={item.id}>

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../preference-item-injection-token";
const terminalPreferenceTabInjectable = getInjectable({ const terminalPreferenceTabInjectable = getInjectable({
id: "terminal-preference-tab", id: "terminal-preference-tab",

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { TerminalShellPath } from "./terminal-shell-path"; import { TerminalShellPath } from "./terminal-shell-path";
const terminalShellPathPreferenceItemInjectable = getInjectable({ const terminalShellPathPreferenceItemInjectable = getInjectable({

View File

@ -2,8 +2,8 @@
* Copyright (c) OpenLens Authors. All rights reserved. * Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { preferenceItemInjectionToken } from "@lensapp/preferences";
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { preferenceItemInjectionToken } from "../../preference-item-injection-token";
import { TerminalTheme } from "./terminal-theme"; import { TerminalTheme } from "./terminal-theme";
const terminalThemePreferenceItemInjectable = getInjectable({ const terminalThemePreferenceItemInjectable = getInjectable({

View File

@ -6,10 +6,10 @@ import { Tab } from "../../../../renderer/components/tabs";
import navigateToPreferenceTabInjectable from "./navigate-to-preference-tab/navigate-to-preference-tab.injectable"; import navigateToPreferenceTabInjectable from "./navigate-to-preference-tab/navigate-to-preference-tab.injectable";
import { withInjectables } from "@ogre-tools/injectable-react"; import { withInjectables } from "@ogre-tools/injectable-react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import type { PreferenceTab } from "../preference-items/preference-item-injection-token";
import type { IComputedValue } from "mobx"; import type { IComputedValue } from "mobx";
import preferenceTabIsActiveInjectable from "./navigate-to-preference-tab/preference-tab-is-active.injectable"; import preferenceTabIsActiveInjectable from "./navigate-to-preference-tab/preference-tab-is-active.injectable";
import React from "react"; import React from "react";
import type { PreferenceTab } from "@lensapp/preferences";
interface Dependencies { interface Dependencies {
navigateToTab: (tabId: string) => void; navigateToTab: (tabId: string) => void;

View File

@ -5,7 +5,6 @@
import { Tabs } from "../../../../renderer/components/tabs"; import { Tabs } from "../../../../renderer/components/tabs";
import React from "react"; import React from "react";
import type { Composite } from "../../../../common/utils/composite/get-composite/get-composite"; import type { Composite } from "../../../../common/utils/composite/get-composite/get-composite";
import type { PreferenceItemTypes } from "../preference-items/preference-item-injection-token";
import { Map } from "../../../../renderer/components/map/map"; import { Map } from "../../../../renderer/components/map/map";
import { withInjectables } from "@ogre-tools/injectable-react"; import { withInjectables } from "@ogre-tools/injectable-react";
import type { IComputedValue } from "mobx"; import type { IComputedValue } from "mobx";
@ -16,6 +15,7 @@ import { compositeHasDescendant } from "../../../../common/utils/composite/compo
import type { PreferenceTabsRoot } from "../preference-items/preference-tab-root"; import type { PreferenceTabsRoot } from "../preference-items/preference-tab-root";
import { Icon } from "../../../../renderer/components/icon"; import { Icon } from "../../../../renderer/components/icon";
import { checkThatAllDiscriminablesAreExhausted } from "../../../../common/utils/composable-responsibilities/discriminable/discriminable"; import { checkThatAllDiscriminablesAreExhausted } from "../../../../common/utils/composable-responsibilities/discriminable/discriminable";
import type { PreferenceItemTypes } from "@lensapp/preferences";
interface Dependencies { interface Dependencies {
composite: IComputedValue<Composite<PreferenceItemTypes | PreferenceTabsRoot>>; composite: IComputedValue<Composite<PreferenceItemTypes | PreferenceTabsRoot>>;

View File

@ -10,13 +10,13 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import closePreferencesInjectable from "./close-preferences/close-preferences.injectable"; import closePreferencesInjectable from "./close-preferences/close-preferences.injectable";
import currentPreferenceTabCompositeInjectable from "./preference-items/current-preference-tab-composite.injectable"; import currentPreferenceTabCompositeInjectable from "./preference-items/current-preference-tab-composite.injectable";
import type { Composite } from "../../../common/utils/composite/get-composite/get-composite"; import type { Composite } from "../../../common/utils/composite/get-composite/get-composite";
import type { PreferenceItemTypes, PreferenceTab } from "./preference-items/preference-item-injection-token";
import type { IComputedValue } from "mobx"; import type { IComputedValue } from "mobx";
import { Map } from "../../../renderer/components/map/map"; import { Map } from "../../../renderer/components/map/map";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { PreferencesNavigation } from "./preference-navigation/preferences-navigation"; import { PreferencesNavigation } from "./preference-navigation/preferences-navigation";
import Gutter from "../../../renderer/components/gutter/gutter"; import Gutter from "../../../renderer/components/gutter/gutter";
import { checkThatAllDiscriminablesAreExhausted } from "../../../common/utils/composable-responsibilities/discriminable/discriminable"; import { checkThatAllDiscriminablesAreExhausted } from "../../../common/utils/composable-responsibilities/discriminable/discriminable";
import type { PreferenceTab, PreferenceItemTypes } from "@lensapp/preferences";
interface Dependencies { interface Dependencies {
closePreferences: () => void; closePreferences: () => void;