mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
use dialog.showOpenDialog for selecting custom kube-config file
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
16e50556dd
commit
8c145131e9
@ -83,7 +83,7 @@ msgstr "Account Name"
|
||||
msgid "Active"
|
||||
msgstr "Active"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:176
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:196
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
||||
msgid "Add Cluster"
|
||||
msgstr "Add Cluster"
|
||||
@ -108,7 +108,7 @@ msgstr "Add bindings to {name}"
|
||||
#~ msgid "Add cluster"
|
||||
#~ msgstr "Add cluster"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:223
|
||||
msgid "Add cluster(s)"
|
||||
msgstr "Add cluster(s)"
|
||||
|
||||
@ -710,7 +710,7 @@ msgstr "Currently applied filters:"
|
||||
msgid "Custom Resources"
|
||||
msgstr "Custom Resources"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:121
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:141
|
||||
msgid "Custom.."
|
||||
msgstr "Custom.."
|
||||
|
||||
@ -1730,13 +1730,17 @@ msgstr "Persistent Volume Claims"
|
||||
msgid "Persistent Volumes"
|
||||
msgstr "Persistent Volumes"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:78
|
||||
msgid "Please select kube-config's context"
|
||||
msgstr "Please select kube-config's context"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
||||
#~ msgid "Please select kubeconfig"
|
||||
#~ msgstr "Please select kubeconfig"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
||||
msgid "Please select kubeconfig context"
|
||||
msgstr "Please select kubeconfig context"
|
||||
#~ msgid "Please select kubeconfig context"
|
||||
#~ msgstr "Please select kubeconfig context"
|
||||
|
||||
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
||||
msgid "Pod"
|
||||
@ -1832,7 +1836,7 @@ msgstr "Provisioner"
|
||||
msgid "Proxy is used only for non-cluster communication."
|
||||
msgstr "Proxy is used only for non-cluster communication."
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:188
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:207
|
||||
msgid "Proxy settings"
|
||||
msgstr "Proxy settings"
|
||||
|
||||
@ -2216,7 +2220,7 @@ msgstr "Secret type"
|
||||
msgid "Secrets"
|
||||
msgstr "Secrets"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:185
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||
msgid "Select a context"
|
||||
msgstr "Select a context"
|
||||
|
||||
@ -2228,6 +2232,11 @@ msgstr "Select a quota.."
|
||||
#~ msgid "Select context"
|
||||
#~ msgstr "Select context"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||
msgid "Select custom kube-config file"
|
||||
msgstr "Select custom kube-config file"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
||||
#~ msgid "Select kubeconfig"
|
||||
#~ msgstr "Select kubeconfig"
|
||||
@ -2570,6 +2579,11 @@ msgstr "Upgrade version"
|
||||
msgid "Usage"
|
||||
msgstr "Usage"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||
msgid "Use configuration"
|
||||
msgstr "Use configuration"
|
||||
|
||||
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
||||
msgid "Use same name for RoleBinding"
|
||||
msgstr "Use same name for RoleBinding"
|
||||
|
||||
@ -83,7 +83,7 @@ msgstr ""
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:176
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:196
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
||||
msgid "Add Cluster"
|
||||
msgstr ""
|
||||
@ -108,7 +108,7 @@ msgstr ""
|
||||
#~ msgid "Add cluster"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:223
|
||||
msgid "Add cluster(s)"
|
||||
msgstr ""
|
||||
|
||||
@ -706,7 +706,7 @@ msgstr ""
|
||||
msgid "Custom Resources"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:121
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:141
|
||||
msgid "Custom.."
|
||||
msgstr ""
|
||||
|
||||
@ -1713,13 +1713,17 @@ msgstr ""
|
||||
msgid "Persistent Volumes"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:78
|
||||
msgid "Please select kube-config's context"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
||||
#~ msgid "Please select kubeconfig"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
||||
msgid "Please select kubeconfig context"
|
||||
msgstr ""
|
||||
#~ msgid "Please select kubeconfig context"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
||||
msgid "Pod"
|
||||
@ -1815,7 +1819,7 @@ msgstr ""
|
||||
msgid "Proxy is used only for non-cluster communication."
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:188
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:207
|
||||
msgid "Proxy settings"
|
||||
msgstr ""
|
||||
|
||||
@ -2199,7 +2203,7 @@ msgstr ""
|
||||
msgid "Secrets"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:185
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||
msgid "Select a context"
|
||||
msgstr ""
|
||||
|
||||
@ -2211,6 +2215,11 @@ msgstr ""
|
||||
#~ msgid "Select context"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||
msgid "Select custom kube-config file"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
||||
#~ msgid "Select kubeconfig"
|
||||
#~ msgstr ""
|
||||
@ -2553,6 +2562,11 @@ msgstr ""
|
||||
msgid "Usage"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||
msgid "Use configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
||||
msgid "Use same name for RoleBinding"
|
||||
msgstr ""
|
||||
|
||||
@ -84,7 +84,7 @@ msgstr "Название аккаунта"
|
||||
msgid "Active"
|
||||
msgstr "Активный"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:176
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:196
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:116
|
||||
msgid "Add Cluster"
|
||||
msgstr ""
|
||||
@ -109,7 +109,7 @@ msgstr "Добавить привязки к {name}"
|
||||
#~ msgid "Add cluster"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:223
|
||||
msgid "Add cluster(s)"
|
||||
msgstr ""
|
||||
|
||||
@ -711,7 +711,7 @@ msgstr "Текущие фильтры:"
|
||||
msgid "Custom Resources"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:121
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:141
|
||||
msgid "Custom.."
|
||||
msgstr ""
|
||||
|
||||
@ -1731,13 +1731,17 @@ msgstr "Persistent Volume Claims"
|
||||
msgid "Persistent Volumes"
|
||||
msgstr "Persistent Volumes"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:78
|
||||
msgid "Please select kube-config's context"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:63
|
||||
#~ msgid "Please select kubeconfig"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:64
|
||||
msgid "Please select kubeconfig context"
|
||||
msgstr ""
|
||||
#~ msgid "Please select kubeconfig context"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+workloads-pods/pod-menu.tsx:50
|
||||
msgid "Pod"
|
||||
@ -1833,7 +1837,7 @@ msgstr "Комиссия"
|
||||
msgid "Proxy is used only for non-cluster communication."
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:188
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:207
|
||||
msgid "Proxy settings"
|
||||
msgstr ""
|
||||
|
||||
@ -2217,7 +2221,7 @@ msgstr "Тип секрета"
|
||||
msgid "Secrets"
|
||||
msgstr "Secrets"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:185
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:204
|
||||
msgid "Select a context"
|
||||
msgstr ""
|
||||
|
||||
@ -2229,6 +2233,11 @@ msgstr "Выберите квоту..."
|
||||
#~ msgid "Select context"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:52
|
||||
msgid "Select custom kube-config file"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:173
|
||||
#~ msgid "Select kubeconfig"
|
||||
#~ msgstr ""
|
||||
@ -2571,6 +2580,11 @@ msgstr "Обновить версию"
|
||||
msgid "Usage"
|
||||
msgstr "Использование"
|
||||
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||
#: src/renderer/components/+add-cluster/add-cluster.tsx:53
|
||||
msgid "Use configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx:190
|
||||
msgid "Use same name for RoleBinding"
|
||||
msgstr "Использовать тоже имя для привязки ролей"
|
||||
|
||||
@ -2,10 +2,12 @@ import "./add-cluster.scss"
|
||||
import React, { Fragment } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { computed, observable } from "mobx";
|
||||
import { remote } from "electron";
|
||||
import { KubeConfig } from "@kubernetes/client-node";
|
||||
import { Trans } from "@lingui/macro";
|
||||
import { _i18n } from "../../i18n";
|
||||
import { t, Trans } from "@lingui/macro";
|
||||
import { Select, SelectOption } from "../select";
|
||||
import { FileInput, Input } from "../input";
|
||||
import { Input } from "../input";
|
||||
import { AceEditor } from "../ace-editor";
|
||||
import { Button } from "../button";
|
||||
import { Icon } from "../icon";
|
||||
@ -33,14 +35,18 @@ export class AddCluster extends React.Component {
|
||||
@observable customConfig = ""
|
||||
|
||||
componentDidMount() {
|
||||
this.setLocalConfigPath(userStore.kubeConfigPath);
|
||||
this.kubeConfigPath = userStore.kubeConfigPath;
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
userStore.markNewContextsAsSeen();
|
||||
}
|
||||
|
||||
protected setLocalConfigPath(filePath: string) {
|
||||
protected get kubeConfigPath() {
|
||||
return userStore.kubeConfigPath;
|
||||
}
|
||||
|
||||
protected set kubeConfigPath(filePath: string) {
|
||||
try {
|
||||
const kubeConfig = loadConfig(filePath);
|
||||
validateConfig(kubeConfig);
|
||||
@ -54,6 +60,19 @@ export class AddCluster extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
selectKubeConfig = async () => {
|
||||
const { dialog, BrowserWindow } = remote;
|
||||
const { canceled, filePaths } = await dialog.showOpenDialog(BrowserWindow.getFocusedWindow(), {
|
||||
defaultPath: this.kubeConfigPath,
|
||||
properties: ["openFile", "showHiddenFiles"],
|
||||
message: _i18n._(t`Select custom kube-config file`),
|
||||
buttonLabel: _i18n._(t`Use configuration`),
|
||||
});
|
||||
if (!canceled && filePaths.length) {
|
||||
this.kubeConfigPath = filePaths[0];
|
||||
}
|
||||
}
|
||||
|
||||
@computed get isCustom() {
|
||||
return this.newClusterConfig === this.custom;
|
||||
}
|
||||
@ -179,25 +198,18 @@ export class AddCluster extends React.Component {
|
||||
<WizardLayout className="AddCluster" infoPanel={this.renderInfo()}>
|
||||
<h2><Trans>Add Cluster</Trans></h2>
|
||||
<div className="flex gaps align-center">
|
||||
<label
|
||||
htmlFor="kube-config-select"
|
||||
className="kube-config-select flex gaps align-center box grow"
|
||||
>
|
||||
<label className="kube-config-select flex gaps align-center box grow" onClick={this.selectKubeConfig}>
|
||||
<span className="title">Kubeconfig file</span>
|
||||
<code>{userStore.kubeConfigPath}</code>
|
||||
<code>{this.kubeConfigPath}</code>
|
||||
</label>
|
||||
{kubeConfigDefaultPath !== userStore.kubeConfigPath && (
|
||||
{this.kubeConfigPath !== kubeConfigDefaultPath && (
|
||||
<Icon
|
||||
material="settings_backup_restore"
|
||||
onClick={() => this.setLocalConfigPath(kubeConfigDefaultPath)}
|
||||
onClick={() => this.kubeConfigPath = kubeConfigDefaultPath}
|
||||
tooltip="Reset to defaults"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
<FileInput
|
||||
id="kube-config-select"
|
||||
onSelectFiles={({ file }) => this.setLocalConfigPath(file.path)}
|
||||
/>
|
||||
<Select
|
||||
placeholder={<Trans>Select a context</Trans>}
|
||||
value={this.newClusterConfig}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user