diff --git a/statusio-selector.js b/statusio-selector.js index d57db1c..5dc925f 100644 --- a/statusio-selector.js +++ b/statusio-selector.js @@ -10,7 +10,6 @@ // @version 0.0.1 // ==/UserScript== - // draw frame var zNode = document.createElement('div'); zNode.setAttribute('id', 'myContainer'); @@ -18,16 +17,23 @@ document.body.appendChild(zNode); var auxHTML = '
'; +var debugFlag = true; +//azure status page controls if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { // render initial HTML var profilesHTML = '
' + '
'; + 'Dataplanes
'; zNode.innerHTML = profilesHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; + 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); + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, false); // initialize azure component and region variables var componentArray = ["api", "auth", "compute", "jobs", "odbc", "webapp", "sql"]; @@ -342,7 +348,6 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { toggleButtonColor("sqlButton"); }; - // profile management functions function loadDataplanes() { console.log("Loading Azure dataplanes profile"); @@ -350,6 +355,9 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { zNode.innerHTML = profilesHTML + '
' + dataplaneHTML + '
' + componentsHTML + auxHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; // array of active buttons buttonArray = ["canadacentral", "canadaeast", "centralindia", "southindia", "westindia", @@ -403,6 +411,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false); document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false); document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false); + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, false); // component listeners document.getElementById("apiButton").addEventListener("click", apiButtonClickAction, false); @@ -422,6 +431,9 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { console.log("Loading Azure controlplanes profile"); var controlplaneHTML = '












'; zNode.innerHTML = profilesHTML + '
' + controlplaneHTML + '
' + componentsHTML + auxHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; // array of active buttons buttonArray = ["canadacentral", "centralindia", "switzerlandnorth", "norwayeast", "westus", "westeurope","ukwest", "southafricanorth", @@ -458,6 +470,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false); document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false); document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false); + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, false); // component listeners document.getElementById("apiButton").addEventListener("click", apiButtonClickAction, false); @@ -478,6 +491,9 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { var stagesHTML = '

'; zNode.innerHTML = profilesHTML + '
' + stagesHTML + '
' + componentsHTML + auxHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; // array of active buttons buttonArray = ["stage1", "stage1point5", "stage2", "stage3am", "stage3pm", "stagegovcloud", "stagemooncake"]; @@ -497,6 +513,7 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false); document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false); document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false); + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, false); // component listeners document.getElementById("apiButton").addEventListener("click", apiButtonClickAction, false); @@ -514,6 +531,10 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { }; function shrink() { zNode.innerHTML = profilesHTML + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; + document.getElementById("controlplanesButton").addEventListener("click", controlplanesButtonClickAction, false); document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false); document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false); @@ -521,22 +542,28 @@ if (window.location.href.indexOf("5d49ec10226b9e13cb6a422e") > -1) { }; }; +// aws status page controls if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { // render initial HTML var profilesHTML = '
' + '
'; + 'Dataplanes
'; zNode.innerHTML = profilesHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; 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); + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, 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 = []; + var ceFlag = false; // create tracking maps var selectedComponents = new Map(); @@ -619,6 +646,30 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { toggleRegion("canadaeast"); toggleButtonColor("canadacentralButton"); }; + function ceButtonClickAction(zEvent) { + toggleButtonColor("ceButton"); + toggleCe(); + }; + function selectCe() { + ceFlag = true; + if (debugFlag = true) { + console.log("DEBUG: ceFlag = " + ceFlag); + }; + }; + function deselectCe() { + ceFlag = false; + }; + function toggleCe() { + if (checkCe == false) { + selectCe(); + } else { + deselectCe(); + } + }; + function checkCe() { + var status = ceFlag; + return status; + }; // profile management functions function loadDataplanes() { @@ -626,6 +677,9 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { var dataplaneHTML = '







'; zNode.innerHTML = profilesHTML + '
' + dataplaneHTML + '
' + componentsHTML + auxHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; // 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", @@ -643,12 +697,14 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { document.getElementById("apsoutheast2Button").addEventListener("click", apsoutheast2ButtonClickAction, false); document.getElementById("apnortheast1Button").addEventListener("click", apnortheast1ButtonClickAction, false); document.getElementById("euwest1Button").addEventListener("click", euwest1ButtonClickAction, false); + document.getElementById("ceButton").addEventListener("click", ceButtonClickAction, 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); + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, false); // component listeners document.getElementById("apiButton").addEventListener("click", apiButtonClickAction, false); @@ -668,6 +724,9 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { console.log("Loading AWS controlplanes profile"); var controlplaneHTML = '






'; zNode.innerHTML = profilesHTML + '
' + controlplaneHTML + '
' + componentsHTML + auxHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; // array of active buttons buttonArray = ["canadacentral", "centralindia", "switzerlandnorth", "norwayeast", "westus", "westeurope","ukwest", "southafricanorth", @@ -695,6 +754,7 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { document.getElementById("dataplanesButton").addEventListener("click", dataplanesButtonClickAction, false); document.getElementById("stagesButton").addEventListener("click", stagesButtonClickAction, false); document.getElementById("shrinkButton").addEventListener("click", shrinkButtonClickAction, false); + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, false); // component listeners document.getElementById("apiButton").addEventListener("click", apiButtonClickAction, false); @@ -715,6 +775,9 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { var stagesHTML = '
'; zNode.innerHTML = profilesHTML + '
' + stagesHTML + '
' + componentsHTML + auxHTML; + if (debugFlag == true) { + toggleButtonColor(debugButton); + } // array of active buttons buttonArray = ["stage1", "stage1point5", "stage2", "stage3am", "stage3pm", "stagegovcloud", "stagemooncake"]; @@ -745,20 +808,28 @@ if (window.location.href.indexOf("5cf02dde58a00904bda41926") > -1) { }; function shrink() { zNode.innerHTML = profilesHTML + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; + 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); - }; + document.getElementById("debugButton").addEventListener("click", debugButtonClickAction, false); + }; }; +// gcp status page controls if (window.location.href.indexOf("60087ab5608daf0535dc8e23") > -1) { // render initial HTML var profilesHTML = '
' + '
'; + 'Dataplanes '; zNode.innerHTML = profilesHTML; - + if (debugFlag == true) { + toggleButtonColor(debugButton); + }; }; // profile functions @@ -774,6 +845,10 @@ function stagesButtonClickAction(zEvent) { function shrinkButtonClickAction(zEvent) { shrink(); }; +function debugButtonClickAction(zEvent) { + toggleDebug(); + toggleButtonColor("debugButton"); +}; // aux functions function applyButtonClickAction(zEvent) { @@ -831,11 +906,15 @@ function checkRegion(region) { }; function selectComponent(component) { selectedComponents.set(component, true); - // console.log(selectedComponents); + if (debugFlag = true) { + console.log(selectedComponents); + } }; function deselectComponent(component) { selectedComponents.set(component, false); - // console.log(selectedComponents); + if (debugFlag = true) { + console.log(selectedComponents); + }; }; function toggleRegion(region) { if (checkRegion(region) == false) { @@ -846,11 +925,15 @@ function toggleRegion(region) { }; function selectRegion(region) { selectedRegions.set(region, true); - // console.log(selectedRegions); + if (debugFlag = true) { + console.log(selectedRegions); + }; }; function deselectRegion(region) { selectedRegions.set(region, false); - // console.log(selectedRegions); + if (debugFlag = true) { + console.log(selectedRegions); + }; }; function setButtonColor(buttonName) { document.getElementById(buttonName).style.background = '#00FF00'; @@ -901,3 +984,22 @@ function reset() { }; apply(); }; +function checkDebug() { + var status = debugFlag; + return status; +}; +function toggleDebug() { + if (checkDebug == false) { + enableDebug(); + } else { + disableDebug(); + }; +}; +function enableDebug() { + debugFlag = true; + console.log("DEBUG logging enabled"); +}; +function disableDebug() { + debugFlag = false; + console.log("DEBUG logging disabled"); +};