1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

fix: "disconnect" cluster from clusters context-menu

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman 2020-07-21 13:21:33 +03:00
parent 70bbb9fa62
commit a40a9fec0e
3 changed files with 14 additions and 11 deletions

View File

@ -9,24 +9,24 @@ export const clusterIpc = {
const cluster = clusterStore.getById(clusterId);
if (cluster) {
await cluster.refreshStatus();
cluster.pushState();
return cluster.pushState();
}
},
}),
disconnect: createIpcChannel({
channel: "cluster:disconnect",
handle: (clusterId: ClusterId) => {
handle: (clusterId: ClusterId = clusterStore.activeClusterId) => {
tracker.event("cluster", "stop");
clusterStore.getById(clusterId)?.disconnect();
return clusterStore.getById(clusterId)?.disconnect();
},
}),
reconnect: createIpcChannel({
channel: "cluster:reconnect",
handle: (clusterId: ClusterId) => {
handle: (clusterId: ClusterId = clusterStore.activeClusterId) => {
tracker.event("cluster", "reconnect");
clusterStore.getById(clusterId)?.reconnect();
return clusterStore.getById(clusterId)?.reconnect();
},
}),
}

View File

@ -334,13 +334,14 @@ export class Cluster implements ClusterModel {
})
}
pushState = (clusterState = this.getState()) => {
logger.debug(`[CLUSTER]: push-state`, clusterState);
pushState = (state = this.getState()): ClusterState => {
logger.debug(`[CLUSTER]: push-state`, state);
broadcastIpc({
// webContentId: viewId, // todo: send to cluster-view only
channel: "cluster:state",
args: [clusterState],
})
args: [state],
});
return state;
}
// get cluster system meta, e.g. use in "logger"

View File

@ -19,10 +19,10 @@ import { clusterSettingsURL } from "../+cluster-settings";
import { landingURL } from "../+landing-page";
import { Tooltip, TooltipContent } from "../tooltip";
import { ConfirmDialog } from "../confirm-dialog";
import { clusterIpc } from "../../../common/cluster-ipc";
// fixme: refresh all cluster-icon badges in background (events-count per cluster)
// fixme: allow to rearrange clusters with drag&drop
// fixme: disconnect cluster from context-menu
interface Props {
className?: IClassName;
@ -57,6 +57,7 @@ export class ClustersMenu extends React.Component<Props> {
label: _i18n._(t`Disconnect`),
click: () => {
navigate(landingURL());
clusterIpc.disconnect.invokeFromRenderer();
}
}))
}
@ -100,12 +101,13 @@ export class ClustersMenu extends React.Component<Props> {
)}
<div className="clusters flex column gaps">
{clusters.map(cluster => {
const isActive = cluster.isReady && cluster.id === clusterStore.activeClusterId;
return (
<ClusterIcon
key={cluster.id}
showErrors={true}
cluster={cluster}
isActive={cluster.id === clusterStore.activeClusterId}
isActive={isActive}
onClick={() => this.showCluster(cluster.id)}
onContextMenu={() => this.showContextMenu(cluster)}
/>