From 8629b68c5001e353189ae37249d08ffd92a0e379 Mon Sep 17 00:00:00 2001 From: alexfront Date: Fri, 7 Aug 2020 15:48:25 +0300 Subject: [PATCH] Saving input fields on blur Signed-off-by: alexfront --- .../components/cluster-home-dir-setting.tsx | 9 ++++----- .../components/cluster-name-setting.tsx | 10 ++++------ .../components/cluster-prometheus-setting.tsx | 8 +++++++- .../components/cluster-proxy-setting.tsx | 9 ++++----- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx b/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx index b6fdd46156..f998035b44 100644 --- a/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx +++ b/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx @@ -1,5 +1,4 @@ import React from "react"; -import throttle from "lodash/throttle"; import { observable } from "mobx"; import { observer } from "mobx-react"; import { Cluster } from "../../../../main/cluster"; @@ -14,13 +13,12 @@ interface Props { export class ClusterHomeDirSetting extends React.Component { @observable directory = this.props.cluster.preferences.terminalCWD || ""; - save = throttle((value: string) => { - this.props.cluster.preferences.terminalCWD = value; - }, 500); + save = () => { + this.props.cluster.preferences.terminalCWD = this.directory; + }; onChange = (value: string) => { this.directory = value; - this.save(value); } render() { @@ -32,6 +30,7 @@ export class ClusterHomeDirSetting extends React.Component { theme="round-black" value={this.directory} onChange={this.onChange} + onBlur={this.save} placeholder="$HOME" /> diff --git a/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx b/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx index e09f610b85..8e2f8a2afa 100644 --- a/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx +++ b/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx @@ -5,7 +5,6 @@ import { observable } from "mobx"; import { observer } from "mobx-react"; import { SubTitle } from "../../layout/sub-title"; import { isRequired } from "../../input/input.validators"; -import throttle from "lodash/throttle"; interface Props { cluster: Cluster; @@ -15,14 +14,12 @@ interface Props { export class ClusterNameSetting extends React.Component { @observable name = this.props.cluster.preferences.clusterName || ""; - save = throttle((value: string) => { - if (!value) return; - this.props.cluster.preferences.clusterName = value; - }, 500); + save = () => { + this.props.cluster.preferences.clusterName = this.name; + }; onChange = (value: string) => { this.name = value; - this.save(value); } render() { @@ -35,6 +32,7 @@ export class ClusterNameSetting extends React.Component { validators={isRequired} value={this.name} onChange={this.onChange} + onBlur={this.save} /> ); diff --git a/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx b/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx index 9de265aaf4..e4f81bb18a 100644 --- a/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx +++ b/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx @@ -1,4 +1,5 @@ import React from "react"; +import merge from "lodash/merge"; import { observer } from "mobx-react"; import { prometheusProviders } from "../../../../common/prometheus-providers"; import { Cluster } from "../../../../main/cluster"; @@ -28,7 +29,12 @@ export class ClusterPrometheusSetting extends React.Component {