import ASpinButton from '/js/libs/js-ASpinButton.js'; import ASlideDown from '/js/libs/js-ASlideDown.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'; import ATable from '/js/libs/js-ATable.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(); let tbSS = null; let eleSS = new ASlideDown(document.querySelectorAll(".aslidedown")); let pr1 = new Promise(async function (resolve, reject) { const response = await fetch("/Storage/CheckStorageInit", { method: 'GET', headers: { 'Accept': 'application/json' } }); const data = await response.json(); if (data.Status == 1) { if (data.Message == "has") { eleSS.get(0).disable_Close(); eleSS.get(1).enable_Open(); eleSS.get(2).enable_Open(); } else { eleSS.get(0).enable_Open(); eleSS.get(1).disable_Close(); eleSS.get(2).disable_Close(); var ele1 = new ASpinButton(document.getElementById("totalSize")); var ele2 = new AMultiTag(document.getElementById("listStorage")); const $v = id => (document.getElementById(id)?.value ?? '').trim(); 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(".awStorageConnector")); var as = new ASelect(slider.CustomContainer.querySelectorAll(".aselect")); var asIdType = as.get(0); wrd1.on("onBeforeBack", (evt) => { mScroll.scrollTo(0, 0); }); tabs.on("changed", (e) => { if (e.tabIndex == 1) { if (tbSS == null) { tbSS = new ATable(document.querySelector(".storageTb"), 10); tbSS.labelID = "idStorageServer"; tbSS.SetScrollBarY(400); tbSS.AddHeader("Storage Name", "180px", "180px", "storageName"); tbSS.AddHeader("Storage Type", "180px", "180px", "typeName"); tbSS.AddHeader("Controller Name", "180px", "180px", "controllerID"); tbSS.AddHeader("Create Date", "240px", "240px", "createDate"); tbSS.IsCheckBox(true); tbSS.LoadDataUrl("/Storage/GetStorage"); } else { // tb.RefreshCurrentPage(); } } }); 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(); }); }); 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)); }); let btSaveST = new AButton(document.getElementById("btSaveST")); btSaveST.on("click_btSaveST", (evt) => { const listC = tbSS.absRows.querySelectorAll("input[type=checkbox][rowCheck]:checked"); listC.forEach((el) => { const rowST = tbSS.data[el.closest("tr").getAttribute("data-id")]; ele2.addItem(rowST.idStorageServer, rowST.storageName, rowST, null); }); btSaveST.RemoveLoading(evt); slider.removeModal(); }); } } }); Waves.attach('.btn-effect', ['waves-float']); Waves.init({ duration: 1000, delay: 200 }); } window.AScript.set("6101", true);