1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Consolidate implementation of something startable and stoppable

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
Iku-turso 2022-04-11 14:08:45 +03:00 committed by Janne Savolainen
parent 0650d345c7
commit cd811cc1f2
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
4 changed files with 43 additions and 43 deletions

View File

@ -4,13 +4,13 @@
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { afterApplicationIsReadyInjectionToken } from "../start-main-application/after-application-is-ready/after-application-is-ready-injection-token"; import { afterApplicationIsReadyInjectionToken } from "../start-main-application/after-application-is-ready/after-application-is-ready-injection-token";
import trayInitializerInjectable from "./tray-initializer.injectable"; import trayInjectable from "./tray.injectable";
const setupTrayWhenApplicationIsReadyInjectable = getInjectable({ const startTrayInjectable = getInjectable({
id: "setup-tray-when-application-is-ready", id: "start-tray",
instantiate: (di) => { instantiate: (di) => {
const trayInitializer = di.inject(trayInitializerInjectable); const trayInitializer = di.inject(trayInjectable);
return { return {
run: () => { run: () => {
@ -22,4 +22,4 @@ const setupTrayWhenApplicationIsReadyInjectable = getInjectable({
injectionToken: afterApplicationIsReadyInjectionToken, injectionToken: afterApplicationIsReadyInjectionToken,
}); });
export default setupTrayWhenApplicationIsReadyInjectable; export default startTrayInjectable;

View File

@ -3,14 +3,14 @@
* 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 trayInitializerInjectable from "./tray-initializer.injectable"; import trayInjectable from "./tray.injectable";
import { onApplicationHardQuitInjectionToken } from "../start-main-application/on-application-hard-quit/on-application-hard-quit-injection-token"; import { onApplicationHardQuitInjectionToken } from "../start-main-application/on-application-hard-quit/on-application-hard-quit-injection-token";
const setupTrayWhenApplicationIsQuitInjectable = getInjectable({ const stopTrayInjectable = getInjectable({
id: "setup-tray-when-application-is-quit", id: "stop-tray",
instantiate: (di) => { instantiate: (di) => {
const trayInitializer = di.inject(trayInitializerInjectable); const trayInitializer = di.inject(trayInjectable);
return { return {
run: () => { run: () => {
@ -22,4 +22,4 @@ const setupTrayWhenApplicationIsQuitInjectable = getInjectable({
injectionToken: onApplicationHardQuitInjectionToken, injectionToken: onApplicationHardQuitInjectionToken,
}); });
export default setupTrayWhenApplicationIsQuitInjectable; export default stopTrayInjectable;

View File

@ -1,33 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import { initTray } from "./tray";
import windowManagerInjectable from "../window-manager.injectable";
import trayMenuItemsInjectable from "./tray-menu-items.injectable";
import navigateToPreferencesInjectable from "../../common/front-end-routing/routes/preferences/navigate-to-preferences.injectable";
import stopServicesAndExitAppInjectable from "../stop-services-and-exit-app.injectable";
const trayInitializerInjectable = getInjectable({
id: "tray-initializer",
instantiate: (di) => {
let disposer: () => void;
return ({
start: () => {
const windowManager = di.inject(windowManagerInjectable);
const trayMenuItems = di.inject(trayMenuItemsInjectable);
const navigateToPreferences = di.inject(navigateToPreferencesInjectable);
const stopServicesAndExitApp = di.inject(stopServicesAndExitAppInjectable);
disposer = initTray(windowManager, trayMenuItems, navigateToPreferences, stopServicesAndExitApp);
},
stop: () => disposer?.(),
});
},
});
export default trayInitializerInjectable;

View File

@ -0,0 +1,33 @@
/**
* 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 { initTray } from "./tray";
import windowManagerInjectable from "../window-manager.injectable";
import trayMenuItemsInjectable from "./tray-menu-items.injectable";
import navigateToPreferencesInjectable from "../../common/front-end-routing/routes/preferences/navigate-to-preferences.injectable";
import stopServicesAndExitAppInjectable from "../stop-services-and-exit-app.injectable";
import { getStartableStoppable } from "../../common/utils/get-startable-stoppable";
const trayInjectable = getInjectable({
id: "tray",
instantiate: (di) => {
const windowManager = di.inject(windowManagerInjectable);
const trayMenuItems = di.inject(trayMenuItemsInjectable);
const navigateToPreferences = di.inject(navigateToPreferencesInjectable);
const stopServicesAndExitApp = di.inject(stopServicesAndExitAppInjectable);
return getStartableStoppable(() =>
initTray(
windowManager,
trayMenuItems,
navigateToPreferences,
stopServicesAndExitApp,
),
);
},
});
export default trayInjectable;