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

57 lines
1.4 KiB
JavaScript
Raw Normal View History

2021-04-17 10:45:42 +01:00
import { Page } from "../../types/Page.js";
2021-05-03 09:25:42 +01:00
import { changePage, setPageContent, setTitleElement } from "../../pageUtils.js";
2021-05-07 11:53:26 +01:00
import { getSecretMetadata } from "../../api/getSecretMetadata.js";
2021-04-17 10:45:42 +01:00
import { makeElement } from "../../htmlUtils.js";
import { pageState } from "../../globalPageState.js";
import i18next from 'i18next';
2021-04-15 13:01:58 +01:00
export class KeyValueVersionsPage extends Page {
2021-04-15 15:37:52 +01:00
constructor() {
super();
}
goBack() {
if (pageState.currentSecretVersion != null) {
pageState.currentSecretVersion = null;
2021-05-05 17:03:00 +01:00
}
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 i18next.t("kv_sec_versions_suffix");
2021-04-15 15:37:52 +01:00
}
get name() {
return i18next.t("kv_sec_versions_title");
2021-04-15 15:37:52 +01:00
}
}