diff --git a/app.js b/app.js index a1e434b..e0792f2 100644 --- a/app.js +++ b/app.js @@ -386,11 +386,13 @@ document.addEventListener('DOMContentLoaded', async () => { const fr = overrideData?.fr || Number.parseFloat(inputFoundation?.value) || 15; let type = overrideData?.type || "Standard Typ"; let hersteller = overrideData?.hersteller || "Unbekannt"; + let mw = overrideData?.mw || null; if (!overrideData && weaTypeSelector && weaTypeSelector.value) { try { - const parsed = JSON.parse(weaTypeSelector.value); + const parsed = JSON.parse(weaTypeSelector.value.replace(/"/g, '"')); type = parsed.anlagentyp; hersteller = parsed.hersteller; + mw = parsed.nennleistung; } catch(e) {} } const weaNr = overrideData?.nr || loadedNr || (state.turbines.length + 1).toString(); @@ -418,7 +420,7 @@ document.addEventListener('DOMContentLoaded', async () => { id: `WEA_${Date.now()}`, nr: weaNr, variant: overrideData?.variant || state.activeVariant, - hersteller, type, rd, hh, fr, latlng, + hersteller, type, mw, rd, hh, fr, latlng, ksfAngle, ksfMirrored, totalHeight: geoms.totalHeight, layers: { @@ -555,11 +557,13 @@ document.addEventListener('DOMContentLoaded', async () => { const newNr = editNr.value; let newManufacturer = activeTurbine.hersteller; let newType = activeTurbine.type; + let newMw = activeTurbine.mw; if (editWeaSelector && editWeaSelector.value) { try { - const parsed = JSON.parse(editWeaSelector.value); + const parsed = JSON.parse(editWeaSelector.value.replace(/"/g, '"')); newManufacturer = parsed.hersteller; newType = parsed.anlagentyp; + newMw = parsed.nennleistung; } catch(e) {} } const newRd = Number.parseFloat(editRd.value); @@ -575,6 +579,7 @@ document.addEventListener('DOMContentLoaded', async () => { activeTurbine.nr = newNr; activeTurbine.hersteller = newManufacturer; activeTurbine.type = newType; + activeTurbine.mw = newMw; activeTurbine.rd = newRd; activeTurbine.hh = newNh; activeTurbine.fr = newFr; @@ -2411,6 +2416,7 @@ document.addEventListener('DOMContentLoaded', async () => { variant: t.variant, hersteller: t.hersteller, type: t.type, + mw: t.mw, rd: t.rd, hh: t.hh, ksfAngle: t.ksfAngle, @@ -2480,6 +2486,7 @@ document.addEventListener('DOMContentLoaded', async () => { nr: t.nr, hersteller: t.hersteller, type: t.type, + mw: t.mw ? Number.parseFloat(t.mw) : null, rd: Number.parseFloat(t.rd) || 160, hh: Number.parseFloat(t.hh) || 165, ksfAngle: Number.parseFloat(t.ksfangle ?? t.ksfAngle ?? 0), @@ -2741,16 +2748,8 @@ document.addEventListener('DOMContentLoaded', async () => { const latlng = t.layers.marker.getLatLng(); const utmCoords = proj4(wgs84, utm32, [latlng.lng, latlng.lat]); - // Nennleistung aus loaded types finden - let nennleistung = '-'; - if (window.availableWeaTypes) { - const matchedType = window.availableWeaTypes.find(w => w.hersteller === t.hersteller && w.anlagentyp === t.type); - if (matchedType && matchedType.nennleistung) { - nennleistung = matchedType.nennleistung; - } - } - const anlagentyp = t.type === 'Standard Typ' ? '-' : (t.type || '-'); + let nennleistung = t.mw ? t.mw.toString() : '-'; return [ t.nr,