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 {
|
||||
private missingExtensionHandlers: FallbackHandler[] = [];
|
||||
|
||||
/**
|
||||
* @deprecated This is used to solve out-of-place temporal dependency. Remove, and solve otherwise.
|
||||
*/
|
||||
@observable rendererLoaded = false;
|
||||
|
||||
protected disposers = disposer();
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { ipcMainOn } from "../../../../common/ipc";
|
||||
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 { afterApplicationIsReadyInjectionToken } from "../after-application-is-ready-injection-token";
|
||||
import { runManyFor } from "../../run-many-for";
|
||||
@ -14,7 +13,6 @@ const setupListenerForRootFrameRenderingInjectable = getInjectable({
|
||||
id: "setup-listener-for-root-frame-rendering",
|
||||
|
||||
instantiate: (di) => {
|
||||
const lensProtocolRouterMain = di.inject(lensProtocolRouterMainInjectable);
|
||||
const runMany = runManyFor(di);
|
||||
|
||||
const runOnRootFrameRender = runMany(
|
||||
@ -24,10 +22,7 @@ const setupListenerForRootFrameRenderingInjectable = getInjectable({
|
||||
return {
|
||||
run: () => {
|
||||
ipcMainOn(IpcRendererNavigationEvents.LOADED, async () => {
|
||||
|
||||
await runOnRootFrameRender();
|
||||
|
||||
lensProtocolRouterMain.rendererLoaded = true;
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
@ -3,20 +3,22 @@
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
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 { onApplicationSoftQuitInjectionToken } from "../on-application-soft-quit-injection-token";
|
||||
|
||||
const makeProtocolRouterNotHaveLoadedRendererInjectable = getInjectable({
|
||||
id: "make-protocol-router-not-have-loaded-renderer",
|
||||
const flagRendererAsNotLoaded = getInjectable({
|
||||
id: "stop-deep-linking",
|
||||
|
||||
instantiate: (di) => {
|
||||
const lensProtocolRouterMain = di.inject(lensProtocolRouterMainInjectable);
|
||||
|
||||
return {
|
||||
run: () => {
|
||||
// This is set to false here so that LPRM can wait to send future lens://
|
||||
// requests until after it loads again
|
||||
lensProtocolRouterMain.rendererLoaded = false;
|
||||
runInAction(() => {
|
||||
// Todo: remove this kludge which enables out-of-place temporal dependency.
|
||||
lensProtocolRouterMain.rendererLoaded = false;
|
||||
});
|
||||
},
|
||||
};
|
||||
},
|
||||
@ -24,4 +26,4 @@ const makeProtocolRouterNotHaveLoadedRendererInjectable = getInjectable({
|
||||
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