fix: JSON.parse of wea selector values correctly replaces " allowing mw to be parsed
Deploy Standortplaner / deploy (push) Successful in 16s Details

This commit is contained in:
Johannes Baumeister 2026-07-04 22:10:15 +02:00
parent 3ce303a00f
commit 2c6eac1c99
1 changed files with 11 additions and 12 deletions

23
app.js
View File

@ -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,