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:
parent
f602ce8f46
commit
8b69c12ed4
@ -15,6 +15,7 @@ import { loggerFeature } from "@k8slens/logger";
|
||||
import { randomFeature } from "@k8slens/random";
|
||||
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
|
||||
import { prometheusFeature } from "@k8slens/prometheus";
|
||||
import { notificationsFeature } from "@k8slens/notifications";
|
||||
|
||||
const environment = "main";
|
||||
|
||||
@ -36,6 +37,7 @@ runInAction(() => {
|
||||
messagingFeatureForMain,
|
||||
randomFeature,
|
||||
kubeApiSpecificsFeature,
|
||||
notificationsFeature,
|
||||
);
|
||||
|
||||
try {
|
||||
|
||||
@ -5,6 +5,7 @@ import "@k8slens/tooltip/styles";
|
||||
import "@k8slens/resizing-anchor/styles";
|
||||
import "@k8slens/icon/styles";
|
||||
import "@k8slens/animate/styles";
|
||||
import "@k8slens/notifications/styles";
|
||||
|
||||
import { runInAction } from "mobx";
|
||||
import {
|
||||
@ -31,6 +32,7 @@ import { animateFeature } from "@k8slens/animate";
|
||||
import { clusterSidebarFeature } from "@k8slens/cluster-sidebar";
|
||||
import { randomFeature } from "@k8slens/random";
|
||||
import { kubeApiSpecificsFeature } from "@k8slens/kube-api-specifics";
|
||||
import { notificationsFeature } from "@k8slens/notifications";
|
||||
|
||||
const environment = "renderer";
|
||||
|
||||
@ -60,6 +62,7 @@ runInAction(() => {
|
||||
clusterSidebarFeature,
|
||||
randomFeature,
|
||||
kubeApiSpecificsFeature,
|
||||
notificationsFeature,
|
||||
);
|
||||
|
||||
autoRegister({
|
||||
|
||||
41
package-lock.json
generated
41
package-lock.json
generated
@ -3835,6 +3835,10 @@
|
||||
"resolved": "packages/technical-features/prometheus",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@k8slens/notifications": {
|
||||
"resolved": "packages/ui-components/notifications",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@k8slens/random": {
|
||||
"resolved": "packages/random-id",
|
||||
"link": true
|
||||
@ -34341,6 +34345,7 @@
|
||||
"@k8slens/metrics": "^6.5.0-alpha.7",
|
||||
"@k8slens/node-fetch": "^6.5.0-alpha.3",
|
||||
"@k8slens/prometheus": "^1.0.0",
|
||||
"@k8slens/notifications": "^1.0.0",
|
||||
"@k8slens/random": "^1.0.0",
|
||||
"@k8slens/react-application": "^1.0.0-alpha.5",
|
||||
"@k8slens/resizing-anchor": "^1.0.0-alpha.5",
|
||||
@ -35711,6 +35716,42 @@
|
||||
"winston": "^3.8.2"
|
||||
}
|
||||
},
|
||||
"packages/ui-components/notifications": {
|
||||
"name": "@k8slens/notifications",
|
||||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@k8slens/eslint-config": "^6.5.0",
|
||||
"@k8slens/webpack": "^6.5.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@k8slens/animate": "^1.0.0-alpha.0",
|
||||
"@k8slens/application": "^6.5.0",
|
||||
"@k8slens/event-emitter": "^1.0.0",
|
||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||
"@k8slens/icon": "^1.0.0-alpha.7",
|
||||
"@k8slens/json-api": "^1.0.0-alpha.3",
|
||||
"@k8slens/logger": "^1.0.0",
|
||||
"@k8slens/react-application": "^1.0.0-alpha.5",
|
||||
"@k8slens/run-many": "^1.0.0",
|
||||
"@k8slens/tooltip": "^1.0.0",
|
||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
||||
"@ogre-tools/fp": "^17.2.0",
|
||||
"@ogre-tools/injectable": "^17.2.0",
|
||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
||||
"@ogre-tools/injectable-react": "^17.2.0",
|
||||
"auto-bind": "^4.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"mobx": "^6.8.0",
|
||||
"mobx-react": "^7.6.0",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-router-dom": "^5.3.4",
|
||||
"uuid": "^8.3.2",
|
||||
"winston": "^3.8.2"
|
||||
}
|
||||
},
|
||||
"packages/ui-components/resizing-anchor": {
|
||||
"name": "@k8slens/resizing-anchor",
|
||||
"version": "1.0.0",
|
||||
|
||||
@ -27,6 +27,7 @@
|
||||
"mkdocs:serve-local": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest",
|
||||
"mkdocs:verify": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict",
|
||||
"test:unit": "lerna run --stream test:unit --no-bail",
|
||||
"test:unit:updatesnapshot": "lerna run --stream test:unit --no-bail -- -u",
|
||||
"test:unit:watch": "jest --watch",
|
||||
"test:integration": "lerna run --stream test:integration --no-bail",
|
||||
"bump-version": "lerna version --no-git-tag-version --no-push",
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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", () => {
|
||||
|
||||
@ -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";
|
||||
|
||||
|
||||
@ -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", () => {
|
||||
|
||||
@ -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";
|
||||
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -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";
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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";
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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>;
|
||||
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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";
|
||||
|
||||
@ -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 {
|
||||
}
|
||||
|
||||
@ -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";
|
||||
@ -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> {
|
||||
}
|
||||
|
||||
@ -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> {
|
||||
}
|
||||
|
||||
@ -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> {
|
||||
|
||||
@ -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> {
|
||||
|
||||
@ -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> {}
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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";
|
||||
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -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";
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -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;
|
||||
|
||||
6
packages/ui-components/notifications/.eslintrc.json
Normal file
6
packages/ui-components/notifications/.eslintrc.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "@k8slens/eslint-config/eslint",
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.json"
|
||||
}
|
||||
}
|
||||
1
packages/ui-components/notifications/.prettierrc
Normal file
1
packages/ui-components/notifications/.prettierrc
Normal file
@ -0,0 +1 @@
|
||||
"@k8slens/eslint-config/prettier"
|
||||
4
packages/ui-components/notifications/CHANGELOG.md
Normal file
4
packages/ui-components/notifications/CHANGELOG.md
Normal file
@ -0,0 +1,4 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
19
packages/ui-components/notifications/README.md
Normal file
19
packages/ui-components/notifications/README.md
Normal file
@ -0,0 +1,19 @@
|
||||
# @k8slens/notifications
|
||||
|
||||
This package contains stuff related to creating Lens-applications.
|
||||
|
||||
# Usage
|
||||
|
||||
```bash
|
||||
$ npm install @k8slens/notifications
|
||||
```
|
||||
|
||||
```typescript
|
||||
export type { notificationsName, notificationsProps } from "@k8slens/button";
|
||||
export type { notifications } from "@k8slens/button";
|
||||
export { defaultEnterDurationFornotificationsdInjectable } from "@k8slens/button";
|
||||
export { defaultLeaveDurationFornotificationsdInjectable } from "@k8slens/button";
|
||||
export { requestAnimationFrameInjectable } from "@k8slens/button";
|
||||
```
|
||||
|
||||
## Extendability
|
||||
25
packages/ui-components/notifications/index.ts
Normal file
25
packages/ui-components/notifications/index.ts
Normal file
@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
export type {
|
||||
NotificationId,
|
||||
NotificationMessage,
|
||||
NotificationStatus,
|
||||
CreateNotificationOptions,
|
||||
Notification,
|
||||
NotificationsStore,
|
||||
} from "./src/notifications.store";
|
||||
export type { ShowNotification } from "./src/notifications";
|
||||
export { Notifications } from "./src/notifications";
|
||||
export { notificationsClusterFrameChildComponentInjectable } from "./src/notifications-cluster-frame-child-component.injectable";
|
||||
export { notificationsRootFrameChildComponentInjectable } from "./src/notifications-root-frame-child-component.injectable";
|
||||
export { notificationsStoreInjectable } from "./src/notifications-store.injectable";
|
||||
export type { ShowCheckedErrorNotification } from "./src/show-checked-error.injectable";
|
||||
export { showCheckedErrorNotificationInjectable } from "./src/show-checked-error.injectable";
|
||||
export { showErrorNotificationInjectable } from "./src/show-error-notification.injectable";
|
||||
export { showInfoNotificationInjectable } from "./src/show-info-notification.injectable";
|
||||
export { showShortInfoNotificationInjectable } from "./src/show-short-info.injectable";
|
||||
export { showSuccessNotificationInjectable } from "./src/show-success-notification.injectable";
|
||||
export { notificationsFeature } from "./src/feature";
|
||||
3
packages/ui-components/notifications/jest.config.js
Normal file
3
packages/ui-components/notifications/jest.config.js
Normal file
@ -0,0 +1,3 @@
|
||||
const { configForReact } = require("@k8slens/jest").monorepoPackageConfig(__dirname);
|
||||
|
||||
module.exports = configForReact;
|
||||
66
packages/ui-components/notifications/package.json
Normal file
66
packages/ui-components/notifications/package.json
Normal file
@ -0,0 +1,66 @@
|
||||
{
|
||||
"name": "@k8slens/notifications",
|
||||
"private": false,
|
||||
"version": "1.0.0",
|
||||
"description": "Highly extendable notifications in the Lens.",
|
||||
"type": "commonjs",
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"registry": "https://registry.npmjs.org/"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/lensapp/lens.git"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"exports": {
|
||||
".": "./dist/index.js",
|
||||
"./styles": "./dist/index.css"
|
||||
},
|
||||
"types": "dist/index.d.ts",
|
||||
"author": {
|
||||
"name": "OpenLens Authors",
|
||||
"email": "info@k8slens.dev"
|
||||
},
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/lensapp/lens",
|
||||
"scripts": {
|
||||
"build": "lens-webpack-build",
|
||||
"lint": "lens-lint",
|
||||
"lint:fix": "lens-lint --fix"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@k8slens/react-application": "^1.0.0-alpha.5",
|
||||
"@k8slens/animate": "^1.0.0-alpha.0",
|
||||
"@k8slens/application": "^6.5.0",
|
||||
"@k8slens/event-emitter": "^1.0.0",
|
||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||
"@k8slens/json-api": "^1.0.0-alpha.3",
|
||||
"@k8slens/icon": "^1.0.0-alpha.7",
|
||||
"@k8slens/run-many": "^1.0.0",
|
||||
"@k8slens/logger": "^1.0.0",
|
||||
"@k8slens/tooltip": "^1.0.0",
|
||||
"@k8slens/utilities": "^1.0.0-alpha.1",
|
||||
"@ogre-tools/injectable-react": "^17.2.0",
|
||||
"@ogre-tools/injectable": "^17.2.0",
|
||||
"@ogre-tools/fp": "^17.2.0",
|
||||
"@ogre-tools/injectable-extension-for-auto-registration": "^17.2.0",
|
||||
"@ogre-tools/injectable-extension-for-mobx": "^17.2.0",
|
||||
"auto-bind": "^4.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"mobx": "^6.8.0",
|
||||
"mobx-react": "^7.6.0",
|
||||
"react-router-dom": "^5.3.4",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"winston": "^3.8.2",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@k8slens/eslint-config": "^6.5.0",
|
||||
"@k8slens/webpack": "^6.5.0"
|
||||
}
|
||||
}
|
||||
14
packages/ui-components/notifications/src/feature.ts
Normal file
14
packages/ui-components/notifications/src/feature.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import { getFeature } from "@k8slens/feature-core";
|
||||
import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration";
|
||||
|
||||
export const notificationsFeature = getFeature({
|
||||
id: "notifications-feature",
|
||||
|
||||
register: (di) => {
|
||||
autoRegister({
|
||||
di,
|
||||
targetModule: module,
|
||||
getRequireContexts: () => [require.context("./", true, /\.injectable\.(ts|tsx)$/)],
|
||||
});
|
||||
},
|
||||
});
|
||||
@ -7,7 +7,7 @@ import { computed } from "mobx";
|
||||
import { Notifications } from "./notifications";
|
||||
import { clusterFrameChildComponentInjectionToken } from "@k8slens/react-application";
|
||||
|
||||
const notificationsClusterFrameChildComponentInjectable = getInjectable({
|
||||
export const notificationsClusterFrameChildComponentInjectable = getInjectable({
|
||||
id: "notifications-cluster-frame-child-component",
|
||||
|
||||
instantiate: () => ({
|
||||
@ -18,5 +18,3 @@ const notificationsClusterFrameChildComponentInjectable = getInjectable({
|
||||
|
||||
injectionToken: clusterFrameChildComponentInjectionToken,
|
||||
});
|
||||
|
||||
export default notificationsClusterFrameChildComponentInjectable;
|
||||
@ -7,7 +7,7 @@ import { rootFrameChildComponentInjectionToken } from "@k8slens/react-applicatio
|
||||
import { computed } from "mobx";
|
||||
import { Notifications } from "./notifications";
|
||||
|
||||
const notificationsRootFrameChildComponentInjectable = getInjectable({
|
||||
export const notificationsRootFrameChildComponentInjectable = getInjectable({
|
||||
id: "notifications-root-frame-child-component",
|
||||
|
||||
instantiate: () => ({
|
||||
@ -18,5 +18,3 @@ const notificationsRootFrameChildComponentInjectable = getInjectable({
|
||||
|
||||
injectionToken: rootFrameChildComponentInjectionToken,
|
||||
});
|
||||
|
||||
export default notificationsRootFrameChildComponentInjectable;
|
||||
@ -5,9 +5,7 @@
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { NotificationsStore } from "./notifications.store";
|
||||
|
||||
const notificationsStoreInjectable = getInjectable({
|
||||
export const notificationsStoreInjectable = getInjectable({
|
||||
id: "notifications-store",
|
||||
instantiate: () => new NotificationsStore(),
|
||||
});
|
||||
|
||||
export default notificationsStoreInjectable;
|
||||
@ -3,13 +3,25 @@
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
$color-white: rgb(255,255,255);
|
||||
|
||||
@mixin hidden-scrollbar {
|
||||
overflow: auto;
|
||||
// Chrome, Safari
|
||||
&::-webkit-scrollbar {
|
||||
width: 0;
|
||||
height: 0;
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.Notifications {
|
||||
@include hidden-scrollbar;
|
||||
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
padding: $padding * 2;
|
||||
padding: 8px * 2;
|
||||
max-height: 100vh;
|
||||
z-index: 100000;
|
||||
height: min-content!important;
|
||||
@ -20,20 +32,20 @@
|
||||
|
||||
.notification {
|
||||
flex: 0 0;
|
||||
padding: $padding * 1.5;
|
||||
padding: 8px * 1.5;
|
||||
border-radius: 3px;
|
||||
min-width: 350px;
|
||||
max-width: 35vw;
|
||||
word-break: break-word;
|
||||
|
||||
&:not(:last-child) {
|
||||
margin-bottom: $margin * 2;
|
||||
margin-bottom: 8px * 2;
|
||||
}
|
||||
|
||||
> .message {
|
||||
white-space: pre-line;
|
||||
padding-left: $padding;
|
||||
padding-right: $padding * 2;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px * 2;
|
||||
align-self: center;
|
||||
|
||||
a {
|
||||
@ -44,13 +44,15 @@ export class NotificationsStore {
|
||||
}
|
||||
|
||||
getById(id: NotificationId) {
|
||||
return this.notifications.find(item => item.id === id);
|
||||
return this.notifications.find((item) => item.id === id);
|
||||
}
|
||||
|
||||
addAutoHideTimer(id: NotificationId) {
|
||||
const notification = this.getById(id);
|
||||
|
||||
if (!notification) return;
|
||||
if (!notification) {
|
||||
return;
|
||||
}
|
||||
this.removeAutoHideTimer(id);
|
||||
|
||||
if (notification?.timeout) {
|
||||
@ -74,7 +76,7 @@ export class NotificationsStore {
|
||||
...rawNotification,
|
||||
};
|
||||
const id = notification.id;
|
||||
const index = this.notifications.findIndex(item => item.id === id);
|
||||
const index = this.notifications.findIndex((item) => item.id === id);
|
||||
|
||||
if (index > -1) {
|
||||
this.notifications.splice(index, 1, notification); // update existing with same id
|
||||
@ -11,11 +11,16 @@ 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 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";
|
||||
import { notificationsStoreInjectable } from "./notifications-store.injectable";
|
||||
|
||||
export type ShowNotification = (message: NotificationMessage, opts?: CreateNotificationOptions) => Disposer;
|
||||
|
||||
@ -29,9 +34,13 @@ class NonInjectedNotifications extends React.Component<Dependencies> {
|
||||
|
||||
componentDidMount() {
|
||||
disposeOnUnmount(this, [
|
||||
reaction(() => this.props.store.notifications.length, () => {
|
||||
reaction(
|
||||
() => this.props.store.notifications.length,
|
||||
() => {
|
||||
this.scrollToLastNotification();
|
||||
}, { delay: 250 }),
|
||||
},
|
||||
{ delay: 250 },
|
||||
),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -59,8 +68,8 @@ class NonInjectedNotifications extends React.Component<Dependencies> {
|
||||
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 => {
|
||||
<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);
|
||||
|
||||
@ -7,11 +7,15 @@ 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";
|
||||
import { showErrorNotificationInjectable } from "./show-error-notification.injectable";
|
||||
|
||||
export type ShowCheckedErrorNotification = (message: unknown, fallback: string, opts?: CreateNotificationOptions) => Disposer;
|
||||
export type ShowCheckedErrorNotification = (
|
||||
message: unknown,
|
||||
fallback: string,
|
||||
opts?: CreateNotificationOptions,
|
||||
) => Disposer;
|
||||
|
||||
const showCheckedErrorNotificationInjectable = getInjectable({
|
||||
export const showCheckedErrorNotificationInjectable = getInjectable({
|
||||
id: "show-checked-error-notififcation",
|
||||
instantiate: (di): ShowCheckedErrorNotification => {
|
||||
const showErrorNotification = di.inject(showErrorNotificationInjectable);
|
||||
@ -28,5 +32,3 @@ const showCheckedErrorNotificationInjectable = getInjectable({
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export default showCheckedErrorNotificationInjectable;
|
||||
@ -5,9 +5,9 @@
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ShowNotification } from "./notifications";
|
||||
import { NotificationStatus } from "./notifications.store";
|
||||
import notificationsStoreInjectable from "./notifications-store.injectable";
|
||||
import { notificationsStoreInjectable } from "./notifications-store.injectable";
|
||||
|
||||
const showErrorNotificationInjectable = getInjectable({
|
||||
export const showErrorNotificationInjectable = getInjectable({
|
||||
id: "show-error-notification",
|
||||
|
||||
instantiate: (di): ShowNotification => {
|
||||
@ -21,5 +21,3 @@ const showErrorNotificationInjectable = getInjectable({
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default showErrorNotificationInjectable;
|
||||
@ -5,9 +5,9 @@
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ShowNotification } from "./notifications";
|
||||
import { NotificationStatus } from "./notifications.store";
|
||||
import notificationsStoreInjectable from "./notifications-store.injectable";
|
||||
import { notificationsStoreInjectable } from "./notifications-store.injectable";
|
||||
|
||||
const showInfoNotificationInjectable = getInjectable({
|
||||
export const showInfoNotificationInjectable = getInjectable({
|
||||
id: "show-info-notification",
|
||||
|
||||
instantiate: (di): ShowNotification => {
|
||||
@ -21,5 +21,3 @@ const showInfoNotificationInjectable = getInjectable({
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default showInfoNotificationInjectable;
|
||||
@ -5,9 +5,9 @@
|
||||
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ShowNotification } from "./notifications";
|
||||
import showInfoNotificationInjectable from "./show-info-notification.injectable";
|
||||
import { showInfoNotificationInjectable } from "./show-info-notification.injectable";
|
||||
|
||||
const showShortInfoNotificationInjectable = getInjectable({
|
||||
export const showShortInfoNotificationInjectable = getInjectable({
|
||||
id: "show-short-info-notification",
|
||||
instantiate: (di): ShowNotification => {
|
||||
const showInfoNotification = di.inject(showInfoNotificationInjectable);
|
||||
@ -20,5 +20,3 @@ const showShortInfoNotificationInjectable = getInjectable({
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export default showShortInfoNotificationInjectable;
|
||||
@ -5,9 +5,9 @@
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ShowNotification } from "./notifications";
|
||||
import { NotificationStatus } from "./notifications.store";
|
||||
import notificationsStoreInjectable from "./notifications-store.injectable";
|
||||
import { notificationsStoreInjectable } from "./notifications-store.injectable";
|
||||
|
||||
const showSuccessNotificationInjectable = getInjectable({
|
||||
export const showSuccessNotificationInjectable = getInjectable({
|
||||
id: "show-success-notification",
|
||||
|
||||
instantiate: (di): ShowNotification => {
|
||||
@ -22,5 +22,3 @@ const showSuccessNotificationInjectable = getInjectable({
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default showSuccessNotificationInjectable;
|
||||
28
packages/ui-components/notifications/tailwind.config.js
Normal file
28
packages/ui-components/notifications/tailwind.config.js
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
const path = require("path");
|
||||
|
||||
module.exports = {
|
||||
content: [path.join(__dirname, "src/**/*.tsx")],
|
||||
darkMode: "class",
|
||||
theme: {
|
||||
fontFamily: {
|
||||
sans: ["Roboto", "Helvetica", "Arial", "sans-serif"],
|
||||
},
|
||||
extend: {
|
||||
colors: {
|
||||
textAccent: "var(--textColorAccent)",
|
||||
textPrimary: "var(--textColorPrimary)",
|
||||
textTertiary: "var(--textColorTertiary)",
|
||||
textDimmed: "var(--textColorDimmed)",
|
||||
},
|
||||
},
|
||||
},
|
||||
variants: {
|
||||
extend: {},
|
||||
},
|
||||
plugins: [],
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user