Terminplaner TP2 C7a: Nachbesserung 1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
edaefd4237
commit
0090332c70
2 files changed
+30
-2
No files matched your search
@@ -516,7 +516,7 @@ const nameSchluessel = (name) => leerzeichenEins(name).normalize('NFC').toLowerC
|
||||
* Namen: getrimmt, Leerraum zusammengefasst, auf MAX.ressourcenName gekuerzt, ohne Leere und ohne Doppelte (Gross-/Kleinschreibung zaehlt
|
||||
* nicht, die erste Schreibweise gilt), hoechstens LIMITS.ressourcen. Zuordnung: gleiche Namen behalten ID und Plan; uebrige alte Eintraege
|
||||
* werden in ihrer Reihenfolge den uebrigen Namen zugeteilt (umbenannt, ID und Plan bleiben); weitere Namen bekommen eine neue ID und eine
|
||||
* Kopie des Plans des ersten Eintrags (ohne Eintrag: leerer Plan). Alle Eintraege sind aktiv. Ergebnis in der Reihenfolge der Namen:
|
||||
* Kopie des Plans des ersten behaltenen oder umbenannten Eintrags, gleich wo der neue Name steht (ohne solchen Eintrag: leerer Plan). Alle Eintraege sind aktiv. Ergebnis in der Reihenfolge der Namen:
|
||||
* { ressourcen, entfernt: IDs der weggefallenen Eintraege, neu: IDs der neuen }. Die Eintraege tragen nur Felder, die der Server aus dem
|
||||
* Client uebernimmt (kein feedToken, den vergibt und behaelt der Server). Die Zuordnung der Leistungen setzt der Aufrufer.
|
||||
*/
|
||||
@@ -545,6 +545,9 @@ export function ressourcenAusNamen({ bisher, typ, namen, neueId: erzeugeId = (be
|
||||
const uebrige = alt.filter((r) => frei.has(r))
|
||||
sauber.forEach((name, i) => { if (zugeteilt[i] === null && uebrige.length > 0) zugeteilt[i] = uebrige.shift() })
|
||||
|
||||
// Vorlage fuer neue Namen: Plan des ersten behaltenen oder umbenannten Eintrags (unabhaengig davon, wo ein neuer Name in der Liste steht)
|
||||
const vorlagePlan = zugeteilt.find(Boolean)?.plan
|
||||
|
||||
const belegt = new Set(alt.map((r) => r.id))
|
||||
const ressourcen = []
|
||||
const neu = []
|
||||
@@ -560,7 +563,7 @@ export function ressourcenAusNamen({ bisher, typ, namen, neueId: erzeugeId = (be
|
||||
if (typeof id !== 'string' || belegt.has(id)) throw new Error(`neueId lieferte keine freie ID: ${String(id).slice(0, 40)}`)
|
||||
belegt.add(id)
|
||||
neu.push(id)
|
||||
plan = ressourcen[0]?.plan
|
||||
plan = vorlagePlan
|
||||
}
|
||||
ressourcen.push({ id, typ: art, name, aktiv: true, plan: structuredClone(plan !== null && typeof plan === 'object' ? plan : {}) })
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user