1
0
Fork 0
VaultUI/src/pages/KeyValueVersions.js

48 lines
1.2 KiB
JavaScript
Raw Normal View History

2021-04-15 13:01:58 +01:00
import { Page } from "../types/Page.js";
import { getSecretMetadata } from "../api.js";
import { setPageContent, setTitleElement } from "../pageUtils.js";
import { makeElement } from "../htmlUtils.js";
export class KeyValueVersionsPage extends Page {
constructor() {
super();
}
goBack() {
changePage(pages.KEY_VALUE_SECRETS);
}
async render() {
setTitleElement(pageState);
let versionsList = makeElement({
tag: "ul",
id: "versionsList",
class: ["uk-nav", "uk-nav-default"]
});
setPageContent(versionsList);
let metadata = await getSecretMetadata(
pageState.currentBaseMount,
pageState.currentSecretPath,
pageState.currentSecret
);
new Map(Object.entries(metadata.versions)).forEach((_, ver) => {
versionsList.appendChild(makeElement({
tag: "li",
children: makeElement({
tag: "a",
text: `v${ver}`,
onclick: _ => {
pageState.currentSecretVersion = ver;
changePage(pages.KEY_VALUE_SECRETS);
}
})
}));
});
}
get name() {
return "K/V Versions";
}
}