From f5a699d5ae07bf988e24718e14b22b47b09c5e73 Mon Sep 17 00:00:00 2001 From: Tyler Date: Mon, 7 Jun 2021 19:44:04 -0500 Subject: [PATCH] starting on aws --- statusio-selector.js | 314 ++++++++++++++++++++++++++++++++----------- 1 file changed, 232 insertions(+), 82 deletions(-) diff --git a/statusio-selector.js b/statusio-selector.js index 4bdd6f2..2266d65 100644 --- a/statusio-selector.js +++ b/statusio-selector.js @@ -16,6 +16,8 @@ var zNode = document.createElement('div'); zNode.setAttribute('id', 'myContainer'); document.body.appendChild(zNode); +var auxHTML = '
'; + if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { // render initial HTML var profilesHTML = '
' + @@ -41,10 +43,10 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { 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) - } + selectedRegions.set(regionArray[i], false); + }; // init component div groups var apiGroup = $("div.form-group").filter(":contains('API Service')"); @@ -56,10 +58,10 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { var sqlGroup = $("div.form-group").filter(":contains('Databricks SQL')"); // write component HTML template - var componentsHTML = ' ' + + var componentsHTML = '
' + '' + '' + - '

'; + '


'; // regional functions function canadaeastButtonClickAction(zEvent) { @@ -74,7 +76,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { toggleRegion("canadacentral"); toggleRegion("canadaeast"); toggleButtonColor("canadacentralButton"); - } + }; function centralindiaButtonClickAction(zEvent) { toggleRegion("centralindia"); toggleButtonColor("centralindiaButton"); @@ -140,7 +142,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { toggleRegion("ukwest"); toggleRegion("uksouth"); toggleButtonColor("ukwestButton"); - } + }; function uksouthButtonClickAction(zEvent) { toggleRegion("uksouth"); toggleButtonColor("uksouthButton"); @@ -163,7 +165,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { toggleRegion("australiacentral2"); toggleRegion("australiasoutheast"); toggleButtonColor("australiaeastButton"); - } + }; function australiacentralButtonClickAction(zEvent) { toggleRegion("australiacentral"); toggleButtonColor("australiacentralButton"); @@ -184,7 +186,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { toggleRegion("japaneast"); toggleRegion("japanwest"); toggleButtonColor("japaneastButton"); - } + }; function japanwestButtonClickAction(zEvent) { toggleRegion("japanwest"); toggleButtonColor("japanwestButton"); @@ -201,7 +203,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { toggleRegion("southeastasia"); toggleRegion("eastasia"); toggleButtonColor("southeastasiaButton"); - } + }; function eastasiaButtonClickAction(zEvent) { toggleRegion("eastasia"); toggleButtonColor("eastasiaButton"); @@ -220,7 +222,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { toggleRegion("centralus"); toggleRegion("northcentralus"); toggleButtonColor("eastus2Button"); - } + }; function eastusButtonClickAction(zEvent) { toggleRegion("eastus"); toggleButtonColor("eastusButton"); @@ -314,52 +316,40 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { 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(); - } // + + // profile management functions function loadDataplanes() { - console.log("loading dataplanes profile") + console.log("Loading Azure dataplanes profile"); var dataplaneHTML = '
















'; - zNode.innerHTML = profilesHTML + '
' + dataplaneHTML + '
' + componentsHTML + - ''; + auxHTML; // array of active buttons buttonArray = ["canadacentral", "canadaeast", "centralindia", "southindia", "westindia", @@ -429,19 +419,9 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { document.getElementById("applyButton").addEventListener("click", applyButtonClickAction, false); }; function loadControlplanes() { - console.log("loading controlplanes"); - var controlplaneHTML = '' + - '

' + - '

' + - '' + - '

' + - '' + - '

' + - '' + - '

' + - '' + - ''; - zNode.innerHTML = profilesHTML + '
' + controlplaneHTML + '
' + componentsHTML + ''; + console.log("Loading Azure controlplanes profile"); + var controlplaneHTML = '












'; + zNode.innerHTML = profilesHTML + '
' + controlplaneHTML + '
' + componentsHTML + auxHTML; // array of active buttons buttonArray = ["canadacentral", "centralindia", "switzerlandnorth", "norwayeast", "westus", "westeurope","ukwest", "southafricanorth", @@ -494,16 +474,13 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { document.getElementById("applyButton").addEventListener("click", applyButtonClickAction, false); }; function loadStages() { - console.log("loading stages"); - var stagesHTML = '' + - '' + - '' + - ''; + console.log("Loading Azure stages profile"); + var stagesHTML = '

'; - zNode.innerHTML = profilesHTML + '
' + stagesHTML + '
' + componentsHTML + ''; + zNode.innerHTML = profilesHTML + '
' + stagesHTML + '
' + componentsHTML + auxHTML; // array of active buttons - buttonArray = ["stage1", "stage1.5", "stage2", "stage3am", "stage3pm", "govcloud", "mooncake"]; + buttonArray = ["stage1", "stage1point5", "stage2", "stage3am", "stage3pm", "stagegovcloud", "stagemooncake"]; reset(); // regional listeners @@ -536,13 +513,13 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { document.getElementById("applyButton").addEventListener("click", applyButtonClickAction, false); }; function shrink() { - zNode.innerHTML = profilesHTML + '
'; + 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); - } -} + }; +}; if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { // render initial HTML @@ -550,7 +527,165 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { '
'; 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 = ["us-west-1", "us-west-2", "us-east-1", "us-east-2", "sa-east-1", "eu-west-1", "eu-west-2", "eu-central-1", + "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", "ca-central-1"]; + var buttonArray = []; + + // 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 = '
' + + '' + + '' + + '


'; + + // regional functions + function uswest1ButtonClickAction(zEvent) { + toggleRegion("us-west-1"); + toggleButtonColor("uswest1Button"); + }; + function canadacentralCPButtonClickAction(zEvent) { + toggleRegion("canadacentral"); + toggleRegion("canadaeast"); + toggleButtonColor("canadacentralButton"); + }; + + // profile management functions + function loadDataplanes() { + console.log("Loading AWS dataplanes profile"); + var dataplaneHTML = '







'; + + zNode.innerHTML = profilesHTML + '
' + dataplaneHTML + '
' + componentsHTML + + auxHTML; + + // array of active buttons + buttonArray = ["CE", "ca-central-1", "eu-central-1", "eu-west-2", "us-west-2", "us-east-1", "us-east-2", "ap-south-1", + "ap-southeast-2", "ap-northeast-1", "eu-west-1"]; + //reset(); + // regional listeners + document.getElementById("uswest1Button").addEventListener("click", uswest1ButtonClickAction, 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 Azure controlplanes profile"); + var controlplaneHTML = '






'; + zNode.innerHTML = profilesHTML + '
' + controlplaneHTML + '
' + componentsHTML + auxHTML; + + // array of active buttons + buttonArray = ["canadacentral", "centralindia", "switzerlandnorth", "norwayeast", "westus", "westeurope","ukwest", "southafricanorth", + "uaenorth", "australiaeast", "japaneast", "koreacentral", "southeastasia", "brazilsouth", "eastus2", "francecentral", + "chinanorth2", "chinaeast2", "usgovvirginia", "usgovarizona"]; + + // clear everything on profile load + //reset(); + + // regional listeners + // document.getElementById("canadacentralButton").addEventListener("click", canadacentralCPButtonClickAction, 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 Azure stages profile"); + var stagesHTML = '
'; + + zNode.innerHTML = profilesHTML + '
' + stagesHTML + '
' + componentsHTML + auxHTML; + + // array of active buttons + buttonArray = ["stage1", "stage1point5", "stage2", "stage3am", "stage3pm", "stagegovcloud", "stagemooncake"]; + // reset(); + + // regional listeners + //document.getElementById("stage1Button").addEventListener("click", stage1ButtonClickAction, 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 shrink() { + 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); + }; +}; if (window.location.href.indexOf("60087ab5608daf0535dc8e23") > -1) { // render initial HTML @@ -558,13 +693,28 @@ if (window.location.href.indexOf("60087ab5608daf0535dc8e23") > -1) { '
'; zNode.innerHTML = profilesHTML; -} + +}; + +// profile functions +function controlplanesButtonClickAction(zEvent) { + loadControlplanes(); +}; +function dataplanesButtonClickAction(zEvent) { + loadDataplanes(); +}; +function stagesButtonClickAction(zEvent) { + loadStages(); +}; +function shrinkButtonClickAction(zEvent) { + shrink(); +}; // aux functions function applyButtonClickAction(zEvent) { apply(); -} -function allComponentsButtonClickAction(zEvent) { +}; +function allComponentsButtonClickAction(zEvent) {$ var enabledCount = 0 for (i = 0; i < componentArray.length; i++) { var component = componentArray[i]; @@ -587,17 +737,17 @@ function allComponentsButtonClickAction(zEvent) { 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 != '') { @@ -605,50 +755,50 @@ function toggleButtonColor(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]; @@ -665,22 +815,22 @@ function apply() { } } } -} -function reset() { +}; +function reset(buttons) { for (i = 0; i < componentArray.length; i++) { var component = componentArray[i]; deselectComponent(component); var buttonName = component + 'Button'; clearButtonColor(buttonName); - } + }; for (i = 0; i < buttonArray.length; i++) { var region = buttonArray[i]; var buttonName = region + 'Button'; clearButtonColor(buttonName); - } + }; for (i = 0; i < regionArray.length; i++) { var region = regionArray[i]; deselectRegion(region); - } + }; apply(); -} +};