mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Extract responsibilities to delegatees
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi> Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
parent
8b3bbc78b8
commit
e729babf3d
@ -46,6 +46,9 @@ interface Dependencies {
|
|||||||
export class LensProtocolRouterMain extends proto.LensProtocolRouter {
|
export class LensProtocolRouterMain extends proto.LensProtocolRouter {
|
||||||
private missingExtensionHandlers: FallbackHandler[] = [];
|
private missingExtensionHandlers: FallbackHandler[] = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated This is used to solve out-of-place temporal dependency. Remove, and solve otherwise.
|
||||||
|
*/
|
||||||
@observable rendererLoaded = false;
|
@observable rendererLoaded = false;
|
||||||
|
|
||||||
protected disposers = disposer();
|
protected disposers = disposer();
|
||||||
|
|||||||
@ -5,7 +5,6 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { ipcMainOn } from "../../../../common/ipc";
|
import { ipcMainOn } from "../../../../common/ipc";
|
||||||
import { IpcRendererNavigationEvents } from "../../../../renderer/navigation/events";
|
import { IpcRendererNavigationEvents } from "../../../../renderer/navigation/events";
|
||||||
import lensProtocolRouterMainInjectable from "../../../protocol-handler/lens-protocol-router-main/lens-protocol-router-main.injectable";
|
|
||||||
import { onRootFrameRenderInjectionToken } from "../../on-root-frame-render/on-root-frame-render-injection-token";
|
import { onRootFrameRenderInjectionToken } from "../../on-root-frame-render/on-root-frame-render-injection-token";
|
||||||
import { afterApplicationIsReadyInjectionToken } from "../after-application-is-ready-injection-token";
|
import { afterApplicationIsReadyInjectionToken } from "../after-application-is-ready-injection-token";
|
||||||
import { runManyFor } from "../../run-many-for";
|
import { runManyFor } from "../../run-many-for";
|
||||||
@ -14,7 +13,6 @@ const setupListenerForRootFrameRenderingInjectable = getInjectable({
|
|||||||
id: "setup-listener-for-root-frame-rendering",
|
id: "setup-listener-for-root-frame-rendering",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const lensProtocolRouterMain = di.inject(lensProtocolRouterMainInjectable);
|
|
||||||
const runMany = runManyFor(di);
|
const runMany = runManyFor(di);
|
||||||
|
|
||||||
const runOnRootFrameRender = runMany(
|
const runOnRootFrameRender = runMany(
|
||||||
@ -24,10 +22,7 @@ const setupListenerForRootFrameRenderingInjectable = getInjectable({
|
|||||||
return {
|
return {
|
||||||
run: () => {
|
run: () => {
|
||||||
ipcMainOn(IpcRendererNavigationEvents.LOADED, async () => {
|
ipcMainOn(IpcRendererNavigationEvents.LOADED, async () => {
|
||||||
|
|
||||||
await runOnRootFrameRender();
|
await runOnRootFrameRender();
|
||||||
|
|
||||||
lensProtocolRouterMain.rendererLoaded = true;
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,20 +3,22 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import { runInAction } from "mobx";
|
||||||
import lensProtocolRouterMainInjectable from "../../../protocol-handler/lens-protocol-router-main/lens-protocol-router-main.injectable";
|
import lensProtocolRouterMainInjectable from "../../../protocol-handler/lens-protocol-router-main/lens-protocol-router-main.injectable";
|
||||||
import { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token";
|
import { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token";
|
||||||
|
|
||||||
const makeProtocolRouterNotHaveLoadedRendererInjectable = getInjectable({
|
const flagRendererAsNotLoaded = getInjectable({
|
||||||
id: "make-protocol-router-not-have-loaded-renderer",
|
id: "stop-deep-linking",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const lensProtocolRouterMain = di.inject(lensProtocolRouterMainInjectable);
|
const lensProtocolRouterMain = di.inject(lensProtocolRouterMainInjectable);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
run: () => {
|
run: () => {
|
||||||
// This is set to false here so that LPRM can wait to send future lens://
|
runInAction(() => {
|
||||||
// requests until after it loads again
|
// Todo: remove this kludge which enables out-of-place temporal dependency.
|
||||||
lensProtocolRouterMain.rendererLoaded = false;
|
lensProtocolRouterMain.rendererLoaded = false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -24,4 +26,4 @@ const makeProtocolRouterNotHaveLoadedRendererInjectable = getInjectable({
|
|||||||
injectionToken: onApplicationSoftQuitInjectionToken,
|
injectionToken: onApplicationSoftQuitInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default makeProtocolRouterNotHaveLoadedRendererInjectable;
|
export default flagRendererAsNotLoaded;
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import { onRootFrameRenderInjectionToken } from "../on-root-frame-render-injection-token";
|
||||||
|
import lensProtocolRouterMainInjectable from "../../../protocol-handler/lens-protocol-router-main/lens-protocol-router-main.injectable";
|
||||||
|
import { runInAction } from "mobx";
|
||||||
|
|
||||||
|
const flagRendererAsLoaded = getInjectable({
|
||||||
|
id: "flag-renderer-as-loaded",
|
||||||
|
|
||||||
|
instantiate: (di) => {
|
||||||
|
const lensProtocolRouterMain = di.inject(lensProtocolRouterMainInjectable);
|
||||||
|
|
||||||
|
return {
|
||||||
|
run: () => {
|
||||||
|
runInAction(() => {
|
||||||
|
// Todo: remove this kludge which enables out-of-place temporal dependency.
|
||||||
|
lensProtocolRouterMain.rendererLoaded = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
injectionToken: onRootFrameRenderInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default flagRendererAsLoaded;
|
||||||
Loading…
Reference in New Issue
Block a user