Implemented plan upgrades

This commit is contained in:
2020-01-22 21:01:47 -05:00
parent b4bf0aad4b
commit e8aaa6d416
7 changed files with 458 additions and 0 deletions
+18
View File
@@ -67,6 +67,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
elements.transferMonthly = "transfer-monthly";
elements.transferOverage = "transfer-overage";
elements.transferUsed = "transfer-used";
elements.upgrade = "upgrade";
elements.volumeTable = "volume-table";
// Data recieved from API calls
@@ -78,6 +79,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
data.linode = {};
data.linodeTransfer = {};
data.notifications = [];
data.plan = {};
data.volumes = [];
// Static references to UI elements
@@ -111,6 +113,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
ui.transferMonthly = {};
ui.transferOverage = {};
ui.transferUsed = {};
ui.upgrade = {};
ui.volumeTable = {};
// Temporary state
@@ -524,6 +527,10 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
backups.appendChild(backupLink);
}
// Get plan info
if (data.linode.type)
apiGet("/linode/types/" + data.linode.type, displayPlan, null);
state.linodeRefresh = false;
};
@@ -636,6 +643,16 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
}
};
// Callback for linode plan API call
var displayPlan = function(response)
{
data.plan = response;
// Display the upgrade banner if one is available
if (data.plan.successor)
ui.upgrade.style.display = "block";
};
// Show storage totals
var displayStorage = function()
{
@@ -789,6 +806,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
ui.transferMonthly = document.getElementById(elements.transferMonthly);
ui.transferOverage = document.getElementById(elements.transferOverage);
ui.transferUsed = document.getElementById(elements.transferUsed);
ui.upgrade = document.getElementById(elements.upgrade);
ui.volumeTable = document.getElementById(elements.volumeTable);
// Attach button handlers