import ASpinButton from '/js/libs/js-ASpinButton.js'; import AButton from '/js/libs/js-AButton.js'; import AMultiTag from '/js/libs/js-AMultiTag.js'; import AModal from '/js/libs/js-AModal.js'; import ATab from '/js/libs/js-ATab.js'; import ASelect from '/js/libs/js-ASelect.js'; import AOverlay from '/js/libs/js-AOverlay.js'; import AWizard from '/js/libs/js-AWizard.js'; import AAutoFill from '/js/libs/js-AAutoFill.js'; const tmp = `

Storage Server

Information Storage Configuration
Microsoft 365 Connnector
Physical Server Connnector
Server Authenicator
Storage Data Summary
Tab C
`; const lay1 = `
`; window.L6101 = function () { var asyncStyleSheets = [ '/css/atg-ui/table.css' ]; window.app.loadCSS(asyncStyleSheets); var ov = new AOverlay(document.body); ov.createOverlay(); const $v = id => (document.getElementById(id)?.value ?? '').trim(); var ele1 = new ASpinButton(document.getElementById("totalSize")); var ele2 = new AMultiTag(document.getElementById("listStorage")); var slider = new AModal(tmp); slider.createModal("CustomForm", "slider-right"); var Scrollbar = window.Scrollbar; const mScroll = Scrollbar.init(slider.CustomContainer.querySelector(".slider-scrollbar"), window.scroll_options); slider.overlay.isCloseOverlay(true); var tabs = new ATab(slider.CustomContainer.querySelector(".atabs"), slider.CustomContainer.querySelector(".StorageTabs")); var wrd1 = new AWizard(slider.CustomContainer.querySelector(".AWizard")); var as = new ASelect(slider.CustomContainer.querySelectorAll(".aselect")); window.testV = as; var asIdType = as.get(0); wrd1.on("onBeforeBack", (evt) => { mScroll.scrollTo(0, 0); }); wrd1.on("onAfterNext", (evt) => { if (evt.indexPage > 0) { if (as.get(0).isLockElement() || as.get(1).isLockElement()) { return; } switch (asIdType.getSelectedItem().vSearch) { case "Microsoft Cloud": break; case "Physical Server": if (evt.indexPage > 3) { (async () => { const fd = new FormData(); fd.append('StorageTypeID', asIdType.getSelectedItem()?.id ?? ''); fd.append('ControllerName', $v('controllerName')); fd.append('StorageName', $v('storageName')); fd.append('IpPublic', $v('ipPublic')); fd.append('IpPrivatev4', $v('ipPrivatev4')); fd.append('IpPrivatev6', $v('ipPrivatev6')); fd.append('OsName', $v('osName')); fd.append('OsPlatform', $v('osPlatform')); fd.append('OsVersion', $v('osVersion')); fd.append('OsKernel', $v('osKernel')); fd.append('OsArch', $v('osArch')); fd.append('BiosSN', $v('biosSerial')); fd.append('BiosVendor', $v('biosVender')); fd.append('BiosUUID', $v('biosUUID')); const i = 0; as.get(1).multiSelectedItem.forEach((item) => { fd.append(`ValidationDomains[${i}].IdValidationDomain`, item.getAttribute("data-value")); }); fd.append('SocketN', $v('socketN')); fd.append('CpuName', $v('cpuName')); fd.append('TotalRam', $v('totalRam')); fd.append('TokenID', $v('idToken')); fd.append('TokenValue', $v('vToken')); fd.append('RTokenID', $v('idRefreshToken')); fd.append('RTokenValue', $v('refreshTokenValue')) const response = await fetch("/Storage/SetStorageData", { method: 'POST', body: fd }); })(); } break; } } }); wrd1.on("onBeforeNext", (evt) => { mScroll.scrollTo(0, 0); if (evt.indexPage == 0) { if (as.get(0).isLockElement() || as.get(1).isLockElement()) { wrd1.isStopNextPage = true; return; } else { wrd1.isStopNextPage = false; } let flag = false; if ($v('controllerName').length == 0) { flag = true; } if ($v('storageName').length == 0) { flag = true; } if (as.get(1).multiSelectedItem.length == 0) { flag = true; } if (flag) { wrd1.isStopNextPage = true; return; } else { wrd1.isStopNextPage = false; } switch (asIdType.getSelectedItem().vSearch) { case "Microsoft Cloud": wrd1.showPage(1); wrd1.hidePage(2); wrd1.hidePage(3); break; case "Physical Server": wrd1.showPage(2); wrd1.showPage(3); wrd1.hidePage(1); let promise = new Promise(async function (resolve, reject) { const response = await fetch(`/Storage/GetSysInfo`, { method: 'GET', headers: { 'Accept': 'application/json' } }); const data = await response.json(); if (data) { const autoF = new AAutoFill(document.querySelector(".awStorageConnector")); autoF.fill(data); } }); break; } } else if (evt.indexPage == 1) { } else if (evt.indexPage == 2) { (async () => { const response = await fetch(`/Storage/GenerationAccessToken`, { method: 'GET', headers: { 'Accept': 'application/json' } }); const data = await response.json(); if (data) { document.getElementById("idToken").value = data.idToken; document.getElementById("vToken").value = data.tokenValue; } })(); (async () => { const response = await fetch(`/Storage/GenerationAccessToken`, { method: 'GET', headers: { 'Accept': 'application/json' } }); const data = await response.json(); if (data) { document.getElementById("idRefreshToken").value = data.idToken; document.getElementById("refreshTokenValue").value = data.tokenValue; } })(); } }, true); var asVD = as.get(1); ele2.on("btnAdd_Click", (e) => { asIdType.lockElement(); asVD.lockElement(); slider.showModal(); wrd1.renderTab(); let promise = new Promise(function (resolve, reject) { const xhr = new XMLHttpRequest(); xhr.open("GET", window.GetAbsoluteURL("/Storage/GetTypeStorage")); xhr.setRequestHeader('Accept', 'application/json; charset=UTF-8'); var f = function (ev) { if (ev.currentTarget.readyState == 4) { if (ev.currentTarget.status == 200) { var obj = JSON.parse(ev.currentTarget.responseText); var data = JSON.parse(obj.data); if (data != null && data.length > 0) { asIdType.element.removeAll(); for (var i = 0; i < data.length; i++) { asIdType.element.insertAdjacentHTML("beforeend", ``); } asIdType.updateItem(); asIdType.unlockElement(); } } } }; xhr.addEventListener("readystatechange", f, false); xhr.send(); }); let promise1 = new Promise(function (resolve, reject) { const xhr = new XMLHttpRequest(); xhr.open("GET", window.GetAbsoluteURL("/Storage/GetValidationDomain")); xhr.setRequestHeader('Accept', 'application/json; charset=UTF-8'); var f = function (ev) { if (ev.currentTarget.readyState == 4) { if (ev.currentTarget.status == 200) { var obj = JSON.parse(ev.currentTarget.responseText); var data = JSON.parse(obj.data); if (data != null && data.length > 0) { asVD.element.removeAll(); for (var i = 0; i < data.length; i++) { asVD.element.insertAdjacentHTML("beforeend", ``); } asVD.updateItem(); asVD.unlockElement(); } } } }; xhr.addEventListener("readystatechange", f, false); xhr.send(); }); }); Waves.attach('.btn-effect', ['waves-float']); Waves.init({ duration: 1000, delay: 200 }); let eleAddStorage = document.getElementById("btAddStorage"); let asAddStorage = new AButton(eleAddStorage); asAddStorage.on("click_btAddStorage", (e) => { const xhr = new XMLHttpRequest(); xhr.open("POST", "/Storage/AddStorageServer"); xhr.setRequestHeader('Accept', 'application/json; charset=UTF-8'); var data = { "Name": document.getElementById("inpType").value }; var f = function (ev) { if (ev.currentTarget.readyState == 4) { if (ev.currentTarget.status == 200) { var obj = JSON.parse(ev.currentTarget.responseText); if (ev.Status == 0) { m.AModalOK.title("Message Error", "mess-error"); m.AModalOK.message(ev.Message); } else { m.AModalOK.title("Message", "mess-success"); m.AModalOK.message("Row Insert Success!"); } m.showModal(); } } }; xhr.addEventListener("readystatechange", f, false); xhr.send(JSON.stringify(data)); }); //var btnAdd = document.getElementById("btAdd"); //var tabs = new ATab(document.querySelector(".atabs"), document.querySelector(".tabcontents")); //var tb = new ATable(document.querySelector(".c-table"), 10); //var btUpdate = new AButton(document.getElementById("btUpdate")); //var btn = new AButton(btnAdd); //var m = new AModal(null); //var mU = new AModal(null); //var btBack = document.getElementById("btBack"); //btBack.addEventListener("click", (e) => { // tabs.selectedTab(0); //}) //let promise = new Promise(function (resolve, reject) { // tb.AddHeader("ID", "120px", "", "IdTypeStorageServer"); // tb.AddHeader("Storage Type Name", "", "240px", "TypeName"); // tb.AddHeader("Action", "180px", "", "Action", function (id, obj) { // var ac = document.createElement("div"); // ac.classList.add("d-f", "j-c-center"); // var d = document.createElement("button"); // d.classList.add("btn", "btn-warning", "mr-2"); // var ico = document.createElement("span"); // ico.classList.add("atg", "atg-pencil"); // d.appendChild(ico); // d.addEventListener("click", ((e) => { updateClick.call(tabs, e, id, obj); })); // ac.appendChild(d); // d = document.createElement("button"); // d.classList.add("btn", "btn-danger"); // var ico = document.createElement("span"); // ico.classList.add("atg", "atg-x"); // d.appendChild(ico); // ac.appendChild(d); // return ac; // }); // tb.SetScrollBarY(300); // tb.IsCheckBox(true); // tb.LoadDataUrl("/Storage/GetTypeStorage"); //}); //m.overlay.setIndex(2101); //m.createModal("OK"); //m.on("OK", () => { // btn.RemoveLoading(btnAdd); // tb.RefreshPage(1, true); //}); //m.on("Close", () => { btn.RemoveLoading(btnAdd); }); //btn.on("click_btAdd", function (e) { // const xhr = new XMLHttpRequest(); // xhr.open("POST", "/Storage/AddType"); // xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8'); // var data = { // "Name": document.getElementById("inpType").value // }; // var f = function (ev) { // if (ev.currentTarget.readyState == 4) { // if (ev.currentTarget.status == 200) { // var obj = JSON.parse(ev.currentTarget.responseText); // if (ev.Status == 0) { // m.AModalOK.title("Message Error", "mess-error"); // m.AModalOK.message(ev.Message); // } else { // m.AModalOK.title("Message", "mess-success"); // m.AModalOK.message("Row Insert Success!"); // } // m.showModal(); // } // } // }; // xhr.addEventListener("readystatechange", f, false); // xhr.send(JSON.stringify(data)); //}); //tabs.lockTabs.push(1); //mU.overlay.setIndex(2101); //mU.createModal("OK"); //mU.on("OK", () => { // btUpdate.RemoveLoading(document.getElementById("btUpdate")); // tabs.selectedTab(0); // tb.RefreshCurrentPage(); //}); //mU.on("Close", () => { btn.RemoveLoading(document.getElementById("btUpdate")); }); //btUpdate.on("click_btUpdate", (evt) => { // var inp = document.getElementById("inpEType"); // var inpID = document.getElementById("inpEID"); // if (inpID.value != "") { // const xhr = new XMLHttpRequest(); // xhr.open("POST", "/Storage/UpdateType"); // xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8'); // var data = { // "ID": inpID.value, // "Name": inp.value // }; // var f = function (ev) { // if (ev.currentTarget.readyState == 4) { // if (ev.currentTarget.status == 200) { // var obj = JSON.parse(ev.currentTarget.responseText); // if (ev.Status == 0) { // mU.AModalOK.title("Message Error", "mess-error"); // mU.AModalOK.message(ev.Message); // } else { // mU.AModalOK.title("Message", "mess-success"); // mU.AModalOK.message("Row Update Success!"); // } // mU.showModal(); // } // } // }; // xhr.addEventListener("readystatechange", f, false); // xhr.send(JSON.stringify(data)); // } //}); //var btSearch = new AButton(document.getElementById("btSearch")); //btSearch.on("click_btSearch", function (evt) { // var fr = new FormData(); // fr.append("keyword", document.getElementById("inpKey").value); // tb.LoadDataFirst(fr); // btSearch.RemoveLoading(evt); //}); } //function updateClick(e, id, obj) { // this.enableTab(1); // this.selectedTab(1); // var inp = document.getElementById("inpEType"); // var inpID = document.getElementById("inpEID"); // inp.value = obj.TypeName; // inpID.value = obj.IdTypeStorageServer; //} window.AScript.set("6101", true);