mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
chore: extract @k8slens/notifications
Signed-off-by: Gabriel <gaccettola@mirantis.com>
This commit is contained in:
1 parent
f602ce8f46
commit
8b69c12ed4
102 files changed
+399
-192
No files matched your search
@@ -207,6 +207,7 @@
|
||||
"@hapi/call": "^9.0.1",
|
||||
"@hapi/subtext": "^7.1.0",
|
||||
"@k8slens/animate": "^1.0.0-alpha.0",
|
||||
"@k8slens/notifications": "^1.0.0",
|
||||
"@k8slens/application": "^6.5.0-alpha.0",
|
||||
"@k8slens/application-for-electron-main": "^6.5.0-alpha.0",
|
||||
"@k8slens/button": "^1.0.0-alpha.5",
|
||||
|
||||
@@ -16,15 +16,18 @@ import { ConfirmDialog as _ConfirmDialog } from "../../renderer/components/confi
|
||||
import type { ConfirmDialogBooleanParams, ConfirmDialogParams, ConfirmDialogProps } from "../../renderer/components/confirm-dialog";
|
||||
import openConfirmDialogInjectable from "../../renderer/components/confirm-dialog/open.injectable";
|
||||
import confirmInjectable from "../../renderer/components/confirm-dialog/confirm.injectable";
|
||||
import notificationsStoreInjectable from "../../renderer/components/notifications/notifications-store.injectable";
|
||||
import {
|
||||
notificationsStoreInjectable,
|
||||
showCheckedErrorNotificationInjectable,
|
||||
showErrorNotificationInjectable,
|
||||
showInfoNotificationInjectable,
|
||||
showShortInfoNotificationInjectable,
|
||||
showSuccessNotificationInjectable,
|
||||
} from "@k8slens/notifications";
|
||||
import podStoreInjectable from "../../renderer/components/workloads-pods/store.injectable";
|
||||
import getDetailsUrlInjectable from "../../renderer/components/kube-detail-params/get-details-url.injectable";
|
||||
import showDetailsInjectable from "../../renderer/components/kube-detail-params/show-details.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../renderer/components/notifications/show-checked-error.injectable";
|
||||
import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import showInfoNotificationInjectable from "../../renderer/components/notifications/show-info-notification.injectable";
|
||||
import showShortInfoNotificationInjectable from "../../renderer/components/notifications/show-short-info.injectable";
|
||||
import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
|
||||
|
||||
|
||||
// layouts
|
||||
export * from "../../renderer/components/layout/main-layout";
|
||||
@@ -72,14 +75,14 @@ export * from "../../renderer/components/line-progress";
|
||||
export * from "../../renderer/components/menu";
|
||||
|
||||
export {
|
||||
NotificationStatus,
|
||||
type NotificationStatus,
|
||||
type CreateNotificationOptions,
|
||||
type Notification,
|
||||
type NotificationId,
|
||||
type NotificationMessage,
|
||||
type ShowNotification,
|
||||
type NotificationsStore,
|
||||
} from "../../renderer/components/notifications";
|
||||
} from"@k8slens/notifications";
|
||||
|
||||
export const Notifications = {
|
||||
ok: asLegacyGlobalFunctionForExtensionApi(showSuccessNotificationInjectable),
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import downloadPlatformUpdateInjectable from "../../main/download-update/downloa
|
||||
import selectedUpdateChannelInjectable from "../../common/selected-update-channel.injectable";
|
||||
import type { IComputedValue } from "mobx";
|
||||
import setUpdateOnQuitInjectable from "../../../../main/electron-app/features/set-update-on-quit.injectable";
|
||||
import showInfoNotificationInjectable from "../../../../renderer/components/notifications/show-info-notification.injectable";
|
||||
import { showInfoNotificationInjectable } from "@k8slens/notifications";
|
||||
import processCheckingForUpdatesInjectable from "../../main/process-checking-for-updates.injectable";
|
||||
import type { DiContainer } from "@ogre-tools/injectable";
|
||||
import getBuildVersionInjectable
|
||||
|
||||
@@ -14,8 +14,7 @@ import type { AsyncFnMock } from "@async-fn/jest";
|
||||
import asyncFn from "@async-fn/jest";
|
||||
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
|
||||
import { Namespace } from "@k8slens/kube-object";
|
||||
import showSuccessNotificationInjectable from "../../../renderer/components/notifications/show-success-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import readJsonFileInjectable from "../../../common/fs/read-json-file.injectable";
|
||||
import directoryForLensLocalStorageInjectable from "../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
|
||||
import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
|
||||
@@ -25,7 +24,7 @@ import apiKubePatchInjectable from "../../../renderer/k8s/api-kube-patch.injecta
|
||||
import apiKubeGetInjectable from "../../../renderer/k8s/api-kube-get.injectable";
|
||||
import type { BaseKubeJsonApiObjectMetadata, KubeObjectScope, KubeJsonApiData } from "@k8slens/kube-object";
|
||||
import { JsonApiErrorParsed } from "@k8slens/json-api";
|
||||
import type { ShowNotification } from "../../../renderer/components/notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import React from "react";
|
||||
|
||||
describe("cluster/namespaces - edit namespace from new tab", () => {
|
||||
|
||||
+1
-2
@@ -15,8 +15,7 @@ import getActiveHelmRepositoriesInjectable from "../../main/helm/repositories/ge
|
||||
import type { HelmRepo } from "../../common/helm/helm-repo";
|
||||
import requestPublicHelmRepositoriesInjectable from "./child-features/preferences/renderer/adding-of-public-helm-repository/public-helm-repositories/request-public-helm-repositories.injectable";
|
||||
import isPathInjectable from "../../renderer/components/input/validators/is-path.injectable";
|
||||
import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { AsyncResult } from "@k8slens/utilities";
|
||||
import { testUsingFakeTime } from "../../test-utils/use-fake-time";
|
||||
|
||||
|
||||
+1
-2
@@ -13,8 +13,7 @@ import helmBinaryPathInjectable from "../../main/helm/helm-binary-path.injectabl
|
||||
import getActiveHelmRepositoriesInjectable from "../../main/helm/repositories/get-active-helm-repositories/get-active-helm-repositories.injectable";
|
||||
import type { HelmRepo } from "../../common/helm/helm-repo";
|
||||
import requestPublicHelmRepositoriesInjectable from "./child-features/preferences/renderer/adding-of-public-helm-repository/public-helm-repositories/request-public-helm-repositories.injectable";
|
||||
import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { AsyncResult } from "@k8slens/utilities";
|
||||
|
||||
describe("add helm repository from list in preferences", () => {
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { asyncComputed } from "@ogre-tools/injectable-react";
|
||||
import { getActiveHelmRepositoriesChannel } from "../../../../../common/helm/get-active-helm-repositories-channel";
|
||||
import { requestFromChannelInjectionToken } from "@k8slens/messaging";
|
||||
import showErrorNotificationInjectable from "../../../../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import helmRepositoriesErrorStateInjectable from "./helm-repositories-error-state.injectable";
|
||||
import { runInAction } from "mobx";
|
||||
|
||||
|
||||
+1
-2
@@ -6,8 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { HelmRepo } from "../../../../../../../common/helm/helm-repo";
|
||||
import { requestFromChannelInjectionToken } from "@k8slens/messaging";
|
||||
import activeHelmRepositoriesInjectable from "../../active-helm-repositories.injectable";
|
||||
import showErrorNotificationInjectable from "../../../../../../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import showSuccessNotificationInjectable from "../../../../../../../renderer/components/notifications/show-success-notification.injectable";
|
||||
import { showErrorNotificationInjectable, showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
import { addHelmRepositoryChannel } from "../../../../../../../common/helm/add-helm-repository-channel";
|
||||
|
||||
const addHelmRepositoryInjectable = getInjectable({
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import helmBinaryPathInjectable from "../../main/helm/helm-binary-path.injectabl
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import type { Logger } from "@k8slens/logger";
|
||||
import requestPublicHelmRepositoriesInjectable from "./child-features/preferences/renderer/adding-of-public-helm-repository/public-helm-repositories/request-public-helm-repositories.injectable";
|
||||
import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { noop } from "@k8slens/utilities";
|
||||
|
||||
describe("listing active helm repositories in preferences", () => {
|
||||
|
||||
@@ -15,8 +15,7 @@ import type { RequestHelmReleaseUpdate } from "../../common/k8s-api/endpoints/he
|
||||
import requestHelmReleaseUpdateInjectable from "../../common/k8s-api/endpoints/helm-releases.api/request-update.injectable";
|
||||
import type { RequestDetailedHelmRelease } from "../../renderer/components/helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
import requestDetailedHelmReleaseInjectable from "../../renderer/components/helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
|
||||
import showCheckedErrorInjectable from "../../renderer/components/notifications/show-checked-error.injectable";
|
||||
import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import getRandomUpgradeChartTabIdInjectable from "../../renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable";
|
||||
import type { RequestHelmCharts } from "../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
@@ -67,7 +66,7 @@ describe("showing details for helm release", () => {
|
||||
builder.beforeWindowStart(({ windowDi }) => {
|
||||
windowDi.override(getRandomUpgradeChartTabIdInjectable, () => () => "some-tab-id");
|
||||
windowDi.override(showSuccessNotificationInjectable, () => showSuccessNotificationMock);
|
||||
windowDi.override(showCheckedErrorInjectable, () => showCheckedErrorNotificationMock);
|
||||
windowDi.override(showCheckedErrorNotificationInjectable, () => showCheckedErrorNotificationMock);
|
||||
windowDi.override(requestDetailedHelmReleaseInjectable, () => requestDetailedHelmReleaseMock);
|
||||
windowDi.override(requestHelmReleaseConfigurationInjectable, () => requestHelmReleaseConfigurationMock);
|
||||
windowDi.override(requestHelmReleaseUpdateInjectable, () => requestHelmReleaseUpdateMock);
|
||||
|
||||
@@ -25,7 +25,7 @@ import reloadLogsInjectable from "../../renderer/components/dock/logs/reload-log
|
||||
import setLogTabDataInjectable from "../../renderer/components/dock/logs/set-log-tab-data.injectable";
|
||||
import stopLoadingLogsInjectable from "../../renderer/components/dock/logs/stop-loading-logs.injectable";
|
||||
import { dockerPod } from "../../renderer/components/dock/logs/__test__/pod.mock";
|
||||
import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { DiContainer } from "@ogre-tools/injectable";
|
||||
import type { Container } from "@k8slens/kube-object";
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getMessageChannelListenerInjectable } from "@k8slens/messaging";
|
||||
import showErrorNotificationInjectable from "../../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { shellSyncFailedChannel } from "../common/failure-channel";
|
||||
|
||||
const shellSyncFailureListenerInjectable = getMessageChannelListenerInjectable({
|
||||
|
||||
@@ -31,6 +31,7 @@ import { messagingFeature, testUtils as messagingTestUtils } from "@k8slens/mess
|
||||
import { loggerFeature } from "@k8slens/logger";
|
||||
import { randomFeature } from "@k8slens/random";
|
||||
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
|
||||
import { notificationsFeature } from "@k8slens/notifications";
|
||||
|
||||
export function getDiForUnitTesting() {
|
||||
const environment = "main";
|
||||
@@ -48,6 +49,7 @@ export function getDiForUnitTesting() {
|
||||
loggerFeature,
|
||||
randomFeature,
|
||||
kubeApiSpecificsFeature,
|
||||
notificationsFeature,
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import { loadConfigFromString, splitConfig } from "../../../common/kube-helpers"
|
||||
import { docsUrl } from "../../../common/vars";
|
||||
import { isDefined, iter } from "@k8slens/utilities";
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { SettingLayout } from "../layout/setting-layout";
|
||||
import { MonacoEditor } from "../monaco-editor";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
@@ -27,8 +27,7 @@ import type { EmitAppEvent } from "../../../common/app-event-bus/emit-event.inje
|
||||
import emitAppEventInjectable from "../../../common/app-event-bus/emit-event.injectable";
|
||||
import type { GetDirnameOfPath } from "../../../common/path/get-dirname.injectable";
|
||||
import getDirnameOfPathInjectable from "../../../common/path/get-dirname.injectable";
|
||||
import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
interface Option {
|
||||
config: KubeConfig;
|
||||
|
||||
@@ -14,7 +14,7 @@ import type { CatalogEntityContextMenu } from "../../api/catalog-entity";
|
||||
import { ItemListLayout } from "../item-object-list";
|
||||
import { MainLayout } from "../layout/main-layout";
|
||||
import { MenuActions, MenuItem } from "../menu";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { RenderDelay } from "../render-delay/render-delay";
|
||||
import { CatalogAddButton } from "./catalog-add-button";
|
||||
import type { CatalogEntityStore } from "./catalog-entity-store.injectable";
|
||||
@@ -35,7 +35,7 @@ import normalizeCatalogEntityContextMenuInjectable from "../../catalog/normalize
|
||||
import type { Navigate } from "../../navigation/navigate.injectable";
|
||||
import navigateInjectable from "../../navigation/navigate.injectable";
|
||||
import type { StorageLayer } from "../../utils/storage-helper";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { browseCatalogTab } from "./catalog-browse-tab";
|
||||
import catalogEntityStoreInjectable from "./catalog-entity-store.injectable";
|
||||
import catalogPreviousActiveTabStorageInjectable from "./catalog-previous-active-tab-storage/catalog-previous-active-tab-storage.injectable";
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import { Cluster } from "../../../../common/cluster/cluster";
|
||||
import { getDiForUnitTesting } from "../../../getDiForUnitTesting";
|
||||
import type { DiRender } from "../../test-utils/renderFor";
|
||||
import { renderFor } from "../../test-utils/renderFor";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import statInjectable from "../../../../common/fs/stat.injectable";
|
||||
import loadKubeconfigInjectable from "../../../../common/cluster/load-kubeconfig.injectable";
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ import type { Cluster } from "../../../common/cluster/cluster";
|
||||
import { Avatar } from "../avatar";
|
||||
import { FilePicker, OverSizeLimitStyle } from "../file-picker";
|
||||
import { MenuActions, MenuItem } from "../menu";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { clusterIconSettingsComponentInjectionToken, clusterIconSettingsMenuInjectionToken } from "@k8slens/cluster-settings";
|
||||
import type { ClusterIconMenuItem, ClusterIconSettingsComponent } from "@k8slens/cluster-settings";
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ import { observer } from "mobx-react";
|
||||
import type { Cluster } from "../../../common/cluster/cluster";
|
||||
import { Input } from "../input";
|
||||
import { SubTitle } from "../layout/sub-title";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { ValidateDirectory } from "../../../common/fs/validate-directory.injectable";
|
||||
import validateDirectoryInjectable from "../../../common/fs/validate-directory.injectable";
|
||||
import type { ResolveTilde } from "../../../common/path/resolve-tilde.injectable";
|
||||
|
||||
@@ -9,7 +9,7 @@ import React from "react";
|
||||
import { autorun, makeObservable, observable } from "mobx";
|
||||
import { disposeOnUnmount, observer } from "mobx-react";
|
||||
import { DrawerTitle } from "../drawer";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||
import { ConfigMap } from "@k8slens/kube-object";
|
||||
@@ -17,8 +17,7 @@ import type { Logger } from "@k8slens/logger";
|
||||
import type { ConfigMapStore } from "./store";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import configMapStoreInjectable from "./store.injectable";
|
||||
import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import { MonacoEditor } from "../monaco-editor";
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import closeAddQuotaDialogInjectable from "./close.injectable";
|
||||
import isAddQuotaDialogOpenInjectable from "./is-open.injectable";
|
||||
import { resourceQuotaApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface AddQuotaDialogProps extends DialogProps {
|
||||
}
|
||||
|
||||
@@ -28,8 +28,8 @@ import closeAddSecretDialogInjectable from "./close.injectable";
|
||||
import { secretApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import showDetailsInjectable from "../../kube-detail-params/show-details.injectable";
|
||||
import isAddSecretDialogOpenInjectable from "./is-open.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface AddSecretDialogProps extends Partial<DialogProps> {
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import { disposeOnUnmount, observer } from "mobx-react";
|
||||
import { DrawerItem, DrawerTitle } from "../drawer";
|
||||
import { Input } from "../input";
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { base64, toggle } from "@k8slens/utilities";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||
@@ -21,9 +21,7 @@ import type { SecretStore } from "./store";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import secretStoreInjectable from "./store.injectable";
|
||||
import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
|
||||
import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface SecretDetailsProps extends KubeObjectDetailsProps<Secret> {
|
||||
}
|
||||
|
||||
@@ -16,10 +16,10 @@ import { Button } from "@k8slens/button";
|
||||
import type { DialogProps } from "../dialog";
|
||||
import { Dialog } from "../dialog";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import confirmDialogStateInjectable from "./state.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface ConfirmDialogProps extends Partial<DialogProps> {
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import { observer } from "mobx-react";
|
||||
import React from "react";
|
||||
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Dialog } from "../dialog";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import { Select } from "../select";
|
||||
@@ -26,7 +26,7 @@ import type { RequestDeleteCluster } from "../../../features/cluster/delete-dial
|
||||
import requestDeleteClusterInjectable from "../../../features/cluster/delete-dialog/renderer/request-delete.injectable";
|
||||
import type { SaveKubeconfig } from "./save-kubeconfig.injectable";
|
||||
import saveKubeconfigInjectable from "./save-kubeconfig.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { isCurrentContext } from "./is-current-context";
|
||||
import type { IsInLocalKubeconfig } from "./is-in-local-kubeconfig.injectable";
|
||||
import isInLocalKubeconfigInjectable from "./is-in-local-kubeconfig.injectable";
|
||||
|
||||
@@ -9,13 +9,13 @@ import React from "react";
|
||||
import type { DialogProps } from "../dialog";
|
||||
import { Dialog } from "../dialog";
|
||||
import { Wizard, WizardStep } from "../wizard";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Button } from "@k8slens/button";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import { clipboard } from "electron";
|
||||
import { kebabCase } from "lodash/fp";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
|
||||
import { showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface LogsDialogProps extends DialogProps {
|
||||
title: string;
|
||||
|
||||
@@ -13,7 +13,7 @@ import { observer } from "mobx-react";
|
||||
import type { CreateResourceTabStore } from "./store";
|
||||
import { EditorPanel } from "../editor-panel";
|
||||
import { InfoPanel } from "../info-panel";
|
||||
import type { ShowNotification } from "../../notifications";
|
||||
import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import type { Logger } from "@k8slens/logger";
|
||||
import type { ApiManager } from "../../../../common/k8s-api/api-manager";
|
||||
import { isObject, prevDefault } from "@k8slens/utilities";
|
||||
@@ -30,9 +30,7 @@ import navigateInjectable from "../../../navigation/navigate.injectable";
|
||||
import type { RequestKubeObjectCreation } from "../../../../common/k8s-api/endpoints/resource-applier.api/request-update.injectable";
|
||||
import requestKubeObjectCreationInjectable from "../../../../common/k8s-api/endpoints/resource-applier.api/request-update.injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showSuccessNotificationInjectable from "../../notifications/show-success-notification.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface CreateResourceProps {
|
||||
tabId: string;
|
||||
|
||||
+2
-3
@@ -15,10 +15,9 @@ import assert from "assert";
|
||||
import type { RequestPatchKubeResource } from "./request-patch-kube-resource.injectable";
|
||||
import requestPatchKubeResourceInjectable from "./request-patch-kube-resource.injectable";
|
||||
import { createPatch } from "rfc6902";
|
||||
import type { ShowNotification } from "../../../notifications";
|
||||
import showSuccessNotificationInjectable from "../../../notifications/show-success-notification.injectable";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import React from "react";
|
||||
import showErrorNotificationInjectable from "../../../notifications/show-error-notification.injectable";
|
||||
import { createKubeApiURL, parseKubeApi } from "@k8slens/kube-api";
|
||||
|
||||
const editResourceModelInjectable = getInjectable({
|
||||
|
||||
@@ -14,12 +14,10 @@ import { Button } from "@k8slens/button";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import { Spinner } from "../spinner";
|
||||
import type { DockStore, TabId } from "./dock/store";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import dockStoreInjectable from "./dock/store.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
|
||||
import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
|
||||
import { showSuccessNotificationInjectable, showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface InfoPanelProps extends OptionalProps {
|
||||
tabId: TabId;
|
||||
|
||||
@@ -7,7 +7,7 @@ import type { PodLogsQuery } from "@k8slens/kube-object";
|
||||
import type { ResourceDescriptor } from "@k8slens/kube-api";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import openSaveFileDialogInjectable from "../../../utils/save-file.injectable";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import callForLogsInjectable from "./call-for-logs.injectable";
|
||||
|
||||
const downloadAllLogsInjectable = getInjectable({
|
||||
|
||||
@@ -7,7 +7,7 @@ import { when } from "mobx";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import { TerminalChannels } from "../../../../common/terminal/channels";
|
||||
import { waitUntilDefined, noop } from "@k8slens/utilities";
|
||||
import showSuccessNotificationInjectable from "../../notifications/show-success-notification.injectable";
|
||||
import { showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
import selectDockTabInjectable from "../dock/select-dock-tab.injectable";
|
||||
import type { TabId } from "../dock/store";
|
||||
import createTerminalTabInjectable from "./create-terminal-tab.injectable";
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ import { withTimeout } from "../../../common/fetch/timeout-controller";
|
||||
import downloadBinaryInjectable from "../../../common/fetch/download-binary.injectable";
|
||||
import downloadJsonInjectable from "../../../common/fetch/download-json/normal.injectable";
|
||||
import type { PackageJson } from "type-fest";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
|
||||
export interface ExtensionInfo {
|
||||
|
||||
+2
-3
@@ -14,7 +14,7 @@ import createTempFilesAndValidateInjectable from "./create-temp-files-and-valida
|
||||
import extensionInstallationStateStoreInjectable from "../../../../extensions/extension-installation-state-store/extension-installation-state-store.injectable";
|
||||
import type { Disposer } from "@k8slens/utilities";
|
||||
import { disposer } from "@k8slens/utilities";
|
||||
import type { ShowNotification } from "../../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { ExtensionLoader } from "../../../../extensions/extension-loader";
|
||||
import React from "react";
|
||||
@@ -22,8 +22,7 @@ import { remove as removeDir } from "fs-extra";
|
||||
import { shell } from "electron";
|
||||
import type { ExtensionInstallationStateStore } from "../../../../extensions/extension-installation-state-store/extension-installation-state-store";
|
||||
import { ExtensionInstallationState } from "../../../../extensions/extension-installation-state-store/extension-installation-state-store";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import showInfoNotificationInjectable from "../../notifications/show-info-notification.injectable";
|
||||
import { showErrorNotificationInjectable, showInfoNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { LensExtensionId } from "@k8slens/legacy-extensions";
|
||||
|
||||
export interface InstallRequest {
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import writeFileInjectable from "../../../../common/fs/write-file.injectable";
|
||||
import joinPathsInjectable from "../../../../common/path/join-paths.injectable";
|
||||
import tempDirectoryPathInjectable from "../../../../common/os/temp-directory-path.injectable";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { LensExtensionId, LensExtensionManifest } from "@k8slens/legacy-extensions";
|
||||
|
||||
export interface InstallRequestValidated {
|
||||
|
||||
+1
-2
@@ -17,8 +17,7 @@ import React from "react";
|
||||
import type { InstallRequestValidated } from "./create-temp-files-and-validate.injectable";
|
||||
import extractTarInjectable from "../../../../common/fs/extract-tar.injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import showInfoNotificationInjectable from "../../notifications/show-info-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import { showInfoNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export type UnpackExtension = (request: InstallRequestValidated, disposeDownloading?: Disposer) => Promise<void>;
|
||||
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import execFileInjectable from "../../../../common/fs/exec-file.injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import { defaultExtensionRegistryUrl } from "../../../../features/user-preferences/common/preferences-helpers";
|
||||
import userPreferencesStateInjectable from "../../../../features/user-preferences/common/state.injectable";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
const getBaseRegistryUrlInjectable = getInjectable({
|
||||
id: "get-base-registry-url",
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import attemptInstallByInfoInjectable from "./attempt-install-by-info.injectable
|
||||
import extensionInstallationStateStoreInjectable from "../../../extensions/extension-installation-state-store/extension-installation-state-store.injectable";
|
||||
import readFileNotifyInjectable from "./read-file-notify/read-file-notify.injectable";
|
||||
import getBasenameOfPathInjectable from "../../../common/path/get-basename.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import downloadBinaryInjectable from "../../../common/fetch/download-binary.injectable";
|
||||
import { withTimeout } from "../../../common/fetch/timeout-controller";
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
import { getMessageFromError } from "../get-message-from-error/get-message-from-error";
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import readFileBufferInjectable from "../../../../common/fs/read-file-buffer.injectable";
|
||||
|
||||
|
||||
@@ -12,8 +12,7 @@ import { extensionDisplayName } from "../../../extensions/lens-extension";
|
||||
import React from "react";
|
||||
import { when } from "mobx";
|
||||
import { getMessageFromError } from "./get-message-from-error/get-message-from-error";
|
||||
import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showSuccessNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
const uninstallExtensionInjectable = getInjectable({
|
||||
id: "uninstall-extension",
|
||||
|
||||
@@ -21,8 +21,8 @@ import type { RollbackRelease } from "../rollback-release/rollback-release.injec
|
||||
import rollbackReleaseInjectable from "../rollback-release/rollback-release.injectable";
|
||||
import type { HelmReleaseRevision, RequestHelmReleaseHistory } from "../../../../common/k8s-api/endpoints/helm-releases.api/request-history.injectable";
|
||||
import requestHelmReleaseHistoryInjectable from "../../../../common/k8s-api/endpoints/helm-releases.api/request-history.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface ReleaseRollbackDialogProps extends DialogProps {
|
||||
}
|
||||
|
||||
+2
-4
@@ -18,10 +18,8 @@ import type { GetResourceDetailsUrl } from "./get-resource-details-url.injectabl
|
||||
import getResourceDetailsUrlInjectable from "./get-resource-details-url.injectable";
|
||||
import type { RequestHelmReleaseUpdate } from "../../../../../common/k8s-api/endpoints/helm-releases.api/request-update.injectable";
|
||||
import updateReleaseInjectable from "../../update-release/update-release.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
|
||||
import type { ShowNotification } from "../../../notifications";
|
||||
import showSuccessNotificationInjectable from "../../../notifications/show-success-notification.injectable";
|
||||
import type { ShowCheckedErrorNotification, ShowNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable, showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
import React from "react";
|
||||
import createUpgradeChartTabInjectable from "../../../dock/upgrade-chart/create-upgrade-chart-tab.injectable";
|
||||
import type { HelmRelease } from "../../../../../common/k8s-api/endpoints/helm-releases.api";
|
||||
|
||||
@@ -13,12 +13,12 @@ import { Button } from "@k8slens/button";
|
||||
import type { DialogProps } from "../dialog";
|
||||
import { Dialog } from "../dialog";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Wizard, WizardStep } from "../wizard";
|
||||
import { MonacoEditor } from "../monaco-editor";
|
||||
import { clipboard } from "electron";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import showSuccessNotificationInjectable from "../notifications/show-success-notification.injectable";
|
||||
import { showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
import kubeconfigDialogStateInjectable from "./state.injectable";
|
||||
import { saveFileDialog } from "../../utils/saveFile";
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import kubeconfigDialogStateInjectable from "./state.injectable";
|
||||
import type { StrictReactNode } from "@k8slens/utilities";
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@ import namespaceStoreInjectable from "../store.injectable";
|
||||
import addNamespaceDialogStateInjectable
|
||||
from "./state.injectable";
|
||||
import type { NamespaceStore } from "../store";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import autoBindReact from "auto-bind/react";
|
||||
|
||||
export interface AddNamespaceDialogProps extends DialogProps {
|
||||
|
||||
@@ -10,13 +10,13 @@ import type { MenuActionsProps } from "../menu/menu-actions";
|
||||
import { MenuActions } from "../menu/menu-actions";
|
||||
import { MenuItem } from "../menu";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import portForwardDialogModelInjectable from "../../port-forward/port-forward-dialog-model/port-forward-dialog-model.injectable";
|
||||
import portForwardStoreInjectable from "../../port-forward/port-forward-store/port-forward-store.injectable";
|
||||
import type { OpenPortForward } from "../../port-forward/open-port-forward.injectable";
|
||||
import openPortForwardInjectable from "../../port-forward/open-port-forward.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import autoBindReact from "auto-bind/react";
|
||||
|
||||
export interface PortForwardMenuProps extends MenuActionsProps {
|
||||
|
||||
@@ -10,7 +10,7 @@ import { disposeOnUnmount, observer } from "mobx-react";
|
||||
import type { Service, ServicePort } from "@k8slens/kube-object";
|
||||
import { action, makeObservable, observable, reaction } from "mobx";
|
||||
import { cssNames } from "@k8slens/utilities";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { ForwardedPort, PortForwardStore } from "../../port-forward";
|
||||
import { predictProtocol } from "../../port-forward";
|
||||
@@ -24,7 +24,7 @@ import notifyErrorPortForwardingInjectable from "../../port-forward/notify-error
|
||||
import type { OpenPortForward } from "../../port-forward/open-port-forward.injectable";
|
||||
import openPortForwardInjectable from "../../port-forward/open-port-forward.injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface ServicePortComponentProps {
|
||||
service: Service;
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
export * from "./notifications";
|
||||
export * from "./notifications.store";
|
||||
-22
@@ -1,22 +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 { computed } from "mobx";
|
||||
import { Notifications } from "./notifications";
|
||||
import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
|
||||
|
||||
const notificationsClusterFrameChildComponentInjectable = getInjectable({
|
||||
id: "notifications-cluster-frame-child-component",
|
||||
|
||||
instantiate: () => ({
|
||||
id: "notifications",
|
||||
shouldRender: computed(() => true),
|
||||
Component: Notifications,
|
||||
}),
|
||||
|
||||
injectionToken: clusterFrameChildComponentInjectionToken,
|
||||
});
|
||||
|
||||
export default notificationsClusterFrameChildComponentInjectable;
|
||||
-22
@@ -1,22 +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 { rootFrameChildComponentInjectionToken } from "@k8slens/react-application";
|
||||
import { computed } from "mobx";
|
||||
import { Notifications } from "./notifications";
|
||||
|
||||
const notificationsRootFrameChildComponentInjectable = getInjectable({
|
||||
id: "notifications-root-frame-child-component",
|
||||
|
||||
instantiate: () => ({
|
||||
id: "notifications",
|
||||
shouldRender: computed(() => true),
|
||||
Component: Notifications,
|
||||
}),
|
||||
|
||||
injectionToken: rootFrameChildComponentInjectionToken,
|
||||
});
|
||||
|
||||
export default notificationsRootFrameChildComponentInjectable;
|
||||
@@ -1,13 +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 { NotificationsStore } from "./notifications.store";
|
||||
|
||||
const notificationsStoreInjectable = getInjectable({
|
||||
id: "notifications-store",
|
||||
instantiate: () => new NotificationsStore(),
|
||||
});
|
||||
|
||||
export default notificationsStoreInjectable;
|
||||
@@ -1,52 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
.Notifications {
|
||||
@include hidden-scrollbar;
|
||||
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
padding: $padding * 2;
|
||||
max-height: 100vh;
|
||||
z-index: 100000;
|
||||
height: min-content!important;
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.notification {
|
||||
flex: 0 0;
|
||||
padding: $padding * 1.5;
|
||||
border-radius: 3px;
|
||||
min-width: 350px;
|
||||
max-width: 35vw;
|
||||
word-break: break-word;
|
||||
|
||||
&:not(:last-child) {
|
||||
margin-bottom: $margin * 2;
|
||||
}
|
||||
|
||||
> .message {
|
||||
white-space: pre-line;
|
||||
padding-left: $padding;
|
||||
padding-right: $padding * 2;
|
||||
align-self: center;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
@each $status, $color in (ok: var(--colorOk), error: var(--colorError), info: var(--colorInfo)) {
|
||||
&.#{$status} {
|
||||
background: $color;
|
||||
color: $color-white;
|
||||
box-shadow: 0 0 20px var(--boxShadow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import type React from "react";
|
||||
import { action, observable, makeObservable } from "mobx";
|
||||
import uniqueId from "lodash/uniqueId";
|
||||
import type { JsonApiErrorParsed } from "@k8slens/json-api";
|
||||
import type { SetRequired } from "type-fest";
|
||||
import autoBind from "auto-bind";
|
||||
|
||||
export type NotificationId = string | number;
|
||||
export type NotificationMessage = string | React.ReactElement | React.ReactElement[] | JsonApiErrorParsed | Error;
|
||||
|
||||
export enum NotificationStatus {
|
||||
OK = "ok",
|
||||
ERROR = "error",
|
||||
INFO = "info",
|
||||
}
|
||||
|
||||
export interface CreateNotificationOptions {
|
||||
id?: NotificationId;
|
||||
timeout?: number;
|
||||
onClose?(): void;
|
||||
}
|
||||
|
||||
export interface Notification {
|
||||
id?: NotificationId;
|
||||
message: NotificationMessage;
|
||||
status?: NotificationStatus;
|
||||
timeout?: number; // auto-hiding timeout in milliseconds, 0 = no hide
|
||||
onClose?(): void; // additional logic on when the notification times out or is closed by the "x"
|
||||
}
|
||||
|
||||
export class NotificationsStore {
|
||||
public notifications = observable.array<SetRequired<Notification, "id">>([], { deep: false });
|
||||
|
||||
protected autoHideTimers = new Map<NotificationId, number>();
|
||||
|
||||
constructor() {
|
||||
makeObservable(this);
|
||||
autoBind(this);
|
||||
}
|
||||
|
||||
getById(id: NotificationId) {
|
||||
return this.notifications.find(item => item.id === id);
|
||||
}
|
||||
|
||||
addAutoHideTimer(id: NotificationId) {
|
||||
const notification = this.getById(id);
|
||||
|
||||
if (!notification) return;
|
||||
this.removeAutoHideTimer(id);
|
||||
|
||||
if (notification?.timeout) {
|
||||
const timer = window.setTimeout(() => this.remove(id), notification.timeout);
|
||||
|
||||
this.autoHideTimers.set(id, timer);
|
||||
}
|
||||
}
|
||||
|
||||
removeAutoHideTimer(id: NotificationId) {
|
||||
if (this.autoHideTimers.has(id)) {
|
||||
clearTimeout(this.autoHideTimers.get(id));
|
||||
this.autoHideTimers.delete(id);
|
||||
}
|
||||
}
|
||||
|
||||
@action
|
||||
add(rawNotification: Notification): () => void {
|
||||
const notification = {
|
||||
id: uniqueId("notification_"),
|
||||
...rawNotification,
|
||||
};
|
||||
const id = notification.id;
|
||||
const index = this.notifications.findIndex(item => item.id === id);
|
||||
|
||||
if (index > -1) {
|
||||
this.notifications.splice(index, 1, notification); // update existing with same id
|
||||
} else {
|
||||
this.notifications.push(notification); // add new
|
||||
}
|
||||
this.addAutoHideTimer(id);
|
||||
|
||||
return () => this.remove(id);
|
||||
}
|
||||
|
||||
@action
|
||||
remove(id: NotificationId) {
|
||||
this.removeAutoHideTimer(id);
|
||||
|
||||
const notification = this.getById(id);
|
||||
|
||||
if (notification) {
|
||||
this.notifications.remove(notification);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import "./notifications.scss";
|
||||
|
||||
import React from "react";
|
||||
import { reaction } from "mobx";
|
||||
import { disposeOnUnmount, observer } from "mobx-react";
|
||||
import { JsonApiErrorParsed } from "@k8slens/json-api";
|
||||
import type { Disposer } from "@k8slens/utilities";
|
||||
import { cssNames, prevDefault } from "@k8slens/utilities";
|
||||
import type { CreateNotificationOptions, Notification, NotificationMessage, NotificationsStore } from "./notifications.store";
|
||||
import { Animate } from "@k8slens/animate";
|
||||
import { Icon } from "@k8slens/icon";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import notificationsStoreInjectable from "./notifications-store.injectable";
|
||||
|
||||
export type ShowNotification = (message: NotificationMessage, opts?: CreateNotificationOptions) => Disposer;
|
||||
|
||||
interface Dependencies {
|
||||
store: NotificationsStore;
|
||||
}
|
||||
|
||||
@observer
|
||||
class NonInjectedNotifications extends React.Component<Dependencies> {
|
||||
public elem: HTMLDivElement | null = null;
|
||||
|
||||
componentDidMount() {
|
||||
disposeOnUnmount(this, [
|
||||
reaction(() => this.props.store.notifications.length, () => {
|
||||
this.scrollToLastNotification();
|
||||
}, { delay: 250 }),
|
||||
]);
|
||||
}
|
||||
|
||||
scrollToLastNotification() {
|
||||
if (!this.elem) {
|
||||
return;
|
||||
}
|
||||
this.elem.scrollTo?.({
|
||||
top: this.elem.scrollHeight,
|
||||
behavior: "smooth",
|
||||
});
|
||||
}
|
||||
|
||||
getMessage(notification: Notification) {
|
||||
let { message } = notification;
|
||||
|
||||
if (message instanceof JsonApiErrorParsed || message instanceof Error) {
|
||||
message = message.toString();
|
||||
}
|
||||
|
||||
return React.Children.toArray(message);
|
||||
}
|
||||
|
||||
render() {
|
||||
const { notifications, remove, addAutoHideTimer, removeAutoHideTimer } = this.props.store;
|
||||
|
||||
return (
|
||||
<div className="Notifications flex column align-flex-end" ref={e => this.elem = e}>
|
||||
{notifications.map(notification => {
|
||||
const { id, status, onClose } = notification;
|
||||
const msgText = this.getMessage(notification);
|
||||
|
||||
return (
|
||||
<Animate key={id}>
|
||||
<div
|
||||
className={cssNames("notification flex", status)}
|
||||
onMouseLeave={() => addAutoHideTimer(id)}
|
||||
onMouseEnter={() => removeAutoHideTimer(id)}
|
||||
>
|
||||
<div className="box">
|
||||
<Icon material="info_outline" />
|
||||
</div>
|
||||
<div className="message box grow">{msgText}</div>
|
||||
<div className="box">
|
||||
<Icon
|
||||
material="close"
|
||||
className="close"
|
||||
data-testid={`close-notification-for-${id}`}
|
||||
onClick={prevDefault(() => {
|
||||
remove(id);
|
||||
onClose?.();
|
||||
})}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</Animate>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export const Notifications = withInjectables<Dependencies>(NonInjectedNotifications, {
|
||||
getProps: (di) => ({
|
||||
store: di.inject(notificationsStoreInjectable),
|
||||
}),
|
||||
});
|
||||
@@ -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 { JsonApiErrorParsed } from "@k8slens/json-api";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import type { Disposer } from "@k8slens/utilities";
|
||||
import type { CreateNotificationOptions } from "./notifications.store";
|
||||
import showErrorNotificationInjectable from "./show-error-notification.injectable";
|
||||
|
||||
export type ShowCheckedErrorNotification = (message: unknown, fallback: string, opts?: CreateNotificationOptions) => Disposer;
|
||||
|
||||
const showCheckedErrorNotificationInjectable = getInjectable({
|
||||
id: "show-checked-error-notififcation",
|
||||
instantiate: (di): ShowCheckedErrorNotification => {
|
||||
const showErrorNotification = di.inject(showErrorNotificationInjectable);
|
||||
const logger = di.inject(loggerInjectionToken);
|
||||
|
||||
return (message, fallback, opts) => {
|
||||
if (typeof message === "string" || message instanceof Error || message instanceof JsonApiErrorParsed) {
|
||||
return showErrorNotification(message, opts);
|
||||
}
|
||||
|
||||
logger.warn("[NOTIFICATIONS]: Unknown notification error message, falling back to default", message);
|
||||
|
||||
return showErrorNotification(fallback, opts);
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export default showCheckedErrorNotificationInjectable;
|
||||
-25
@@ -1,25 +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 type { ShowNotification } from "./notifications";
|
||||
import { NotificationStatus } from "./notifications.store";
|
||||
import notificationsStoreInjectable from "./notifications-store.injectable";
|
||||
|
||||
const showErrorNotificationInjectable = getInjectable({
|
||||
id: "show-error-notification",
|
||||
|
||||
instantiate: (di): ShowNotification => {
|
||||
const notificationsStore = di.inject(notificationsStoreInjectable);
|
||||
|
||||
return (message, customOpts = {}) =>
|
||||
notificationsStore.add({
|
||||
status: NotificationStatus.ERROR,
|
||||
message,
|
||||
...customOpts,
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default showErrorNotificationInjectable;
|
||||
-25
@@ -1,25 +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 type { ShowNotification } from "./notifications";
|
||||
import { NotificationStatus } from "./notifications.store";
|
||||
import notificationsStoreInjectable from "./notifications-store.injectable";
|
||||
|
||||
const showInfoNotificationInjectable = getInjectable({
|
||||
id: "show-info-notification",
|
||||
|
||||
instantiate: (di): ShowNotification => {
|
||||
const notificationsStore = di.inject(notificationsStoreInjectable);
|
||||
|
||||
return (message, customOpts = {}) =>
|
||||
notificationsStore.add({
|
||||
status: NotificationStatus.INFO,
|
||||
message,
|
||||
...customOpts,
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default showInfoNotificationInjectable;
|
||||
@@ -1,24 +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 type { ShowNotification } from "./notifications";
|
||||
import showInfoNotificationInjectable from "./show-info-notification.injectable";
|
||||
|
||||
const showShortInfoNotificationInjectable = getInjectable({
|
||||
id: "show-short-info-notification",
|
||||
instantiate: (di): ShowNotification => {
|
||||
const showInfoNotification = di.inject(showInfoNotificationInjectable);
|
||||
|
||||
return (message, customOpts = {}) => {
|
||||
return showInfoNotification(message, {
|
||||
timeout: 5_000,
|
||||
...customOpts,
|
||||
});
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export default showShortInfoNotificationInjectable;
|
||||
-26
@@ -1,26 +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 type { ShowNotification } from "./notifications";
|
||||
import { NotificationStatus } from "./notifications.store";
|
||||
import notificationsStoreInjectable from "./notifications-store.injectable";
|
||||
|
||||
const showSuccessNotificationInjectable = getInjectable({
|
||||
id: "show-success-notification",
|
||||
|
||||
instantiate: (di): ShowNotification => {
|
||||
const notificationsStore = di.inject(notificationsStoreInjectable);
|
||||
|
||||
return (message, customOpts = {}) =>
|
||||
notificationsStore.add({
|
||||
status: NotificationStatus.OK,
|
||||
timeout: 5000,
|
||||
message,
|
||||
...customOpts,
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default showSuccessNotificationInjectable;
|
||||
+2
-2
@@ -37,8 +37,8 @@ import type { ShowDetails } from "../../../kube-detail-params/show-details.injec
|
||||
import type { ClusterRoleBindingStore } from "../store";
|
||||
import clusterRoleBindingStoreInjectable from "../store.injectable";
|
||||
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface ClusterRoleBindingDialogProps extends Partial<DialogProps> {
|
||||
}
|
||||
|
||||
+2
-2
@@ -20,8 +20,8 @@ import closeAddClusterRoleDialogInjectable from "./close.injectable";
|
||||
import clusterRoleStoreInjectable from "../store.injectable";
|
||||
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
|
||||
import addClusterRoleDialogStateInjectable from "./state.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface AddClusterRoleDialogProps extends Partial<DialogProps> {
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ import clusterRoleStoreInjectable from "../../cluster-roles/store.injectable";
|
||||
import roleStoreInjectable from "../../roles/store.injectable";
|
||||
import serviceAccountStoreInjectable from "../../service-accounts/store.injectable";
|
||||
import { roleApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { RoleApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface RoleBindingDialogProps extends Partial<DialogProps> {
|
||||
|
||||
@@ -22,8 +22,8 @@ import closeAddRoleDialogInjectable from "./close.injectable";
|
||||
import roleStoreInjectable from "../store.injectable";
|
||||
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
|
||||
import addRoleDialogStateInjectable from "./state.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface AddRoleDialogProps extends Partial<DialogProps> {
|
||||
}
|
||||
|
||||
+2
-2
@@ -23,8 +23,8 @@ import closeCreateServiceAccountDialogInjectable from "./close.injectable";
|
||||
import serviceAccountStoreInjectable from "../store.injectable";
|
||||
import showDetailsInjectable from "../../../kube-detail-params/show-details.injectable";
|
||||
import createServiceAccountDialogStateInjectable from "./state.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface CreateServiceAccountDialogProps extends Partial<DialogProps> {
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
|
||||
import type { OpenCronJobTriggerDialog } from "./trigger-dialog/open.injectable";
|
||||
import openCronJobTriggerDialogInjectable from "./trigger-dialog/open.injectable";
|
||||
import { cronJobApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { CronJobApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface CronJobMenuProps extends KubeObjectMenuProps<CronJob> {}
|
||||
|
||||
@@ -13,7 +13,7 @@ import type { DialogProps } from "../../dialog";
|
||||
import { Dialog } from "../../dialog";
|
||||
import { Wizard, WizardStep } from "../../wizard";
|
||||
import type { CronJob } from "@k8slens/kube-object";
|
||||
import type { ShowNotification } from "../../notifications";
|
||||
import type { ShowNotification, ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { cssNames } from "@k8slens/utilities";
|
||||
import { Input } from "../../input";
|
||||
import { systemName, maxLength } from "../../input/input_validators";
|
||||
@@ -21,9 +21,7 @@ import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import closeCronJobTriggerDialogInjectable from "./close.injectable";
|
||||
import { jobApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import cronJobTriggerDialogStateInjectable from "./state.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import showErrorNotificationInjectable from "../../notifications/show-error-notification.injectable";
|
||||
import { showCheckedErrorNotificationInjectable, showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { JobApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface CronJobTriggerDialogProps extends Partial<DialogProps> {
|
||||
|
||||
@@ -11,8 +11,8 @@ import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import { daemonSetApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
|
||||
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { DaemonSetApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface DaemonSetMenuProps extends KubeObjectMenuProps<DaemonSet> {}
|
||||
|
||||
@@ -13,8 +13,8 @@ import { deploymentApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import openDeploymentScaleDialogInjectable from "./scale/open.injectable";
|
||||
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
|
||||
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { DeploymentApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface DeploymentMenuProps extends KubeObjectMenuProps<Deployment> {}
|
||||
|
||||
@@ -19,8 +19,8 @@ import { cssNames } from "@k8slens/utilities";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import { deploymentApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import deploymentScaleDialogStateInjectable from "./dialog-state.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { DeploymentApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface DeploymentScaleDialogProps extends Partial<DialogProps> {
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import podStoreInjectable from "./store.injectable";
|
||||
|
||||
const loadPodsFromAllNamespacesInjectable = getInjectable({
|
||||
|
||||
@@ -10,7 +10,7 @@ import { disposeOnUnmount, observer } from "mobx-react";
|
||||
import type { ContainerPort, Pod } from "@k8slens/kube-object";
|
||||
import { action, makeObservable, observable, reaction } from "mobx";
|
||||
import { cssNames } from "@k8slens/utilities";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { ForwardedPort, PortForwardStore } from "../../port-forward";
|
||||
import { predictProtocol } from "../../port-forward";
|
||||
@@ -24,7 +24,7 @@ import notifyErrorPortForwardingInjectable from "../../port-forward/notify-error
|
||||
import type { OpenPortForward } from "../../port-forward/open-port-forward.injectable";
|
||||
import openPortForwardInjectable from "../../port-forward/open-port-forward.injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
export interface PodContainerPortProps {
|
||||
pod: Pod;
|
||||
|
||||
@@ -19,8 +19,8 @@ import type { ReplicaSet } from "@k8slens/kube-object";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import { replicaSetApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import replicaSetScaleDialogStateInjectable from "./state.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { ReplicaSetApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface ReplicaSetScaleDialogProps extends Partial<DialogProps> {
|
||||
|
||||
+2
-2
@@ -13,8 +13,8 @@ import { Badge } from "../badge";
|
||||
import type { KubeObjectDetailsProps } from "../kube-object-details";
|
||||
import type { ReplicationController } from "@k8slens/kube-object";
|
||||
import { replicationControllerApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import showErrorNotificationInjectable from "../notifications/show-error-notification.injectable";
|
||||
import type { ShowNotification } from "../notifications";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { Slider } from "../slider";
|
||||
import type { ReplicationControllerApi } from "@k8slens/kube-api";
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@ import { cssNames } from "@k8slens/utilities";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import { statefulSetApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import statefulSetDialogStateInjectable from "./dialog-state.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { StatefulSetApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface StatefulSetScaleDialogProps extends Partial<DialogProps> {
|
||||
|
||||
@@ -11,8 +11,8 @@ import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import { statefulSetApiInjectable } from "@k8slens/kube-api-specifics";
|
||||
import type { OpenConfirmDialog } from "../confirm-dialog/open.injectable";
|
||||
import openConfirmDialogInjectable from "../confirm-dialog/open.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "../notifications/show-checked-error.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../notifications/show-checked-error.injectable";
|
||||
import type { ShowCheckedErrorNotification } from "@k8slens/notifications";
|
||||
import { showCheckedErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { StatefulSetApi } from "@k8slens/kube-api";
|
||||
|
||||
export interface StatefulSetMenuProps extends KubeObjectMenuProps<StatefulSet> {}
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import assert from "assert";
|
||||
import emitAppEventInjectable from "../../../../common/app-event-bus/emit-event.injectable";
|
||||
import loadExtensionsInjectable from "../../load-extensions.injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import showErrorNotificationInjectable from "../../../components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
const initClusterFrameInjectable = getInjectable({
|
||||
id: "init-cluster-frame",
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
import type { Cluster } from "../../../../common/cluster/cluster";
|
||||
import type { CatalogEntityRegistry } from "../../../api/catalog/entity/registry";
|
||||
import type { ShowNotification } from "../../../components/notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import { when } from "mobx";
|
||||
import { requestSetClusterFrameId } from "../../../ipc";
|
||||
import type { EmitAppEvent } from "../../../../common/app-event-bus/emit-event.injectable";
|
||||
|
||||
@@ -24,6 +24,7 @@ import { loggerFeature } from "@k8slens/logger";
|
||||
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
|
||||
import { randomFeature } from "@k8slens/random";
|
||||
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
|
||||
import { notificationsFeature } from "@k8slens/notifications";
|
||||
|
||||
export const getDiForUnitTesting = () => {
|
||||
const environment = "renderer";
|
||||
@@ -45,6 +46,7 @@ export const getDiForUnitTesting = () => {
|
||||
clusterSidebarFeature,
|
||||
randomFeature,
|
||||
kubeApiSpecificsFeature,
|
||||
notificationsFeature,
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
||||
import React from "react";
|
||||
import navigateToKubernetesPreferencesInjectable from "../../features/preferences/common/navigate-to-kubernetes-preferences.injectable";
|
||||
import { runInAction } from "mobx";
|
||||
import showSuccessNotificationInjectable from "../components/notifications/show-success-notification.injectable";
|
||||
import { showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
import userPreferencesStateInjectable from "../../features/user-preferences/common/state.injectable";
|
||||
|
||||
const addSyncEntriesInjectable = getInjectable({
|
||||
|
||||
@@ -8,9 +8,8 @@ import type { ListNamespaceForbiddenArgs } from "../../common/ipc/cluster";
|
||||
import { Button } from "@k8slens/button";
|
||||
import type { IpcRendererEvent } from "electron";
|
||||
import React from "react";
|
||||
import notificationsStoreInjectable from "../components/notifications/notifications-store.injectable";
|
||||
import { notificationsStoreInjectable, showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
import { getMillisecondsFromUnixEpoch } from "../../common/utils/date/get-current-date-time";
|
||||
import showSuccessNotificationInjectable from "../components/notifications/show-success-notification.injectable";
|
||||
import getClusterByIdInjectable from "../../features/cluster/storage/common/get-by-id.injectable";
|
||||
|
||||
const intervalBetweenNotifications = 1000 * 60; // 60s
|
||||
|
||||
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { defaultHotbarCells } from "../../features/hotbar/storage/common/types";
|
||||
import { clusterListNamespaceForbiddenChannel } from "../../common/ipc/cluster";
|
||||
import { hotbarTooManyItemsChannel } from "../../common/ipc/hotbar";
|
||||
import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import ipcRendererInjectable from "../utils/channel/ipc-renderer.injectable";
|
||||
import listNamespacesForbiddenHandlerInjectable from "./list-namespaces-forbidden-handler.injectable";
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { apiKubeInjectionToken } from "@k8slens/kube-api";
|
||||
import { storesAndApisCanBeCreatedInjectionToken } from "@k8slens/kube-api-specifics";
|
||||
import createKubeJsonApiInjectable from "../../common/k8s-api/create-kube-json-api.injectable";
|
||||
import isDevelopmentInjectable from "../../common/vars/is-development.injectable";
|
||||
import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import windowLocationInjectable from "../../common/k8s-api/window-location.injectable";
|
||||
import { apiBaseServerAddressInjectionToken } from "../../common/k8s-api/api-base-configs";
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
||||
import React from "react";
|
||||
import navigateToPortForwardsInjectable from "../../common/front-end-routing/routes/cluster/network/port-forwards/navigate-to-port-forwards.injectable";
|
||||
import { Button } from "@k8slens/button";
|
||||
import showSuccessNotificationInjectable from "../components/notifications/show-success-notification.injectable";
|
||||
import { showSuccessNotificationInjectable } from "@k8slens/notifications";
|
||||
|
||||
const aboutPortForwardingInjectable = getInjectable({
|
||||
id: "about-port-forwarding",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import navigateToPortForwardsInjectable from "../../common/front-end-routing/routes/cluster/network/port-forwards/navigate-to-port-forwards.injectable";
|
||||
import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import React from "react";
|
||||
import { Button } from "@k8slens/button";
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import openLinkInBrowserInjectable from "../../common/utils/open-link-in-browser.injectable";
|
||||
import showErrorNotificationInjectable from "../components/notifications/show-error-notification.injectable";
|
||||
import { showErrorNotificationInjectable } from "@k8slens/notifications";
|
||||
import type { ForwardedPort } from "./port-forward-item";
|
||||
import { portForwardAddress } from "./port-forward-utils";
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ import navigateToEntitySettingsInjectable from "../../../common/front-end-routin
|
||||
import navigateToClusterViewInjectable from "../../../common/front-end-routing/routes/cluster-view/navigate-to-cluster-view.injectable";
|
||||
import catalogEntityRegistryInjectable from "../../api/catalog/entity/registry.injectable";
|
||||
import navigateToPreferencesInjectable from "../../../features/preferences/common/navigate-to-preferences.injectable";
|
||||
import showShortInfoNotificationInjectable from "../../components/notifications/show-short-info.injectable";
|
||||
import { showShortInfoNotificationInjectable } from "@k8slens/notifications";
|
||||
import getClusterByIdInjectable from "../../../features/cluster/storage/common/get-by-id.injectable";
|
||||
|
||||
const bindProtocolAddRouteHandlersInjectable = getInjectable({
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import {
|
||||
EXTENSION_PUBLISHER_MATCH,
|
||||
LensProtocolRouter,
|
||||
} from "../../../common/protocol-handler";
|
||||
import type { ShowNotification } from "../../components/notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
import type { NavigateToCatalog } from "../../../common/front-end-routing/routes/catalog/navigate-to-catalog.injectable";
|
||||
import type { NavigateToEntitySettings } from "../../../common/front-end-routing/routes/entity-settings/navigate-to-entity-settings.injectable";
|
||||
import type { NavigateToClusterView } from "../../../common/front-end-routing/routes/cluster-view/navigate-to-cluster-view.injectable";
|
||||
|
||||
+1
-2
@@ -6,8 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
||||
import extensionLoaderInjectable from "../../../extensions/extension-loader/extension-loader.injectable";
|
||||
import { LensProtocolRouterRenderer } from "./lens-protocol-router-renderer";
|
||||
import { loggerInjectionToken } from "@k8slens/logger";
|
||||
import showErrorNotificationInjectable from "../../components/notifications/show-error-notification.injectable";
|
||||
import showShortInfoNotificationInjectable from "../../components/notifications/show-short-info.injectable";
|
||||
import { showErrorNotificationInjectable, showShortInfoNotificationInjectable } from "@k8slens/notifications";
|
||||
import isExtensionEnabledInjectable from "../../../features/extensions/enabled/common/is-enabled.injectable";
|
||||
|
||||
const lensProtocolRouterRendererInjectable = getInjectable({
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import * as proto from "../../../common/protocol-handler";
|
||||
import Url from "url-parse";
|
||||
import type { LensProtocolRouterDependencies } from "../../../common/protocol-handler";
|
||||
import { foldAttemptResults, ProtocolHandlerInvalid, RouteAttempt } from "../../../common/protocol-handler";
|
||||
import type { ShowNotification } from "../../components/notifications";
|
||||
import type { ShowNotification } from "@k8slens/notifications";
|
||||
|
||||
interface Dependencies extends LensProtocolRouterDependencies {
|
||||
showShortInfoNotification: ShowNotification;
|
||||
|
||||
Reference in new issue
Block a user