Remove all uses of legacy global Notification functions

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton committed 2023-01-05 13:27:57 -05:00
1 parent 2aa9fc972e
commit b86eb3d8db
40 files changed
+418 -369

No files matched your search

@@ -16,6 +16,7 @@ import catalogEntityRegistryInjectable from "../../api/catalog/entity/registry.i
// TODO: Importing from features is not OK. Make protocol-router to comply with Open Closed Principle to allow moving implementation under a feature
import navigateToPreferencesInjectable from "../../../features/preferences/common/navigate-to-preferences.injectable";
import getClusterByIdInjectable from "../../../common/cluster-store/get-by-id.injectable";
import showShortInfoNotificationInjectable from "../../components/notifications/show-short-info.injectable";
const bindProtocolAddRouteHandlersInjectable = getInjectable({
id: "bind-protocol-add-route-handlers",
@@ -31,6 +32,7 @@ const bindProtocolAddRouteHandlersInjectable = getInjectable({
navigateToPreferences: di.inject(navigateToPreferencesInjectable),
entityRegistry: di.inject(catalogEntityRegistryInjectable),
getClusterById: di.inject(getClusterByIdInjectable),
showShortInfoNotification: di.inject(showShortInfoNotificationInjectable),
}),
});
@@ -11,7 +11,7 @@ import {
EXTENSION_PUBLISHER_MATCH,
LensProtocolRouter,
} from "../../../common/protocol-handler";
import { Notifications } from "../../components/notifications";
import type { ShowNotification } from "../../components/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";
@@ -19,7 +19,6 @@ import assert from "assert";
import type { AttemptInstallByInfo } from "../../components/+extensions/attempt-install-by-info.injectable";
import type { GetClusterById } from "../../../common/cluster-store/get-by-id.injectable";
// TODO: make it so that the handlers are type safe and we don't need to do the asserts
interface Dependencies {
attemptInstallByInfo: AttemptInstallByInfo;
lensProtocolRouterRenderer: LensProtocolRouterRenderer;
@@ -31,6 +30,7 @@ interface Dependencies {
navigateToPreferences: (tabId: string) => void;
entityRegistry: CatalogEntityRegistry;
getClusterById: GetClusterById;
showShortInfoNotification: ShowNotification;
}
export const bindProtocolAddRouteHandlers = ({
@@ -44,6 +44,7 @@ export const bindProtocolAddRouteHandlers = ({
navigateToPreferences,
entityRegistry,
getClusterById,
showShortInfoNotification,
}: Dependencies) => () => {
lensProtocolRouterRenderer
.addInternalHandler("/preferences", ({ search: { highlight: tabId }}) => {
@@ -53,7 +54,7 @@ export const bindProtocolAddRouteHandlers = ({
})
.addInternalHandler("/", ({ tail }) => {
if (tail) {
Notifications.shortInfo(
showShortInfoNotification(
<p>
{"Unknown Action for "}
<code>
@@ -83,7 +84,7 @@ export const bindProtocolAddRouteHandlers = ({
if (entity) {
navigateToEntitySettings(entityId);
} else {
Notifications.shortInfo(
showShortInfoNotification(
<p>
{"Unknown catalog entity "}
<code>{entityId}</code>
@@ -100,7 +101,7 @@ export const bindProtocolAddRouteHandlers = ({
if (cluster) {
navigateToClusterView(clusterId);
} else {
Notifications.shortInfo(
showShortInfoNotification(
<p>
{"Unknown catalog entity "}
<code>{clusterId}</code>
@@ -116,7 +117,7 @@ export const bindProtocolAddRouteHandlers = ({
if (cluster) {
navigateToEntitySettings(clusterId);
} else {
Notifications.shortInfo(
showShortInfoNotification(
<p>
{"Unknown catalog entity "}
<code>{clusterId}</code>
@@ -7,16 +7,19 @@ import extensionLoaderInjectable from "../../../extensions/extension-loader/exte
import { LensProtocolRouterRenderer } from "./lens-protocol-router-renderer";
import extensionsStoreInjectable from "../../../extensions/extensions-store/extensions-store.injectable";
import loggerInjectable from "../../../common/logger.injectable";
import showErrorNotificationInjectable from "../../components/notifications/show-error-notification.injectable";
import showShortInfoNotificationInjectable from "../../components/notifications/show-short-info.injectable";
const lensProtocolRouterRendererInjectable = getInjectable({
id: "lens-protocol-router-renderer",
instantiate: (di) =>
new LensProtocolRouterRenderer({
extensionLoader: di.inject(extensionLoaderInjectable),
extensionsStore: di.inject(extensionsStoreInjectable),
logger: di.inject(loggerInjectable),
}),
instantiate: (di) => new LensProtocolRouterRenderer({
extensionLoader: di.inject(extensionLoaderInjectable),
extensionsStore: di.inject(extensionsStoreInjectable),
logger: di.inject(loggerInjectable),
showErrorNotification: di.inject(showErrorNotificationInjectable),
showShortInfoNotification: di.inject(showShortInfoNotificationInjectable),
}),
});
export default lensProtocolRouterRendererInjectable;
@@ -9,12 +9,15 @@ 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 { Notifications } from "../../components/notifications";
import type { ShowNotification } from "../../components/notifications";
interface Dependencies extends LensProtocolRouterDependencies {}
interface Dependencies extends LensProtocolRouterDependencies {
showShortInfoNotification: ShowNotification;
showErrorNotification: ShowNotification;
}
export class LensProtocolRouterRenderer extends proto.LensProtocolRouter {
constructor(protected dependencies: Dependencies) {
constructor(protected readonly dependencies: Dependencies) {
super(dependencies);
}
@@ -26,7 +29,7 @@ export class LensProtocolRouterRenderer extends proto.LensProtocolRouter {
const rendererAttempt = this._routeToInternal(new Url(rawUrl, true));
if (foldAttemptResults(mainAttemptResult, rendererAttempt) === RouteAttempt.MISSING) {
Notifications.shortInfo((
this.dependencies.showShortInfoNotification((
<p>
{"Unknown action "}
<code>{rawUrl}</code>
@@ -40,7 +43,7 @@ export class LensProtocolRouterRenderer extends proto.LensProtocolRouter {
switch (foldAttemptResults(mainAttemptResult, rendererAttempt)) {
case RouteAttempt.MISSING:
Notifications.shortInfo((
this.dependencies.showShortInfoNotification((
<p>
{"Unknown action "}
<code>{rawUrl}</code>
@@ -49,7 +52,7 @@ export class LensProtocolRouterRenderer extends proto.LensProtocolRouter {
));
break;
case RouteAttempt.MISSING_EXTENSION:
Notifications.shortInfo((
this.dependencies.showShortInfoNotification((
<p>
{"Missing extension for action "}
<code>{rawUrl}</code>
@@ -60,7 +63,7 @@ export class LensProtocolRouterRenderer extends proto.LensProtocolRouter {
}
});
ipcRenderer.on(ProtocolHandlerInvalid, (event, error: string, rawUrl: string) => {
Notifications.error((
this.dependencies.showErrorNotification((
<>
<p>
{"Failed to route "}