From 05ca3892b8597f1759989ef3570e4c69159615c3 Mon Sep 17 00:00:00 2001 From: Tyler Date: Sun, 6 Jun 2021 02:03:28 -0500 Subject: [PATCH] catch up; southcentralus broken --- statusio-selector.js | 340 ++++++++++++++++++++++++++++--------------- 1 file changed, 219 insertions(+), 121 deletions(-) diff --git a/statusio-selector.js b/statusio-selector.js index d6d7d86..eed3e1d 100644 --- a/statusio-selector.js +++ b/statusio-selector.js @@ -10,34 +10,173 @@ // @version 0.0.1 // ==/UserScript== + +// draw frame +var zNode = document.createElement('div'); +zNode.innerHTML = 'Loading...'; +zNode.setAttribute('id', 'myContainer'); +document.body.appendChild(zNode); + if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { - console.log("azure status page"); 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", + + 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"]; + var selectedComponents = new Map(); + var selectedRegions = new Map(); + + // init maps + for (i = 0; i < componentArray.length; i++) { + selectedComponents.set(componentArray[i], false); + } + for (i = 0; i < regionArray.length; i++) { + selectedRegions.set(regionArray[i], false) + } var profilesHTML = '
' + '
' - var dataplanesHTML = '' + - '' + - '' - var locationHTML = dataplanesHTML + 'Dataplanes'; + + var controlplanesHTML = '

' + + '

' + + '' + + '

' + + '' + + '

' + + '' + + '

' + + '' + + ''; + var stagesHTML = '' + + '' + + '' + + ''; + var componentsHTML = ' ' + + '' + + '' + + '

'; + function canadaEastButtonClickAction(zEvent) { + toggleRegion("canadaeast"); + toggleButtonColor("canadaEastButton"); + }; + function canadaCentralButtonClickAction(zEvent) { + toggleRegion("canadacentral"); + toggleButtonColor("canadaCentralButton"); + }; + function centralIndiaButtonClickAction(zEvent) { + toggleRegion("centralindia"); + 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 westUs2ButtonClickAction(zEvent) { + toggleRegion("westus2"); + toggleButtonColor("westUs2Button"); + }; + function southCentralUsButtonClickAction(zEvent) { + toggleRegion("southcentralus"); + toggleButtonColor("southCentralUsButton"); + }; + function westEuropeButtonClickAction(zEvent) { + toggleRegion("westeurope"); + toggleButtonColor("westEuropeButton"); + }; + function northEuropeButtonClickAction(zEvent) { + toggleRegion("northeurope"); + toggleButtonColor("northEuropeButton"); + }; + function northEuropeButtonClickAction(zEvent) { + toggleRegion("northeurope"); + toggleButtonColor("northEuropeButton"); + }; + function ukWestButtonClickAction(zEvent) { + toggleRegion("ukwest"); + toggleButtonColor("ukWestButton"); + }; + function ukSouthButtonClickAction(zEvent) { + toggleRegion("uksouth"); + toggleButtonColor("ukSouthButton"); + }; + function southAfricaNorthButtonClickAction(zEvent) { + toggleRegion("southafricanorth"); + toggleButtonColor("southAfricaNorthButton"); + }; + function uaeNorthButtonClickAction(zEvent) { + toggleRegion("uaenorth"); + toggleButtonColor("uaeNorthButton"); + }; + function loadDataplanes() { + var locationHTML = '' + + '' + + '' + + '

' + + '' + + '

' + + '' + + '' + + '

' + + '' + + '' + + '
' + + '' + + '

' + + '' + + '' + + '

' + + '' + + ''; + + + zNode.innerHTML = profilesHTML + '
' + locationHTML + '
' + componentsHTML + ''; + + 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("Button").addEventListener("click", ButtonClickAction, false); + }; + loadDataplanes(); } if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { - console.log("aws status page"); } if (window.location.href.indexOf("60087ab5608daf0535dc8e23") > -1) { - console.log("gcp status page"); } // setup some variables var apiGroup = $("div.form-group").filter(":contains('API Service')"); @@ -48,141 +187,52 @@ 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')"); - -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) -} - -function apply() { - for (i = 0; i < componentArray.length; i++) { - var component = componentArray[i]; - console.log(component) - 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); - } - } - } -} - - -// draw frame -var zNode = document.createElement('div'); -zNode.innerHTML = profilesHTML + '
' + locationHTML + '

' + - '' + - '

'+ - ''; -zNode.setAttribute('id', 'myContainer'); -document.body.appendChild(zNode); - // component buttons -document.getElementById("apiButton").addEventListener( - "click", apiButtonClickAction, false -); - -function apiButtonClickAction(zEvent) { - toggleComponent("api"); - toggleButtonColor("apiButton"); -} -document.getElementById("authButton").addEventListener( - "click", authButtonClickAction, false -); function authButtonClickAction(zEvent) { toggleComponent("auth"); toggleButtonColor("authButton"); } -document.getElementById("computeButton").addEventListener( - "click", computeButtonClickAction, false -); +function apiButtonClickAction(zEvent) { + toggleComponent("api"); + toggleButtonColor("apiButton"); +} function computeButtonClickAction(zEvent) { toggleComponent("compute"); toggleButtonColor("computeButton"); } - -document.getElementById("jobsButton").addEventListener( - "click", jobsButtonClickAction, false -); - function jobsButtonClickAction(zEvent) { toggleComponent("jobs"); toggleButtonColor("jobsButton"); } -document.getElementById("odbcButton").addEventListener( - "click", odbcButtonClickAction, false -); - function odbcButtonClickAction(zEvent) { toggleComponent("odbc"); toggleButtonColor("odbcButton"); } -document.getElementById("webappButton").addEventListener( - "click", webappButtonClickAction, false -); - function webappButtonClickAction(zEvent) { toggleComponent("webapp"); toggleButtonColor("webappButton"); } -document.getElementById("sqlButton").addEventListener( - "click", sqlButtonClickAction, false -); - function sqlButtonClickAction(zEvent) { toggleComponent("sql"); toggleButtonColor("sqlButton"); } -document.getElementById("allComponentsButton").addEventListener( - "click", allComponentsButtonClickAction, false -); +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); -function allComponentsButtonClickAction(zEvent) { - for (i = 0; i < componentArray.length; i++) { - var component = componentArray[i]; - var buttonName = component + "Button"; - selectComponent(component); - setButtonColor(buttonName); - } -} -// regional buttons -function canadaCentralButtonClickAction(zEvent) { - toggleRegion("canadacentral"); - toggleButtonColor("canadaCentralButton") - -} -document.getElementById("canadaCentralButton").addEventListener( - "click", canadaCentralButtonClickAction, false -); -function canadaEastButtonClickAction(zEvent) { - toggleRegion("canadaeast"); - toggleButtonColor("canadaEastButton") -} -document.getElementById("canadaEastButton").addEventListener( - "click", canadaEastButtonClickAction, false -); // aux buttons - +document.getElementById("applyButton").addEventListener("click", applyButtonClickAction, false); +// aux functions function applyButtonClickAction(zEvent) { apply(); } -document.getElementById("applyButton").addEventListener( - "click", applyButtonClickAction, false -) -// aux functions function toggleComponent(component) { if (checkComponent(component) == false) { selectComponent(component); @@ -241,7 +291,52 @@ function selectCheckbox(box) { 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) { + console.log(region); + console.log(component); + console.log(groupName); + console.log(group); + console.log(checkbox); + selectCheckbox(checkbox); + } else { + deselectCheckbox(checkbox); + } + } + } +} +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 multilineStr(dummyFunc) { var str = dummyFunc.toString(); str = str.replace(/^[^\/]+\/\*!?/, '') // Strip function () { /*! @@ -272,6 +367,9 @@ GM_addStyle(multilineStr(function() { color: red; background: white; } + hr.solid { + border-top: 3px solid #bbb; + } */ }));