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;
+ }
*/
}));