From 21e89edf5c8fa8926813c7db1bbc5d9444bf2725 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Fri, 4 Sep 2020 10:34:53 +0300 Subject: [PATCH] Close Preferences on Esc key Signed-off-by: Alex Andreev --- .../components/+preferences/preferences.tsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/+preferences/preferences.tsx b/src/renderer/components/+preferences/preferences.tsx index f2e874750b..cb9dcbc853 100644 --- a/src/renderer/components/+preferences/preferences.tsx +++ b/src/renderer/components/+preferences/preferences.tsx @@ -28,6 +28,8 @@ export class Preferences extends React.Component { { value: "china", label: "China (Azure)" }, ] + @observable httpProxy = userStore.preferences.httpsProxy || ""; + @computed get themeOptions(): SelectOption[] { return themeStore.themes.map(theme => ({ label: theme.name, @@ -43,9 +45,21 @@ export class Preferences extends React.Component { } async componentDidMount() { + window.addEventListener('keydown', this.onEscapeKey); await this.loadHelmRepos(); } + componentWillUnmount() { + window.removeEventListener('keydown', this.onEscapeKey); + } + + onEscapeKey = (evt: KeyboardEvent) => { + if (evt.code === "Escape") { + evt.stopPropagation(); + history.goBack(); + } + } + @action async loadHelmRepos() { this.helmLoading = true; @@ -162,8 +176,9 @@ export class Preferences extends React.Component { preferences.httpsProxy = v} + value={this.httpProxy} + onChange={v => this.httpProxy = v} + onBlur={() => preferences.httpsProxy = this.httpProxy} /> Proxy is used only for non-cluster communication.