mirror of
https://github.com/komodorio/helm-dashboard.git
synced 2026-03-24 11:48:04 +00:00
Make k8s context a URL param
This commit is contained in:
@@ -258,7 +258,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="container-fluid small mt-3" style="z-index: -50">
|
<footer class="container-fluid small mt-5" style="z-index: -50">
|
||||||
<div class="row align-items-end justify-content-end">
|
<div class="row align-items-end justify-content-end">
|
||||||
<div class="col-3"></div>
|
<div class="col-3"></div>
|
||||||
<div class="col-4 text-center bg-white bg-opacity-50 p-2 px-3 rounded b-shadow">
|
<div class="col-4 text-center bg-white bg-opacity-50 p-2 px-3 rounded b-shadow">
|
||||||
@@ -282,8 +282,6 @@
|
|||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"
|
||||||
integrity="sha512-gU7kztaQEl7SHJyraPfZLQCNnrKdaQi5ndOyt4L4UPL/FHDd/uB9Je6KDARIqwnNNE27hnqoWLBq+Kpe4iHfeQ=="
|
integrity="sha512-gU7kztaQEl7SHJyraPfZLQCNnrKdaQi5ndOyt4L4UPL/FHDd/uB9Je6KDARIqwnNNE27hnqoWLBq+Kpe4iHfeQ=="
|
||||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"
|
|
||||||
integrity="sha256-0H3Nuz3aug3afVbUlsu12Puxva3CP4EhJtPExqs54Vg=" crossorigin="anonymous"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/luxon@3.0.3/build/global/luxon.min.js"
|
<script src="https://cdn.jsdelivr.net/npm/luxon@3.0.3/build/global/luxon.min.js"
|
||||||
integrity="sha256-RH4TKnKcKyde0s2jc5BW3pXZl/5annY3fcZI9VrV5WQ=" crossorigin="anonymous"></script>
|
integrity="sha256-RH4TKnKcKyde0s2jc5BW3pXZl/5annY3fcZI9VrV5WQ=" crossorigin="anonymous"></script>
|
||||||
<script src="static/list-view.js"></script>
|
<script src="static/list-view.js"></script>
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ function buildChartCard(elm) {
|
|||||||
|
|
||||||
statusStyle(elm.status, card, card.find(".rel-status span"))
|
statusStyle(elm.status, card, card.find(".rel-status span"))
|
||||||
|
|
||||||
card.find("a").attr("href", '#namespace=' + elm.namespace + '&name=' + elm.name)
|
card.find("a").attr("href", '#context=' + getHashParam('context') + '&namespace=' + elm.namespace + '&name=' + elm.name)
|
||||||
|
|
||||||
card.find(".rel-name span").data("chart", elm).click(function () {
|
card.find(".rel-name span").data("chart", elm).click(function () {
|
||||||
const self = $(this)
|
const self = $(this)
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
$(function () {
|
$(function () {
|
||||||
const clusterSelect = $("#cluster");
|
const clusterSelect = $("#cluster");
|
||||||
clusterSelect.change(function () {
|
clusterSelect.change(function () {
|
||||||
Cookies.set("context", clusterSelect.find("input:radio:checked").val())
|
window.location.href = "/#context=" + clusterSelect.find("input:radio:checked").val()
|
||||||
window.location.href = "/"
|
window.location.reload()
|
||||||
})
|
})
|
||||||
|
|
||||||
$.getJSON("/api/kube/contexts").fail(function (xhr) {
|
$.getJSON("/api/kube/contexts").fail(function (xhr) {
|
||||||
reportError("Failed to get list of clusters", xhr)
|
reportError("Failed to get list of clusters", xhr)
|
||||||
}).done(function (data) {
|
}).done(function (data) {
|
||||||
const context = Cookies.get("context")
|
const context = getHashParam("context")
|
||||||
fillClusterList(data, context);
|
fillClusterList(data, context);
|
||||||
|
|
||||||
const namespace = getHashParam("namespace")
|
const namespace = getHashParam("namespace")
|
||||||
@@ -31,7 +31,6 @@ function reportError(err, xhr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function getHashParam(name) {
|
function getHashParam(name) {
|
||||||
const params = new URLSearchParams(window.location.hash.substring(1))
|
const params = new URLSearchParams(window.location.hash.substring(1))
|
||||||
return params.get(name)
|
return params.get(name)
|
||||||
@@ -75,16 +74,22 @@ function fillClusterList(data, context) {
|
|||||||
opt.find("span").text(label)
|
opt.find("span").text(label)
|
||||||
if (elm.IsCurrent && !context) {
|
if (elm.IsCurrent && !context) {
|
||||||
opt.find("input").prop("checked", true)
|
opt.find("input").prop("checked", true)
|
||||||
|
setCurrentContext(elm.Name)
|
||||||
} else if (context && elm.Name === context) {
|
} else if (context && elm.Name === context) {
|
||||||
opt.find("input").prop("checked", true)
|
opt.find("input").prop("checked", true)
|
||||||
|
setCurrentContext(elm.Name)
|
||||||
|
}
|
||||||
|
$("#cluster").append(opt)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function setCurrentContext(ctx) {
|
||||||
|
setHashParam("context", ctx)
|
||||||
$.ajaxSetup({
|
$.ajaxSetup({
|
||||||
headers: {
|
headers: {
|
||||||
'x-kubecontext': context
|
'x-kubecontext': context
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
$("#cluster").append(opt)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAge(obj1, obj2) {
|
function getAge(obj1, obj2) {
|
||||||
|
|||||||
Reference in New Issue
Block a user