Bugfixes (#11)

* Don't offer rollback for the first revision

* Fix the rollback bug

* Cosmetics

* Errors shown as alerts
This commit is contained in:
Andrey Pokhilko
2022-09-15 13:27:24 +01:00
committed by GitHub
parent 269895ae31
commit 6b8d959491
5 changed files with 81 additions and 46 deletions

View File

@@ -2,8 +2,10 @@ const clusterSelect = $("#cluster");
const chartsCards = $("#charts");
const revRow = $("#sectionDetails .row");
function reportError(err) {
alert(err) // TODO: nice modal/baloon/etc
function reportError(err, xhr) {
$("#errorAlert h4 span").text(err)
$("#errorAlert p").text(xhr.responseText)
$("#errorAlert").show()
}
function revisionClicked(namespace, name, self) {
@@ -20,11 +22,12 @@ function revisionClicked(namespace, name, self) {
$("#revDescr").addClass("text-danger")
}
if (false) { // TODO: hide if only one revision
const rev = $("#specRev").data("last-rev") == elm.revision ? elm.revision - 1 : elm.revision
console.log(rev, $("#specRev").data("first-rev"))
if (!rev || getHashParam("revision") === $("#specRev").data("first-rev")) {
$("#btnRollback").hide()
} else {
const rev = $("#specRev").data("last-rev") == elm.revision ? elm.revision - 1 : elm.revision
$("#btnRollback").data("rev", rev).show().find("span").text("Rollback to #" + rev)
$("#btnRollback").show().data("rev", rev).find("span").text("Rollback to #" + rev)
}
const tab = getHashParam("tab")
@@ -78,11 +81,14 @@ $("#userDefinedVals").change(function () {
function loadContentWrapper() {
let revDiff = 0
const revision = parseInt(getHashParam("revision"));
if (getHashParam("mode") === "diff-prev") {
if (revision === $("#specRev").data("first-rev")) {
revDiff = 0
} else if (getHashParam("mode") === "diff-prev") {
revDiff = revision - 1
} else if (getHashParam("mode") === "diff-rev") {
revDiff = $("#specRev").val()
}
const flag = $("#userDefinedVals").prop("checked");
loadContent(getHashParam("tab"), getHashParam("namespace"), getHashParam("chart"), revision, revDiff, flag)
}
@@ -139,6 +145,11 @@ function fillChartHistory(data, namespace, name) {
for (let x = 0; x < data.length; x++) {
const elm = data[x]
$("#specRev").val(elm.revision).data("last-rev", elm.revision).data("last-chart-ver", elm.chart_ver)
if (!x) {
$("#specRev").data("first-rev", elm.revision)
}
const rev = $(`<div class="col-md-2 p-2 rounded border border-secondary bg-gradient bg-white">
<span><b class="rev-number"></b> - <span class="rev-status"></span></span><br/>
<span class="text-muted">Chart:</span> <span class="chart-ver"></span><br/>
@@ -244,7 +255,7 @@ function checkUpgradeable(name) {
const canUpgrade = isNewerVersion(verCur, elm.version);
$("#btnUpgradeCheck").prop("disabled", false)
if (canUpgrade) {
$("#btnUpgrade").removeClass("bg-secondary bg-opacity-50").addClass("bg-success").text("Upgrade to "+elm.version)
$("#btnUpgrade").removeClass("bg-secondary bg-opacity-50").addClass("bg-success").text("Upgrade to " + elm.version)
} else {
$("#btnUpgrade").removeClass("bg-success").addClass("bg-secondary bg-opacity-50").text("No upgrades")
}
@@ -281,7 +292,7 @@ $('#upgradeModalLabel select').change(function () {
})
$("#upgradeModal .btn-secondary").click(function () {
const self=$(this)
const self = $(this)
self.find(".fa").removeClass("fa-cloud-download").addClass("fa-spin fa-spinner").prop("disabled", true)
$("#btnUpgradeCheck").click()
$("#upgradeModal .btn-close").click()
@@ -365,8 +376,8 @@ function buildChartCard(elm) {
function loadChartsList() {
$("#sectionList").show()
chartsCards.empty().append("<div><span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span> Loading...</div>")
$.getJSON("/api/helm/charts").fail(function () {
reportError("Failed to get list of charts")
$.getJSON("/api/helm/charts").fail(function (xhr) {
reportError("Failed to get list of charts", xhr)
}).done(function (data) {
chartsCards.empty()
data.forEach(function (elm) {
@@ -558,8 +569,8 @@ $("#btnRollback").click(function () {
$.ajax({
url: url,
type: 'POST',
}).fail(function () {
reportError("Failed to rollback the chart")
}).fail(function (xhr) {
reportError("Failed to rollback the chart", xhr)
}).done(function () {
window.location.reload()
})
@@ -584,7 +595,11 @@ $("#btnRollback").click(function () {
};
const diff2htmlUi = new Diff2HtmlUI(targetElement, data, configuration);
diff2htmlUi.draw()
$("#confirmModalBody").prepend("<p>Following changes will happen to cluster:</p>")
if (data) {
$("#confirmModalBody").prepend("<p>Following changes will happen to cluster:</p>")
} else {
$("#confirmModalBody").html("<p>No changes will happen to cluster</p>")
}
})
})