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

51 lines
1.2 KiB
JavaScript
Raw Normal View History

2021-04-17 10:45:42 +01:00
import { Page } from "../../types/Page.js";
import { getSecretMetadata } from "../../api.js";
2021-04-17 11:30:10 +01:00
import { setPageContent, setTitleElement, changePage } from "../../pageUtils.js";
2021-04-17 10:45:42 +01:00
import { makeElement } from "../../htmlUtils.js";
2021-04-15 13:01:58 +01:00
export class KeyValueVersionsPage extends Page {
2021-04-15 15:37:52 +01:00
constructor() {
super();
}
goBack() {
changePage("KEY_VALUE_SECRET");
2021-04-15 15:37:52 +01:00
}
async render() {
setTitleElement(pageState);
2021-04-15 13:01:58 +01:00
2021-04-15 15:37:52 +01:00
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("KEY_VALUE_SECRET");
2021-04-15 15:37:52 +01:00
}
})
}));
});
}
2021-04-15 15:37:52 +01:00
get titleSuffix() {
return " (versions)";
2021-04-15 15:37:52 +01:00
}
get name() {
return "K/V Versions";
}
}