572 lines
30 KiB
JavaScript
572 lines
30 KiB
JavaScript
// ==UserScript==
|
|
// @name Status.io Selector 2
|
|
// @namespace https://status.io
|
|
// @description Effort to simplify configuration of incidents/maintenance windows
|
|
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
|
|
// @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js
|
|
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
|
|
// @grant GM_addStyle
|
|
// @grant GM_setClipboard
|
|
// @version 0.0.1
|
|
// ==/UserScript==
|
|
|
|
|
|
// draw frame
|
|
var zNode = document.createElement('div');
|
|
zNode.setAttribute('id', 'myContainer');
|
|
document.body.appendChild(zNode);
|
|
|
|
if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) {
|
|
// render initial HTML
|
|
var profilesHTML = '<center><button id="controlplanesButton" type="button">Controlplanes</button> ' +
|
|
'<button id="stagesButton" type="button">Stages</button> <button id="dataplanesButton" type="button">' +
|
|
'Dataplanes</button> <button id="shrinkButton" type="button">Shrink</button></center>';
|
|
zNode.innerHTML = profilesHTML;
|
|
document.getElementById("controlplanesButton").addEventListener("click", controlplanesButtonClickAction, false);
|
|
document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false);
|
|
document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false);
|
|
document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false);
|
|
|
|
// initialize azure component and region variables
|
|
var componentArray = ["api", "auth", "compute", "jobs", "odbc", "webapp", "sql"];
|
|
var regionArray = ["canadacentral", "canadaeast", "centralindia", "southindia", "westindia",
|
|
"switzerlandnorth", "norwayeast", "westus2", "westus", "southcentralus",
|
|
"westeurope", "northeurope", "ukwest", "uksouth", "southafricanorth",
|
|
"uaenorth", "australiaeast", "australiacentral", "australiacentral2",
|
|
"australiasoutheast", "japaneast", "japanwest", "koreacentral",
|
|
"southeastasia", "eastasia", "brazilsouth", "eastus2", "eastus",
|
|
"centralus", "northcentralus", "francecentral", "chinanorth2", "chinaeast2",
|
|
"usgovvirginia", "usgovarizona"];
|
|
|
|
// create tracking maps
|
|
var selectedComponents = new Map();
|
|
var selectedRegions = new Map();
|
|
for (i = 0; i < componentArray.length; i++) {
|
|
selectedComponents.set(componentArray[i], false);
|
|
}
|
|
for (i = 0; i < regionArray.length; i++) {
|
|
selectedRegions.set(regionArray[i], false)
|
|
}
|
|
|
|
// init component div groups
|
|
var apiGroup = $("div.form-group").filter(":contains('API Service')");
|
|
var authGroup = $("div.form-group").filter(":contains('Authentication')");
|
|
var computeGroup = $("div.form-group").filter(":contains('Compute Service')");
|
|
var jobsGroup = $("div.form-group").filter(":contains('Jobs Service')");
|
|
var odbcGroup = $("div.form-group").filter(":contains('ODBC/JDBC Service')");
|
|
var webappGroup = $("div.form-group").filter(":contains('User Interface')");
|
|
var sqlGroup = $("div.form-group").filter(":contains('Databricks SQL')");
|
|
|
|
// write component HTML template
|
|
var componentsHTML = '<button id="allComponentsButton" type="button">AllComponents</button> <button id="apiButton" type="button">API</button>' +
|
|
'<button id="authButton">Auth</button><button id="computeButton" type="button">Compute</button><button id="jobsButton" type="button">Jobs</button>' +
|
|
'<button id="odbcButton" type="button">ODBC/JDBC</button><button id="webappButton" type="button">Webapp</button>' +
|
|
'<button id="sqlButton" type="button">SQL</button></br></br>';
|
|
|
|
// regional functions
|
|
function canadaeastButtonClickAction(zEvent) {
|
|
toggleRegion("canadaeast");
|
|
toggleButtonColor("canadaeastButton");
|
|
};
|
|
function canadacentralButtonClickAction(zEvent) {
|
|
toggleRegion("canadacentral");
|
|
toggleButtonColor("canadacentralButton");
|
|
};
|
|
function canadacentralCPButtonClickAction(zEvent) {
|
|
toggleRegion("canadacentral");
|
|
toggleRegion("canadaeast");
|
|
toggleButtonColor("canadacentralButton");
|
|
}
|
|
function centralindiaButtonClickAction(zEvent) {
|
|
toggleRegion("centralindia");
|
|
toggleButtonColor("centralindiaButton");
|
|
};
|
|
function centralindiaCPButtonClickAction(zEvent) {
|
|
toggleRegion("centralindia");
|
|
toggleRegion("southindia");
|
|
toggleRegion("westindia");
|
|
toggleButtonColor("centralindiaButton");
|
|
};
|
|
function southindiaButtonClickAction(zEvent) {
|
|
toggleRegion("southindia");
|
|
toggleButtonColor("southindiaButton");
|
|
};
|
|
function westindiaButtonClickAction(zEvent) {
|
|
toggleRegion("westindia");
|
|
toggleButtonColor("westindiaButton");
|
|
};
|
|
function switzerlandnorthButtonClickAction(zEvent) {
|
|
toggleRegion("switzerlandnorth");
|
|
toggleButtonColor("switzerlandnorthButton");
|
|
};
|
|
function norwayeastButtonClickAction(zEvent) {
|
|
toggleRegion("norwayeast");
|
|
toggleButtonColor("norwayeastButton");
|
|
};
|
|
function westusButtonClickAction(zEvent) {
|
|
toggleRegion("westus");
|
|
toggleButtonColor("westusButton");
|
|
};
|
|
function westusCPButtonClickAction(zEvent) {
|
|
toggleRegion("westus");
|
|
toggleRegion("westus2");
|
|
toggleRegion("southcentralus");
|
|
toggleButtonColor("westusButton");
|
|
};
|
|
function westus2ButtonClickAction(zEvent) {
|
|
toggleRegion("westus2");
|
|
toggleButtonColor("westus2Button");
|
|
};
|
|
function southcentralusButtonClickAction(zEvent) {
|
|
toggleRegion("southcentralus");
|
|
toggleButtonColor("southcentralusButton");
|
|
};
|
|
function westeuropeButtonClickAction(zEvent) {
|
|
toggleRegion("westeurope");
|
|
toggleButtonColor("westeuropeButton");
|
|
};
|
|
function westeuropeCPButtonClickAction(zEvent) {
|
|
toggleRegion("westeurope");
|
|
toggleRegion("northeurope");
|
|
toggleButtonColor("westeuropeButton");
|
|
}
|
|
function northeuropeButtonClickAction(zEvent) {
|
|
toggleRegion("northeurope");
|
|
toggleButtonColor("northeuropeButton");
|
|
};
|
|
function ukwestButtonClickAction(zEvent) {
|
|
toggleRegion("ukwest");
|
|
toggleButtonColor("ukwestButton");
|
|
};
|
|
function ukwestCPButtonClickAction(zEvent) {
|
|
toggleRegion("ukwest");
|
|
toggleRegion("uksouth");
|
|
toggleButtonColor("ukwestButton");
|
|
}
|
|
function uksouthButtonClickAction(zEvent) {
|
|
toggleRegion("uksouth");
|
|
toggleButtonColor("uksouthButton");
|
|
};
|
|
function southafricanorthButtonClickAction(zEvent) {
|
|
toggleRegion("southafricanorth");
|
|
toggleButtonColor("southafricanorthButton");
|
|
};
|
|
function uaenorthButtonClickAction(zEvent) {
|
|
toggleRegion("uaenorth");
|
|
toggleButtonColor("uaenorthButton");
|
|
};
|
|
function australiaeastButtonClickAction(zEvent) {
|
|
toggleRegion("australiaeast");
|
|
toggleButtonColor("australiaeastButton");
|
|
};
|
|
function australiaeastCPButtonClickAction(zEvent) {
|
|
toggleRegion("australiaeast");
|
|
toggleRegion("australiacentral");
|
|
toggleRegion("australiacentral2");
|
|
toggleRegion("australiasoutheast");
|
|
toggleButtonColor("australiaeastButton");
|
|
}
|
|
function australiacentralButtonClickAction(zEvent) {
|
|
toggleRegion("australiacentral");
|
|
toggleButtonColor("australiacentralButton");
|
|
};
|
|
function australiacentral2ButtonClickAction(zEvent) {
|
|
toggleRegion("australiacentral2");
|
|
toggleButtonColor("australiacentral2Button");
|
|
};
|
|
function australiasoutheastButtonClickAction(zEvent) {
|
|
toggleRegion("australiasoutheast");
|
|
toggleButtonColor("australiasoutheastButton");
|
|
};
|
|
function japaneastButtonClickAction(zEvent) {
|
|
toggleRegion("japaneast");
|
|
toggleButtonColor("japaneastButton");
|
|
};
|
|
function japaneastCPButtonClickAction(zEvent) {
|
|
toggleRegion("japaneast");
|
|
toggleRegion("japanwest");
|
|
toggleButtonColor("japaneastButton");
|
|
}
|
|
function japanwestButtonClickAction(zEvent) {
|
|
toggleRegion("japanwest");
|
|
toggleButtonColor("japanwestButton");
|
|
};
|
|
function koreacentralButtonClickAction(zEvent) {
|
|
toggleRegion("koreacentral");
|
|
toggleButtonColor("koreacentralButton");
|
|
};
|
|
function southeastasiaButtonClickAction(zEvent) {
|
|
toggleRegion("southeastasia");
|
|
toggleButtonColor("southeastasiaButton");
|
|
};
|
|
function eastasiaButtonClickAction(zEvent) {
|
|
toggleRegion("eastasia");
|
|
toggleButtonColor("eastasiaButton");
|
|
};
|
|
function brazilsouthButtonClickAction(zEvent) {
|
|
toggleRegion("brazilsouth");
|
|
toggleButtonColor("brazilsouthButton");
|
|
};
|
|
function eastus2ButtonClickAction(zEvent) {
|
|
toggleRegion("eastus2");
|
|
toggleButtonColor("eastus2Button");
|
|
};
|
|
function eastusButtonClickAction(zEvent) {
|
|
toggleRegion("eastus");
|
|
toggleButtonColor("eastusButton");
|
|
};
|
|
function centralusButtonClickAction(zEvent) {
|
|
toggleRegion("centralus");
|
|
toggleButtonColor("centralusButton");
|
|
};
|
|
function northcentralusButtonClickAction(zEvent) {
|
|
toggleRegion("northcentralus");
|
|
toggleButtonColor("northcentralusButton");
|
|
};
|
|
function francecentralButtonClickAction(zEvent) {
|
|
toggleRegion("francecentral");
|
|
toggleButtonColor("francecentralButton");
|
|
};
|
|
function chinanorth2ButtonClickAction(zEvent) {
|
|
toggleRegion("chinanorth2");
|
|
toggleButtonColor("chinanorth2Button");
|
|
};
|
|
function chinaeast2ButtonClickAction(zEvent) {
|
|
toggleRegion("chinaeast2");
|
|
toggleButtonColor("chinaeast2Button");
|
|
};
|
|
function usgovvirginiaButtonClickAction(zEvent) {
|
|
toggleRegion("usgovvirginia");
|
|
toggleButtonColor("usgovvirginiaButton");
|
|
};
|
|
function usgovarizonaButtonClickAction(zEvent) {
|
|
toggleRegion("usgovarizona");
|
|
toggleButtonColor("usgovarizonaButton");
|
|
};
|
|
|
|
// component functions
|
|
function authButtonClickAction(zEvent) {
|
|
toggleComponent("auth");
|
|
toggleButtonColor("authButton");
|
|
}
|
|
function apiButtonClickAction(zEvent) {
|
|
toggleComponent("api");
|
|
toggleButtonColor("apiButton");
|
|
}
|
|
function computeButtonClickAction(zEvent) {
|
|
toggleComponent("compute");
|
|
toggleButtonColor("computeButton");
|
|
}
|
|
function jobsButtonClickAction(zEvent) {
|
|
toggleComponent("jobs");
|
|
toggleButtonColor("jobsButton");
|
|
}
|
|
function odbcButtonClickAction(zEvent) {
|
|
toggleComponent("odbc");
|
|
toggleButtonColor("odbcButton");
|
|
}
|
|
function webappButtonClickAction(zEvent) {
|
|
toggleComponent("webapp");
|
|
toggleButtonColor("webappButton");
|
|
}
|
|
function sqlButtonClickAction(zEvent) {
|
|
toggleComponent("sql");
|
|
toggleButtonColor("sqlButton");
|
|
}
|
|
|
|
// profile functions
|
|
function controlplanesButtonClickAction(zEvent) {
|
|
loadControlplanes();
|
|
};
|
|
function dataplanesButtonClickAction(zEvent) {
|
|
loadDataplanes();
|
|
};
|
|
function stagesButtonClickAction(zEvent) {
|
|
loadStages();
|
|
};
|
|
function shrinkButtonClickAction(zEvent) {
|
|
shrink();
|
|
} //
|
|
function loadDataplanes() {
|
|
console.log("loading dataplanes profile")
|
|
var dataplaneHTML = '<button id="canadacentralButton" type="button">canadacentral</button><button id="canadaeastButton" type="button">canadaeast</button>' +
|
|
'<button id="centralindiaButton" type="button">centralindia</button><button id="southindiaButton" type="button">southindia</button>' +
|
|
'<button id="westindiaButton" type="button">westindia</button><button id="switzerlandnorthButton" type="button">switzerlandnorth</button>' +
|
|
'<button id="norwayeastButton" type="button">norwayeast</button></br></br>' +
|
|
'<button id="westusButton" type="button">westus</button><button id="westus2Button" type="button">westus2</button>' +
|
|
'<button id="southcentralusButton" type="button">southcentralus</button></br></br>' +
|
|
'<button id="westeuropeButton" type="button">westeurope</button><button id="northeuropeButton" type="button">northeurope</button>' +
|
|
'<button id="ukwestButton" type="button">ukwest</button><button id="uksouthButton" type="button">uksouth</button>' +
|
|
'<button id="southafricanorthButton" type="button">southafricanorth</button><button id="uaenorthButton" type="button">uaenorth</button></br></br>' +
|
|
'<button id="australiaeastButton" type="button">australiaeast</button><button id="australiacentralButton" type="button">australiacentral</button>' +
|
|
'<button id="australiacentral2Button" type="button">australiacentral2</button><button id="australiasoutheastButton" type="button">australiasoutheast</button>' +
|
|
'<button id="japaneastButton" type="button">japaneast</button></br><button id="japanwestButton" type="button">japanwest</button>' +
|
|
'<button id="koreacentralButton" type="button">koreacentral</button><button id="southeastasiaButton" type="button">southeastasia</button>' +
|
|
'<button id="eastasiaButton" type="button">eastasia</button></br></br>' +
|
|
'<button id="brazilsouthButton" type="button">brazilsouth</button><button id="eastus2Button" type="button">eastus2</button>' +
|
|
'<button id="eastusButton" type="button">eastus</button><button id="centralusButton" type="button">centralus</button>' +
|
|
'<button id="northcentralusButton" type="button">northcentralus</button><button id="francecentralButton" type="button">francecentral</button></br></br>' +
|
|
'<button id="chinanorth2Button" type="button">chinanorth2</button><button id="chinaeast2Button" type="button">chinaeast2</button>' +
|
|
'<button id="usgovvirginiaButton" type="button">usgovvirginia</button><button id="usgovarizonaButton" type="button">usgovarizona</button>';
|
|
|
|
|
|
zNode.innerHTML = profilesHTML + '<hr class="solid">' + dataplaneHTML + '<hr class="solid">' + componentsHTML +
|
|
'<button id="applyButton" type="button">Apply Selection</button><button id="resetButton" type="button">Reset Form</button>';
|
|
|
|
// regional listeners
|
|
document.getElementById("canadacentralButton").addEventListener("click", canadacentralButtonClickAction, false);
|
|
document.getElementById("canadaeastButton").addEventListener("click", canadaeastButtonClickAction, false);
|
|
document.getElementById("centralindiaButton").addEventListener("click", centralindiaButtonClickAction, false);
|
|
document.getElementById("southindiaButton").addEventListener("click", southindiaButtonClickAction, false);
|
|
document.getElementById("westindiaButton").addEventListener("click", westindiaButtonClickAction, false);
|
|
document.getElementById("switzerlandnorthButton").addEventListener("click", switzerlandnorthButtonClickAction, false);
|
|
document.getElementById("norwayeastButton").addEventListener("click", norwayeastButtonClickAction, false);
|
|
document.getElementById("westusButton").addEventListener("click", westusButtonClickAction, false);
|
|
document.getElementById("westus2Button").addEventListener("click", westus2ButtonClickAction, false);
|
|
document.getElementById("southcentralusButton").addEventListener("click", southcentralusButtonClickAction, false);
|
|
document.getElementById("westeuropeButton").addEventListener("click", westeuropeButtonClickAction, false);
|
|
document.getElementById("northeuropeButton").addEventListener("click", northeuropeButtonClickAction, false);
|
|
document.getElementById("ukwestButton").addEventListener("click", ukwestButtonClickAction, false);
|
|
document.getElementById("uksouthButton").addEventListener("click", uksouthButtonClickAction, false);
|
|
document.getElementById("southafricanorthButton").addEventListener("click", southafricanorthButtonClickAction, false);
|
|
document.getElementById("uaenorthButton").addEventListener("click", uaenorthButtonClickAction, false);
|
|
document.getElementById("australiaeastButton").addEventListener("click", australiaeastButtonClickAction, false);
|
|
document.getElementById("australiacentralButton").addEventListener("click", australiacentralButtonClickAction, false);
|
|
document.getElementById("australiacentral2Button").addEventListener("click", australiacentral2ButtonClickAction, false);
|
|
document.getElementById("australiasoutheastButton").addEventListener("click", australiasoutheastButtonClickAction, false);
|
|
document.getElementById("japaneastButton").addEventListener("click", japaneastButtonClickAction, false);
|
|
document.getElementById("japanwestButton").addEventListener("click", japanwestButtonClickAction, false);
|
|
document.getElementById("koreacentralButton").addEventListener("click", koreacentralButtonClickAction, false);
|
|
document.getElementById("southeastasiaButton").addEventListener("click", southeastasiaButtonClickAction, false);
|
|
document.getElementById("eastasiaButton").addEventListener("click", eastasiaButtonClickAction, false);
|
|
document.getElementById("brazilsouthButton").addEventListener("click", brazilsouthButtonClickAction, false);
|
|
document.getElementById("eastus2Button").addEventListener("click", eastus2ButtonClickAction, false);
|
|
document.getElementById("eastusButton").addEventListener("click", eastusButtonClickAction, false);
|
|
document.getElementById("centralusButton").addEventListener("click", centralusButtonClickAction, false);
|
|
document.getElementById("northcentralusButton").addEventListener("click", northcentralusButtonClickAction, false);
|
|
document.getElementById("francecentralButton").addEventListener("click", francecentralButtonClickAction, false);
|
|
document.getElementById("chinanorth2Button").addEventListener("click", chinanorth2ButtonClickAction, false);
|
|
document.getElementById("chinaeast2Button").addEventListener("click", chinaeast2ButtonClickAction, false);
|
|
document.getElementById("usgovvirginiaButton").addEventListener("click", usgovvirginiaButtonClickAction, false);
|
|
document.getElementById("usgovarizonaButton").addEventListener("click", usgovarizonaButtonClickAction, false);
|
|
|
|
// profile listeners
|
|
document.getElementById("controlplanesButton").addEventListener("click", controlplanesButtonClickAction, false);
|
|
document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false);
|
|
document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false);
|
|
document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false);
|
|
|
|
// component listeners
|
|
document.getElementById("apiButton").addEventListener("click", apiButtonClickAction, false);
|
|
document.getElementById("authButton").addEventListener("click", authButtonClickAction, false);
|
|
document.getElementById("computeButton").addEventListener("click", computeButtonClickAction, false);
|
|
document.getElementById("jobsButton").addEventListener("click", jobsButtonClickAction, false);
|
|
document.getElementById("odbcButton").addEventListener("click", odbcButtonClickAction, false);
|
|
document.getElementById("webappButton").addEventListener("click", webappButtonClickAction, false);
|
|
document.getElementById("sqlButton").addEventListener("click", sqlButtonClickAction, false);
|
|
document.getElementById("allComponentsButton").addEventListener("click", allComponentsButtonClickAction, false);
|
|
|
|
// aux listeners
|
|
document.getElementById("resetButton").addEventListener("click", resetButtonClickAction, false);
|
|
document.getElementById("applyButton").addEventListener("click", applyButtonClickAction, false);
|
|
};
|
|
function loadControlplanes() {
|
|
console.log("loading controlplanes");
|
|
var controlplaneHTML = '<button id="canadacentralButton" type="button">canadacentral</button><button id="centralindiaButton" type="button">centralindia</button>' +
|
|
'<button id="switzerlandnorthButton" type="button">switzerlandnorth</button><button id="norwayeastButton" type="button">norwayeast</button></br></br>' +
|
|
'<button id="westusButton" type="button">westus</button></br></br>' +
|
|
'<button id="westeuropeButton" type="button">westeurope</button><button id="ukwestButton" type="button">ukwest</button>' +
|
|
'<button id="southafricanorthButton" type="button">southafricanorth</button><button id="uaenorthButton" type="button">uaenorth</button></br></br>' +
|
|
'<button id="australiaeastButton" type="button">australiaeast</button><button id="japaneastButton" type="button">japaneast</button>' +
|
|
'<button id="koreacentralButton" type="button">koreacentral</button><button id="southeastasiaButton" type="button">southeastasia</button></br></br>' +
|
|
'<button id="brazilsouthButton" type="button">brazilsouth</button><button id="eastus2Button" type="button">eastus2</button>' +
|
|
'<button id="francecentralButton" type="button">francecentral</button></br></br>' +
|
|
'<button id="chinanorth2Button" type="button">chinanorth2</button><button id="chinaeast2Button" type="button">chinaeast2</button>' +
|
|
'<button id="usgovvirginiaButton" type="button">usgovvirginia</button><button id="usgovarizonaButton" type="button">usgovarizona</button>';
|
|
zNode.innerHTML = profilesHTML + '<hr class="solid">' + controlplaneHTML + '<hr class="solid">' + componentsHTML + '<button id="applyButton" type="button">Apply Selection</button><button id="resetButton" type="button">Reset Form</button>';
|
|
|
|
// regional listeners
|
|
document.getElementById("canadacentralButton").addEventListener("click", canadacentralCPButtonClickAction, false);
|
|
document.getElementById("switzerlandnorthButton").addEventListener("click", switzerlandnorthButtonClickAction, false);
|
|
document.getElementById("norwayeastButton").addEventListener("click", norwayeastButtonClickAction, false);
|
|
document.getElementById("centralindiaButton").addEventListener("click", centralindiaCPButtonClickAction, false);
|
|
document.getElementById("westusButton").addEventListener("click", westusCPButtonClickAction, false);
|
|
document.getElementById("westeuropeButton").addEventListener("click", westeuropeCPButtonClickAction, false);
|
|
document.getElementById("ukwestButton").addEventListener("click", ukwestCPButtonClickAction, false);
|
|
document.getElementById("southafricanorthButton").addEventListener("click", southafricanorthButtonClickAction, false);
|
|
document.getElementById("uaenorthButton").addEventListener("click", uaenorthButtonClickAction, false);
|
|
document.getElementById("australiaeastButton").addEventListener("click", australiaeastCPButtonClickAction, false);
|
|
document.getElementById("japaneastButton").addEventListener("click", japaneastCPButtonClickAction, false);
|
|
// profile listeners
|
|
document.getElementById("controlplanesButton").addEventListener("click", controlplanesButtonClickAction, false);
|
|
document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false);
|
|
document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false);
|
|
document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false);
|
|
|
|
// component listeners
|
|
document.getElementById("apiButton").addEventListener("click", apiButtonClickAction, false);
|
|
document.getElementById("authButton").addEventListener("click", authButtonClickAction, false);
|
|
document.getElementById("computeButton").addEventListener("click", computeButtonClickAction, false);
|
|
document.getElementById("jobsButton").addEventListener("click", jobsButtonClickAction, false);
|
|
document.getElementById("odbcButton").addEventListener("click", odbcButtonClickAction, false);
|
|
document.getElementById("webappButton").addEventListener("click", webappButtonClickAction, false);
|
|
document.getElementById("sqlButton").addEventListener("click", sqlButtonClickAction, false);
|
|
document.getElementById("allComponentsButton").addEventListener("click", allComponentsButtonClickAction, false);
|
|
|
|
// aux listeners
|
|
document.getElementById("resetButton").addEventListener("click", resetButtonClickAction, false);
|
|
document.getElementById("applyButton").addEventListener("click", applyButtonClickAction, false);
|
|
};
|
|
function loadStages() {
|
|
console.log("loading stages");
|
|
var stagesHTML = '<button id="stage1Button" type="button">Stage-1</button><button id="stage1.5Button" type="button">Stage-1.5</button>' +
|
|
'<button id="stage2Button" type="button">Stage-2</button><button id="stage3amButton" type="button">Stage-3AM</button>' +
|
|
'<button id="stage3pmButton" type="button">Stage-3PM</button><button id="govcloudButton" type="button">Govcloud</button>' +
|
|
'<button id="mooncakeButton" type="button">Mooncake</button>';
|
|
|
|
zNode.innerHTML = profilesHTML + '<hr class="solid">' + stagesHTML + '<hr class="solid">' + componentsHTML + '<button id="applyButton" type="button">Apply Selection</button><button id="resetButton" type="button">Reset Form</button>';
|
|
document.getElementById("controlplanesButton").addEventListener("click", controlplanesButtonClickAction, false);
|
|
document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false);
|
|
document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false);
|
|
document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false);
|
|
};
|
|
function shrink() {
|
|
var profilesHTML = '<center><button id="controlplanesButton" type="button">Controlplanes</button> ' +
|
|
'<button id="stagesButton" type="button">Stages</button> <button id="dataplanesButton" type="button">' +
|
|
'Dataplanes</button> <button id="shrinkButton" type="button">Shrink</button></center>';
|
|
zNode.innerHTML = profilesHTML + '<hr class="solid"><button id="applyButton" type="button">Apply Selection</button><button id="resetButton" type="button">Reset Form</button>';
|
|
document.getElementById("controlplanesButton").addEventListener("click", controlplanesButtonClickAction, false);
|
|
document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false);
|
|
document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false);
|
|
document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false);
|
|
}
|
|
}
|
|
|
|
if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) {
|
|
}
|
|
|
|
if (window.location.href.indexOf("60087ab5608daf0535dc8e23") > -1) {
|
|
}
|
|
|
|
// aux functions
|
|
function applyButtonClickAction(zEvent) {
|
|
apply();
|
|
}
|
|
function allComponentsButtonClickAction(zEvent) {
|
|
var enabledCount = 0
|
|
for (i = 0; i < componentArray.length; i++) {
|
|
var component = componentArray[i];
|
|
if (checkComponent(component) == true) {
|
|
enabledCount++;
|
|
}
|
|
}
|
|
if (enabledCount == componentArray.length) {
|
|
for (i = 0; i < componentArray.length; i++) {
|
|
var component = componentArray[i];
|
|
var buttonName = component + "Button";
|
|
deselectComponent(component);
|
|
clearButtonColor(buttonName);
|
|
}
|
|
} else {
|
|
for (i = 0; i < componentArray.length; i++) {
|
|
var component = componentArray[i];
|
|
var buttonName = component + "Button";
|
|
selectComponent(component);
|
|
setButtonColor(buttonName);
|
|
}
|
|
}
|
|
}
|
|
function resetButtonClickAction(zEvent) {
|
|
reset();
|
|
}
|
|
function toggleComponent(component) {
|
|
if (checkComponent(component) == false) {
|
|
selectComponent(component);
|
|
} else {
|
|
deselectComponent(component);
|
|
}
|
|
}
|
|
function toggleButtonColor(buttonName) {
|
|
var bg = document.getElementById(buttonName).style.background;
|
|
if(bg != '') {
|
|
clearButtonColor(buttonName);
|
|
} else {
|
|
setButtonColor(buttonName);
|
|
}
|
|
}
|
|
function checkComponent(component) {
|
|
var status = selectedComponents.get(component);
|
|
return status;
|
|
}
|
|
function checkRegion(region) {
|
|
var status = selectedRegions.get(region)
|
|
return status;
|
|
}
|
|
function selectComponent(component) {
|
|
selectedComponents.set(component, true);
|
|
console.log(selectedComponents);
|
|
}
|
|
function deselectComponent(component) {
|
|
selectedComponents.set(component, false);
|
|
console.log(selectedComponents);
|
|
}
|
|
function toggleRegion(region) {
|
|
if (checkRegion(region) == false) {
|
|
selectRegion(region);
|
|
} else {
|
|
deselectRegion(region);
|
|
}
|
|
}
|
|
function selectRegion(region) {
|
|
selectedRegions.set(region, true);
|
|
console.log(selectedRegions);
|
|
}
|
|
function deselectRegion(region) {
|
|
selectedRegions.set(region, false);
|
|
console.log(selectedRegions);
|
|
}
|
|
function setButtonColor(buttonName) {
|
|
document.getElementById(buttonName).style.background = '#00FF00';
|
|
}
|
|
function clearButtonColor(buttonName) {
|
|
document.getElementById(buttonName).style.background = '';
|
|
}
|
|
function selectCheckbox(box) {
|
|
box.setAttribute("class", "checked");
|
|
}
|
|
function deselectCheckbox(box) {
|
|
box.setAttribute("class", "");
|
|
}
|
|
function apply() {
|
|
for (i = 0; i < componentArray.length; i++) {
|
|
var component = componentArray[i];
|
|
for (j = 0; j < regionArray.length; j++) {
|
|
var region = regionArray[j];
|
|
var groupName = component + "Group";
|
|
var group = eval(groupName);
|
|
var checkboxStr = `group.find('*').filter(\":contains(' ${region}:')\").filter("div.clearfix.prettycheckbox.labelright.blue").children().filter("A")[0]`;
|
|
var checkbox = eval(checkboxStr);
|
|
if (checkRegion(region) == true && checkComponent(component) == true) {
|
|
selectCheckbox(checkbox);
|
|
} else {
|
|
deselectCheckbox(checkbox);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function reset() {
|
|
for (i = 0; i < componentArray.length; i++) {
|
|
var component = componentArray[i];
|
|
deselectComponent(component);
|
|
var buttonName = component + 'Button';
|
|
clearButtonColor(buttonName);
|
|
}
|
|
for (i = 0; i < regionArray.length; i++) {
|
|
var region = regionArray[i];
|
|
deselectRegion(region);
|
|
var buttonName = region + 'Button';
|
|
clearButtonColor(buttonName);
|
|
}
|
|
apply();
|
|
}
|