mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Restructure to monorepo (#6907)
* wip: restructure to monorepo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor create-release-pr to a package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * github workflow fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix typo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * add webpack-env types to core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix github workflows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor/fix integration tests Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * lint fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * yarn run dev Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * eslint settings for vscode Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * move templates to right package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * open-lens build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * integration test fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix nx task dependencies Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * use bash shell for unit tests in test workflow Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix test:unit for windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix build:app on windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove ELECTRON_BUILDER_EXTRA_ARGS Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * sync src/ from master Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove Makefile from core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
1 parent
0066ca4ea2
commit
2657df2293
3321 files changed
+28699
-11447
No files matched your search
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* 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 showApplicationWindowInjectable from "../start-main-application/lens-window/show-application-window.injectable";
|
||||
import type { RequestChannelHandler } from "../utils/channel/channel-listeners/listener-tokens";
|
||||
import type { openPathPickingDialogChannel } from "../../features/path-picking-dialog/common/channel";
|
||||
import showOpenDialogInjectable from "../electron-app/features/show-open-dialog.injectable";
|
||||
|
||||
// TODO: Replace leaking electron with abstraction
|
||||
export type AskUserForFilePaths = RequestChannelHandler<typeof openPathPickingDialogChannel>;
|
||||
|
||||
const askUserForFilePathsInjectable = getInjectable({
|
||||
id: "ask-user-for-file-paths",
|
||||
|
||||
instantiate: (di): AskUserForFilePaths => {
|
||||
const showApplicationWindow = di.inject(showApplicationWindowInjectable);
|
||||
const showOpenDialog = di.inject(showOpenDialogInjectable);
|
||||
|
||||
return async (dialogOptions) => {
|
||||
await showApplicationWindow();
|
||||
|
||||
const { canceled, filePaths } = await showOpenDialog(
|
||||
dialogOptions,
|
||||
);
|
||||
|
||||
if (canceled) {
|
||||
return {
|
||||
canceled,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
canceled: false,
|
||||
paths: filePaths,
|
||||
};
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export default askUserForFilePathsInjectable;
|
||||
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import { BrowserWindow, webContents } from "electron";
|
||||
import { broadcastMessage } from "../../common/ipc";
|
||||
import { WindowAction } from "../../common/ipc/window";
|
||||
|
||||
export function handleWindowAction(action: WindowAction) {
|
||||
const window = BrowserWindow.getFocusedWindow();
|
||||
|
||||
if (!window) return;
|
||||
|
||||
switch (action) {
|
||||
case WindowAction.GO_BACK: {
|
||||
window.webContents.goBack();
|
||||
break;
|
||||
}
|
||||
|
||||
case WindowAction.GO_FORWARD: {
|
||||
window.webContents.goForward();
|
||||
break;
|
||||
}
|
||||
|
||||
case WindowAction.MINIMIZE: {
|
||||
window.minimize();
|
||||
break;
|
||||
}
|
||||
|
||||
case WindowAction.TOGGLE_MAXIMIZE: {
|
||||
if (window.isMaximized()) {
|
||||
window.unmaximize();
|
||||
} else {
|
||||
window.maximize();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WindowAction.CLOSE: {
|
||||
window.close();
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
throw new Error(`Attemped window action ${action} is unknown`);
|
||||
}
|
||||
}
|
||||
|
||||
export function onLocationChange(): void {
|
||||
const getAllWebContents = webContents.getAllWebContents();
|
||||
|
||||
const canGoBack = getAllWebContents.some((webContent) => {
|
||||
if (webContent.getType() === "window") {
|
||||
return webContent.canGoBack();
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
const canGoForward = getAllWebContents.some((webContent) => {
|
||||
if (webContent.getType() === "window") {
|
||||
return webContent.canGoForward();
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
broadcastMessage("history:can-go-back", canGoBack);
|
||||
broadcastMessage("history:can-go-forward", canGoForward);
|
||||
}
|
||||
Reference in new issue
Block a user