/* ========================= RESOURCE MODAL ========================= */ window.openCreate = function(){ document.getElementById("modalTitle").innerText="Create Resource" document.getElementById("resource_id").value="" document.getElementById("name").value="" document.getElementById("produkt").value="" document.getElementById("provider").value="" document.getElementById("art").value="" document.getElementById("cpu").value="" document.getElementById("ram").value="" document.getElementById("disk").value="" document.getElementById("os").value="" document.getElementById("kosten_monat").value="" document.getElementById("kosten_jahr").value="" document.getElementById("providername").value="" document.getElementById("ipv6_net").value="" document.getElementById("bestelldatum").value="" document.getElementById("kuendbar_ab").value="" document.getElementById("kuendigungsdatum").value="" document.getElementById("status").value="aktiv" document.getElementById("bemerkung").value="" document.getElementById("resourceModal").style.display="block" } window.openEdit = function(resource){ document.getElementById("modalTitle").innerText="Edit Resource" document.getElementById("resource_id").value=resource.id Object.keys(resource).forEach(k=>{ const el=document.getElementById(k) if(el) el.value=resource[k] || "" }) document.getElementById("resourceModal").style.display="block" } window.closeModal = function(){ document.getElementById("resourceModal").style.display="none" } window.openServerDetail = async function(resource){ const mappings = await api(API+"/domainmap") let html = `${resource.name}

` const domains = mappings.filter(m => m.resource_id == resource.id) domains.forEach(d=>{ html += `
🌐 ${d.domain_name}
` }) document.getElementById("serverDetailContent").innerHTML = html document.getElementById("serverDetailModal").style.display="block" } window.closeServerDetail = function(){ document.getElementById("serverDetailModal").style.display="none" } /* ========================= DOMAIN MODAL ========================= */ window.openDomainCreate = function(){ document.getElementById("domainModalTitle").innerText="Create Domain" document.getElementById("domain_id").value="" document.getElementById("domain_name").value="" document.getElementById("domain_provider").value="" document.getElementById("domain_ip").value="" document.getElementById("domain_cost").value="" document.getElementById("domain_notes").value="" document.getElementById("domainModal").style.display="block" } window.openDomainEdit = function(d){ document.getElementById("domainModalTitle").innerText="Edit Domain" document.getElementById("domain_id").value=d.id document.getElementById("domain_name").value=d.domain_name || "" document.getElementById("domain_provider").value=d.provider || "" document.getElementById("domain_ip").value=d.ip_address || "" document.getElementById("domain_cost").value=d.yearly_cost || "" document.getElementById("domain_notes").value=d.notes || "" document.getElementById("domainModal").style.display="block" } window.closeDomainModal = function(){ document.getElementById("domainModal").style.display="none" } /* ========================= SUBDOMAIN MODAL ========================= */ window.openSubCreate = function(domainId){ document.getElementById("sub_domain_id").value=domainId document.getElementById("sub_name").value="" document.getElementById("sub_ip").value="" document.getElementById("subdomainModal").style.display="block" } window.closeSubModal = function(){ document.getElementById("subdomainModal").style.display="none" } /* ========================= IP MODAL ========================= */ window.openIPManager = function(resourceId){ document.getElementById("ip_resource_id").value=resourceId document.getElementById("ipModal").style.display="block" } window.closeIPModal = function(){ document.getElementById("ipModal").style.display="none" }