From 8e5c63d035ef44a269b8c43430f43f5c8eebfb63 Mon Sep 17 00:00:00 2001 From: Ignat Beresnev Date: Fri, 10 Nov 2023 11:46:54 +0100 Subject: Restructure the project to utilize included builds (#3174) * Refactor and simplify artifact publishing * Update Gradle to 8.4 * Refactor and simplify convention plugins and build scripts Fixes #3132 --------- Co-authored-by: Adam <897017+aSemy@users.noreply.github.com> Co-authored-by: Oleg Yukhnevich --- .../frontend/src/main/components/utils/hotkey.ts | 62 ---------------------- .../base/frontend/src/main/components/utils/os.ts | 18 ------- .../src/main/components/utils/requests.tsx | 11 ---- 3 files changed, 91 deletions(-) delete mode 100644 plugins/base/frontend/src/main/components/utils/hotkey.ts delete mode 100644 plugins/base/frontend/src/main/components/utils/os.ts delete mode 100644 plugins/base/frontend/src/main/components/utils/requests.tsx (limited to 'plugins/base/frontend/src/main/components/utils') diff --git a/plugins/base/frontend/src/main/components/utils/hotkey.ts b/plugins/base/frontend/src/main/components/utils/hotkey.ts deleted file mode 100644 index ae813166..00000000 --- a/plugins/base/frontend/src/main/components/utils/hotkey.ts +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -import {detectOsKind, OsKind} from "./os"; - -type ModifierKey = { - name: string - keyArg: string -} - -class ModifierKeys { - static metaKey: ModifierKey = {name: "Command", keyArg: "Meta"} - static ctrlKey: ModifierKey = {name: "Ctrl", keyArg: "Control"} - static altKey: ModifierKey = {name: "Alt", keyArg: "Alt"} - static shiftKey: ModifierKey = {name: "Shift", keyArg: "Shift"} -} - -const setOfKeys = [ModifierKeys.altKey, ModifierKeys.shiftKey, ModifierKeys.ctrlKey, ModifierKeys.metaKey] - -export class Hotkey { - private readonly osKind: OsKind; - - constructor() { - this.osKind = detectOsKind() - } - - public getOsAccelKeyName() { - return this.getOsAccelKey().name - } - - /** - * Register a hotkey of combination Accel key (Cmd/Ctrl depending on OS). - * The method also checks that other modifiers key is not pressed to avoid shortcuts intersection. - * E.g. don't trigger [Ctrl+K] if [Ctrl + Shift + K] pressed - */ - public registerHotkeyWithAccel = (event: () => void, letter: string) => { - const osMetaKey = this.getOsAccelKey() - document.onkeydown = (keyDownEvent) => { - const isMetaKeyPressed = keyDownEvent.getModifierState(osMetaKey.keyArg) - const isOtherModifierKeyPressed = setOfKeys - .filter(key => key !== osMetaKey) - .map((otherKeys: ModifierKey) => keyDownEvent.getModifierState(otherKeys.keyArg)) - .some(value => value) - - if (isMetaKeyPressed && !isOtherModifierKeyPressed && keyDownEvent.key === letter) { - keyDownEvent.preventDefault() - event() - } - }; - } - - private getOsAccelKey(): ModifierKey { - switch (this.osKind) { - case OsKind.MACOS: - return ModifierKeys.metaKey - default: - return ModifierKeys.ctrlKey - } - } -} - diff --git a/plugins/base/frontend/src/main/components/utils/os.ts b/plugins/base/frontend/src/main/components/utils/os.ts deleted file mode 100644 index 6130ef67..00000000 --- a/plugins/base/frontend/src/main/components/utils/os.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -export enum OsKind{ - WINDOWS, - MACOS, - LINUX, - OTHER -} - -export const detectOsKind = (): OsKind => { - const userAgent = navigator.userAgent - if(userAgent.includes("Mac")) return OsKind.MACOS - else if (userAgent.includes("Win")) return OsKind.WINDOWS - else if (userAgent.includes("Linux")) return OsKind.LINUX - else return OsKind.OTHER -} diff --git a/plugins/base/frontend/src/main/components/utils/requests.tsx b/plugins/base/frontend/src/main/components/utils/requests.tsx deleted file mode 100644 index 568c331b..00000000 --- a/plugins/base/frontend/src/main/components/utils/requests.tsx +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -import {IWindow} from "../search/types" - -export const relativizeUrlForRequest = (filePath: string) : string => { - const pathToRoot = (window as IWindow).pathToRoot - const relativePath = pathToRoot == "" ? "." : pathToRoot - return relativePath.endsWith('/') ? `${relativePath}${filePath}` : `${relativePath}/${filePath}` -} -- cgit