diff --git a/html5/index.html b/html5/index.html index 620042f..01e7ad7 100644 --- a/html5/index.html +++ b/html5/index.html @@ -106,7 +106,8 @@ @@ -222,6 +223,7 @@
+ diff --git a/html5/kubeinvaders.js b/html5/kubeinvaders.js index 2d2e77c..11706a8 100644 --- a/html5/kubeinvaders.js +++ b/html5/kubeinvaders.js @@ -146,6 +146,11 @@ function createChaosProgramButton(name, lang) { document.getElementById("loadButtonGroup").scrollLeft = document.getElementById("loadButtonGroup").scrollWidth; } +function deleteChaosProgramButton(name) { + let capitalizedName = name.charAt(0).toUpperCase() + name.slice(1); + document.getElementById("loadButtonGroup").removeChild(document.getElementById("load" + capitalizedName)); +} + function getSavedPresets() { var oReq = new XMLHttpRequest(); oReq.onreadystatechange = function () { @@ -196,7 +201,7 @@ function loadSavedPreset(tool, lang, defaultpreset) { //$('#alert_placeholder').replaceWith(alert_div + '[' + now + '] Open preset for ' + tool + '
'); } -function resetPreset() { +function resetPreset(kind) { var oReq = new XMLHttpRequest(); oReq.onreadystatechange = function () { if (this.readyState === XMLHttpRequest.DONE && this.status === 200) { @@ -206,13 +211,22 @@ function resetPreset() { // document.getElementById(buttonId).classList.add('btn-light'); closeSetLoadTestModal(); getSavedPresets(); - console.log("[RESET-PRESETS] " + latest_preset_name + " restored with default preset"); + if (kind == 'k-inv') { + console.log("[DELETE-K-INV-PROGRAM] " + latest_preset_name + " deleted"); + deleteChaosProgramButton(latest_preset_name); + } + else { + console.log("[RESET-PRESETS] " + latest_preset_name + " restored with default preset"); + } var now = new Date().toLocaleString().replace(',','') $('#alert_placeholder_programming_mode').replaceWith(alert_div + '[' + now + '] ' + latest_preset_name + ' preset has been restored with default code
'); //$('#alert_placeholder').replaceWith(alert_div + '[' + now + '] ' + latest_preset_name + ' preset has been restored with default code'); } };; - oReq.open("POST", k8s_url + "/chaos/loadpreset/reset?name="+ latest_preset_name + "&lang="+ latest_preset_lang); + if (kind == 'k-inv') { + console.log("[RESET-PRESETS] Deleting " + latest_preset_name + " lang " + latest_preset_lang); + } + oReq.open("POST", k8s_url + "/chaos/loadpreset/reset?name="+ latest_preset_name.toLowerCase() + "&lang="+ latest_preset_lang); oReq.send({}); } @@ -229,6 +243,7 @@ function savePreset(action) { console.log("[SAVE-PRESET-CHAOSPROGRAM] lang: " + presetLang + " name:" + presetName); presetBody = $('#chaosProgramTextArea').val(); document.getElementById("resetToDefaultButton").style.display = "none"; + document.getElementById("deleteChaosProgramButton").style.display = "block"; } else if (latest_preset_lang == "k-inv") { presetLang = "k-inv"; @@ -237,11 +252,13 @@ function savePreset(action) { console.log("[SAVE-PRESET-CHAOSPROGRAM] lang: " + presetLang + " name:" + codename); presetBody = $('#currentLoadTest').val(); document.getElementById("resetToDefaultButton").style.display = "none"; + document.getElementById("deleteChaosProgramButton").style.display = "block"; } else { presetLang = latest_preset_lang; presetName = latest_preset_name; document.getElementById("resetToDefaultButton").style.display = "block"; + document.getElementById("deleteChaosProgramButton").style.display = "none"; } //console.log("Saving preset. name:" + presetName + ", lang:" + presetName + ", body: " + presetBody); diff --git a/html5/utils.js b/html5/utils.js index dabf4c4..2cc97cc 100644 --- a/html5/utils.js +++ b/html5/utils.js @@ -1,4 +1,5 @@ loadPresetsCodeJson = `{ + "default": "Y2hhb3MtY29kZW5hbWU6IGxpdGhpdW0Kam9iczoKICBjcHUtYXR0YWNrLWpvYjoKICAgIGFkZGl0aW9uYWwtbGFiZWxzOgogICAgICBjaGFvcy1jb250cm9sbGVyOiBrdWJlaW52YWRlcnMKICAgICAgY2hhb3MtdHlwZTogc3RyZXNzLW5nCiAgICAgIGNoYW9zLWNvZGVuYW1lOiBsaXRoaXVtCiAgICBpbWFnZTogZG9ja2VyLmlvL2x1Y2t5c2lkZWJ1cm4va3ViZWludmFkZXJzLXN0cmVzcy1uZzpsYXRlc3QKICAgIGNvbW1hbmQ6ICJzdHJlc3MtbmciCiAgICBhcmdzOgogICAgICAtIC0taGVscAoKICBtZW0tYXR0YWNrLWpvYjoKICAgIGFkZGl0aW9uYWwtbGFiZWxzOgogICAgICBjaGFvcy1jb250cm9sbGVyOiBrdWJlaW52YWRlcnMKICAgICAgY2hhb3MtdHlwZTogc3RyZXNzLW5nCiAgICAgIGNoYW9zLWNvZGVuYW1lOiBsaXRoaXVtCiAgICBpbWFnZTogZG9ja2VyLmlvL2x1Y2t5c2lkZWJ1cm4va3ViZWludmFkZXJzLXN0cmVzcy1uZzpsYXRlc3QKICAgIGNvbW1hbmQ6ICJzdHJlc3MtbmciCiAgICBhcmdzOgogICAgICAtIC0taGVscAoKZXhwZXJpbWVudHM6CiAgLSBuYW1lOiBjcHUtYXR0YWNrLWV4cAogICAgam9iOiBjcHUtYXR0YWNrLWpvYgogICAgbG9vcDogNQoKICAtIG5hbWU6IG1lbS1hdHRhY2stZXhwCiAgICBqb2I6IG1lbS1hdHRhY2stam9iCiAgICBsb29wOiA1CiAK", "cassandra": "ZnJvbSBjYXNzYW5kcmEuY2x1c3RlciBpbXBvcnQgQ2x1c3Rlcgpmcm9tIHJhbmRvbSBpbXBvcnQgcmFuZGludAppbXBvcnQgdGltZQoKZGVmIG1haW4oKToKICAgIGNsdXN0ZXIgPSBDbHVzdGVyKFsnMTI3LjAuMC4xJ10pCiAgICBzZXNzaW9uID0gY2x1c3Rlci5jb25uZWN0KCkKCiAgICBzZXNzaW9uLmV4ZWN1dGUoIkNSRUFURSBLRVlTUEFDRSBJRiBOT1QgRVhJU1RTIHRlc3QgV0lUSCBSRVBMSUNBVElPTiA9IHsgJ2NsYXNzJzogJ1NpbXBsZVN0cmF0ZWd5JywgJ3JlcGxpY2F0aW9uX2ZhY3Rvcic6IDEgfSIpCiAgICBzZXNzaW9uLmV4ZWN1dGUoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIHRlc3QubWVzc2FnZXMgKGlkIGludCBQUklNQVJZIEtFWSwgbWVzc2FnZSB0ZXh0KSIpCgogICAgZm9yIGkgaW4gcmFuZ2UoMTAwMCk6CiAgICAgICAgc2Vzc2lvbi5leGVjdXRlKCJJTlNFUlQgSU5UTyB0ZXN0Lm1lc3NhZ2VzIChpZCwgbWVzc2FnZSkgVkFMVUVTICglcywgJyVzJykiICUgKGksIHN0cihyYW5kaW50KDAsIDEwMDApKSkpCiAgICAgICAgdGltZS5zbGVlcCgwLjAwMSkKCiAgICBjbHVzdGVyLnNodXRkb3duKCkKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICBtYWluKCk=", "consul": "aW1wb3J0IHRpbWUKaW1wb3J0IGNvbnN1bAoKIyBDb25uZWN0IHRvIHRoZSBDb25zdWwgY2x1c3RlcgpjbGllbnQgPSBjb25zdWwuQ29uc3VsKCkKCiMgQ29udGludW91c2x5IHJlZ2lzdGVyIGFuZCBkZXJlZ2lzdGVyIGEgc2VydmljZQp3aGlsZSBUcnVlOgogICAgIyBSZWdpc3RlciB0aGUgc2VydmljZQogICAgY2xpZW50LmFnZW50LnNlcnZpY2UucmVnaXN0ZXIoCiAgICAgICAgInN0cmVzcy10ZXN0LXNlcnZpY2UiLAogICAgICAgIHBvcnQ9ODA4MCwKICAgICAgICB0YWdzPVsic3RyZXNzLXRlc3QiXSwKICAgICAgICBjaGVjaz1jb25zdWwuQ2hlY2soKS50Y3AoImxvY2FsaG9zdCIsIDgwODAsICIxMHMiKQogICAgKQoKICAgICMgRGVyZWdpc3RlciB0aGUgc2VydmljZQogICAgY2xpZW50LmFnZW50LnNlcnZpY2UuZGVyZWdpc3Rlcigic3RyZXNzLXRlc3Qtc2VydmljZSIpCgogICAgdGltZS5zbGVlcCgxKQoK", "elasticsearch": "aW1wb3J0IHRpbWUKZnJvbSBlbGFzdGljc2VhcmNoIGltcG9ydCBFbGFzdGljc2VhcmNoCgojIENvbm5lY3QgdG8gdGhlIEVsYXN0aWNzZWFyY2ggY2x1c3RlcgplcyA9IEVsYXN0aWNzZWFyY2goWyJsb2NhbGhvc3QiXSkKCiMgQ29udGludW91c2x5IGluZGV4IGFuZCBkZWxldGUgZG9jdW1lbnRzCndoaWxlIFRydWU6CiAgICAjIEluZGV4IGEgZG9jdW1lbnQKICAgIGVzLmluZGV4KGluZGV4PSJ0ZXN0LWluZGV4IiwgZG9jX3R5cGU9InRlc3QtdHlwZSIsIGlkPTEsIGJvZHk9eyJ0ZXN0IjogInRlc3QifSkKCiAgICAjIERlbGV0ZSB0aGUgZG9jdW1lbnQKICAgIGVzLmRlbGV0ZShpbmRleD0idGVzdC1pbmRleCIsIGRvY190eXBlPSJ0ZXN0LXR5cGUiLCBpZD0xKQoKICAgIHRpbWUuc2xlZXAoMSkKCg==", @@ -33,7 +34,13 @@ loadPresetsCodeJson = `{ if (lang == "k-inv") { loadSavedPreset(tool, lang, $('#chaosProgramTextArea').text()); - document.getElementById("resetToDefaultButton").style.display = "none"; + if (tool.toLowerCase() == "default") { + document.getElementById("resetToDefaultButton").style.display = "none"; + document.getElementById("deleteChaosProgramButton").style.display = "none"; + } else { + document.getElementById("resetToDefaultButton").style.display = "none"; + document.getElementById("deleteChaosProgramButton").style.display = "block"; + } } else { console.log("[GET-PRESETS] foo Loaded preset for " + tool + " with lang " + lang); console.log("[GET-PRESET] loadPresetsCodeJson " +loadPresetsCodeJson); @@ -41,6 +48,7 @@ loadPresetsCodeJson = `{ decodedStringAtoB = atob(loadPresetsCodeParsed[tool]); loadSavedPreset(tool, lang, decodedStringAtoB); document.getElementById("resetToDefaultButton").style.display = "block"; + document.getElementById("deleteChaosProgramButton").style.display = "none"; } $("#presetLang").val(lang); $("#presetName").val(tool);