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-05-07 22:23:52 +01:00
|
|
|
import { makeElement } from "../../htmlUtils";
|
|
|
|
import { objectToMap } from "../../utils";
|
2021-05-07 11:07:03 +01:00
|
|
|
import { pageState } from "../../globalPageState.js";
|
2021-04-20 23:08:02 +01:00
|
|
|
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() {
|
2021-05-05 17:49:08 +01:00
|
|
|
if (pageState.currentSecretVersion != null) {
|
|
|
|
pageState.currentSecretVersion = null;
|
2021-05-05 17:03:00 +01:00
|
|
|
}
|
2021-04-20 22:49:33 +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
|
|
|
|
);
|
|
|
|
|
2021-05-07 14:19:34 +01:00
|
|
|
objectToMap(metadata.versions).forEach((_, ver) => {
|
2021-04-15 15:37:52 +01:00
|
|
|
versionsList.appendChild(makeElement({
|
|
|
|
tag: "li",
|
|
|
|
children: makeElement({
|
|
|
|
tag: "a",
|
|
|
|
text: `v${ver}`,
|
|
|
|
onclick: _ => {
|
|
|
|
pageState.currentSecretVersion = ver;
|
2021-04-20 22:49:33 +01:00
|
|
|
changePage("KEY_VALUE_SECRET");
|
2021-04-15 15:37:52 +01:00
|
|
|
}
|
|
|
|
})
|
|
|
|
}));
|
|
|
|
});
|
2021-04-17 11:06:34 +01:00
|
|
|
}
|
2021-04-15 15:37:52 +01:00
|
|
|
|
2021-04-20 20:32:57 +01:00
|
|
|
get titleSuffix() {
|
2021-04-20 23:08:02 +01:00
|
|
|
return i18next.t("kv_sec_versions_suffix");
|
2021-04-15 15:37:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
get name() {
|
2021-04-20 23:08:02 +01:00
|
|
|
return i18next.t("kv_sec_versions_title");
|
2021-04-15 15:37:52 +01:00
|
|
|
}
|
|
|
|
}
|