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

Refactor secrets to observable map

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
This commit is contained in:
Lauri Nevala 2021-03-02 09:12:52 +02:00
parent 592a1a7488
commit 576d9c7b68

View File

@ -13,18 +13,20 @@ interface Props {
@observer
export class PodDetailsSecrets extends Component<Props> {
@observable secrets: Secret[] = [];
@observable secrets: Map<string, Secret> = observable.map<string, Secret>();
@disposeOnUnmount
secretsLoader = autorun(async () => {
const { pod } = this.props;
this.secrets = (await Promise.all(
const secrets = await Promise.all(
pod.getSecrets().map(secretName => secretsApi.get({
name: secretName,
namespace: pod.getNs(),
}))
)).filter(Boolean);
);
secrets.forEach(secret => secret && this.secrets.set(secret.getName(), secret));
});
render() {
@ -34,13 +36,13 @@ export class PodDetailsSecrets extends Component<Props> {
<div className="PodDetailsSecrets">
{
pod.getSecrets().map(secretName => {
const secret = this.secrets.find(secret => secret.getName() === secretName);
const secret = this.secrets.get(secretName);
if (secret) {
return this.renderSecretLink(secret);
} else {
return (
<span>{secretName}</span>
<span key={secretName}>{secretName}</span>
);
}
})