diff --git a/DnsServerCore/www/js/apps.js b/DnsServerCore/www/js/apps.js index deb1f284..098d09cf 100644 --- a/DnsServerCore/www/js/apps.js +++ b/DnsServerCore/www/js/apps.js @@ -50,6 +50,7 @@ function refreshApps() { tableHtmlRows += "" + htmlEncode(name) + ""; tableHtmlRows += "" + detailsTable + ""; tableHtmlRows += ""; + tableHtmlRows += ""; tableHtmlRows += ""; } @@ -87,6 +88,15 @@ function showInstallAppModal() { }, 1000); } +function showUpdateAppModal(appName) { + $("#divUpdateAppAlert").html(""); + $("#txtUpdateApp").val(appName); + $("#fileUpdateAppZip").val(""); + $("#btnUpdateApp").button("reset"); + + $("#modalUpdateApp").modal("show"); +} + function installApp() { var divInstallAppAlert = $("#divInstallAppAlert"); var appName = $("#txtInstallApp").val(); @@ -131,6 +141,43 @@ function installApp() { }); } +function updateApp() { + var divUpdateAppAlert = $("#divUpdateAppAlert"); + var appName = $("#txtUpdateApp").val(); + var fileAppZip = $("#fileUpdateAppZip"); + + if (fileAppZip[0].files.length === 0) { + showAlert("warning", "Missing!", "Please select an application zip file to update.", divUpdateAppAlert); + fileAppZip.focus(); + return false; + } + + var formData = new FormData(); + formData.append("fileAppZip", $("#fileUpdateAppZip")[0].files[0]); + + var btn = $("#btnUpdateApp").button('loading'); + + HTTPRequest({ + url: "/api/apps/update?token=" + token + "&name=" + appName, + data: formData, + dataIsFormData: true, + success: function (responseJSON) { + $("#modalUpdateApp").modal("hide"); + + refreshApps(); + + showAlert("success", "App Updated!", "DNS application was updated successfully."); + }, + error: function () { + btn.button('reset'); + }, + invalidToken: function () { + showPageLogin(); + }, + objAlertPlaceholder: divUpdateAppAlert + }); +} + function uninstallApp(objBtn, appName) { if (!confirm("Are you sure you want to uninstall the DNS application '" + appName + "'?")) return false;