{ "abdeckung": { "bedienen:ablehnen": { "abdruck": "e9cce25d92b81ff6", "funktion": "Vorschlag übernehmen", "trug": "623a7051f333b927" }, "bedienen:alleAblehnen": { "abdruck": "ac9262c7cafe9537", "funktion": "Alle Vorschläge verwerfen", "trug": "ebd934ac7bd2fd98" }, "bedienen:alleAnnehmen": { "abdruck": "4d75c7726bfa3495", "funktion": "Alle Vorschläge annehmen", "trug": "b10259f43d181352" }, "bedienen:annehmen": { "abdruck": "2742ad031b3d3cca", "funktion": "Vorschlag verwerfen", "trug": "3cb8a045b150b0f4" }, "bedienen:auswaehlen": { "abdruck": "d061bf62466085ce", "funktion": "Projekt auswählen", "trug": "2ea2bcb2d50dfcdc" }, "bedienen:bereichsMenue": { "abdruck": "4277536d43c7bcd5", "funktion": "Feature anlegen", "trug": "df125001c2129150" }, "bedienen:bestaetigen": { "abdruck": "db1f954b9ad01749", "funktion": "Eingabe bestätigen", "trug": "fc9047b1df0fc4a4" }, "bedienen:erledige": { "abdruck": "1b80ae13958bb11a", "funktion": "Vorschlag übernehmen", "trug": "623a7051f333b927" }, "bedienen:funktionsMenue": { "abdruck": "bacdd0a7cc9d0f92", "funktion": "Funktion nach oben bewegen", "trug": "df54203089276209" }, "bedienen:karteAnnehmen": { "abdruck": "bf348251763e402a", "funktion": "Vorschlag übernehmen", "trug": "623a7051f333b927" }, "bedienen:kartenMenue": { "abdruck": "d3ba136a562eb1e9", "funktion": "", "trug": "" }, "bedienen:leeren": { "abdruck": "f2af432a5ae3b255", "funktion": "Chat leeren", "trug": "ad6f39b2df93ae9d" }, "bedienen:leistenMenue": { "abdruck": "ed951fbeaaa9bc70", "funktion": "Projekt erstellen", "trug": "8cfce050cfef424d" }, "bedienen:oeffneChat": { "abdruck": "7fc878caea678882", "funktion": "Chat öffnen", "trug": "449b8c9136c0c593" }, "bedienen:projektMenue": { "abdruck": "ea73f8c2597c0443", "funktion": "Projektmenü öffnen", "trug": "03a14d06cae6f470" }, "bedienen:schliesse": { "abdruck": "919b104c012c034d", "funktion": "Panel schließen", "trug": "24e867bc1277dd05" }, "bedienen:schliessen": { "abdruck": "1e12f9ae001e93e1", "funktion": "Chat leeren", "trug": "ad6f39b2df93ae9d" }, "bedienen:senden": { "abdruck": "8df3402ed3373acc", "funktion": "Nachricht senden", "trug": "0065319137cd6852" }, "bedienen:springe": { "abdruck": "0b134efa50c03bff", "funktion": "Fehlerstelle anzeigen", "trug": "453d3d6f073b279b" }, "bedienen:starte": { "abdruck": "761c2f62c917a3db", "funktion": "Feature bearbeiten", "trug": "69af0692497e5bfd" }, "bedienen:startePruefung": { "abdruck": "b31edc2e13f73aa1", "funktion": "Prüfung starten", "trug": "28b659d9245434ad" }, "bedienen:umbenennen": { "abdruck": "6185b6b39708bf02", "funktion": "Projekt umbenennen", "trug": "b173e09e1f84276f" }, "bedienen:wechsleAnsicht": { "abdruck": "e3193fce50eaa58e", "funktion": "Ansicht wechseln", "trug": "49670ec2cf4bafa6" }, "bedienen:wechsleArt": { "abdruck": "67250a1e8d82e960", "funktion": "Badge umschalten", "trug": "4369915490203cfc" }, "bedienen:wechsleDarkMode": { "abdruck": "b83524eb0e12a7d7", "funktion": "Darkmode umschalten", "trug": "10c8c8aea8a9dcb5" }, "bedienen:wechsleStand": { "abdruck": "8c2e3bf3be58ec00", "funktion": "Funktionsstand wechseln", "trug": "eba0447774607720" }, "bedienen:zurueck": { "abdruck": "e378014fbce96d10", "funktion": "Aktion rückgängig machen", "trug": "3527aa90cc51d6ac" }, "hoeren:systemDunkel.change": { "abdruck": "d3ef681b987557dc", "funktion": "Darkmode umschalten", "trug": "10c8c8aea8a9dcb5" }, "hoeren:window.click": { "abdruck": "620812522ed2d900", "funktion": "Kontextmenü verbergen", "trug": "ae4fafc64d2c9eca" }, "hoeren:window.keydown": { "abdruck": "c3e1df2d60fcc067", "funktion": "Aktion rückgängig machen", "trug": "3527aa90cc51d6ac" }, "menue:+ Feature erstellen": { "abdruck": "82c40072137d5757", "funktion": "Feature anlegen", "trug": "df125001c2129150" }, "menue:+ Funktion erstellen": { "abdruck": "b44457d64a5ec9d1", "funktion": "Funktion anlegen", "trug": "90e0b650ae301b45" }, "menue:+ Projekt erstellen": { "abdruck": "2be770390433a2ce", "funktion": "Projekt erstellen", "trug": "8cfce050cfef424d" }, "menue:+ Vision erstellen": { "abdruck": "cb22a654070e58b4", "funktion": "Feature anlegen", "trug": "df125001c2129150" }, "menue:→ Feature verschieben": { "abdruck": "38e6b244668ee164", "funktion": "Funktion anlegen", "trug": "90e0b650ae301b45" }, "menue:▲ Nach oben": { "abdruck": "4e6fd1617d817357", "funktion": "Funktion nach oben bewegen", "trug": "df54203089276209" }, "menue:▼ Nach unten": { "abdruck": "183651450e546c4f", "funktion": "Funktion nach oben bewegen", "trug": "df54203089276209" }, "menue:◇ Quelle festlegen": { "abdruck": "e4bb1781bc375d6d", "funktion": "Projektmenü öffnen", "trug": "03a14d06cae6f470" }, "menue:✎ Projekt anpassen": { "abdruck": "ad505addca45b06c", "funktion": "Projektmenü öffnen", "trug": "03a14d06cae6f470" }, "menue:✕ Feature entfernen": { "abdruck": "bc968582260c45b9", "funktion": "Funktion anlegen", "trug": "90e0b650ae301b45" }, "menue:✕ Funktion entfernen": { "abdruck": "d29458b150c55777", "funktion": "Funktion nach oben bewegen", "trug": "df54203089276209" }, "menue:✕ Projekt entfernen": { "abdruck": "aca25c0b5feaf752", "funktion": "Projektmenü öffnen", "trug": "03a14d06cae6f470" }, "menue:✕ Vision entfernen": { "abdruck": "88520b1f105d3fb5", "funktion": "Ansicht wechseln", "trug": "49670ec2cf4bafa6" }, "route:delete /projekte/{name}": { "abdruck": "b4f871be35d10e5f", "funktion": "Projekt löschen", "trug": "872516903886a778" }, "route:delete /projekte/{name}/chat": { "abdruck": "4ba7a240985a83b4", "funktion": "Chat leeren", "trug": "ad6f39b2df93ae9d" }, "route:delete /projekte/{name}/features/{id}": { "abdruck": "c1db81de98835c39", "funktion": "Feature löschen", "trug": "1923fc64038bc60b" }, "route:delete /projekte/{name}/pruefung": { "abdruck": "7a480f33ddf55165", "funktion": "Prüfung beenden", "trug": "5fe1d7854fed1dee" }, "route:get /health": { "abdruck": "65257319741edf35", "funktion": "Systemstatus prüfen", "trug": "bcfd8dfe1476c1e3" }, "route:get /projekte": { "abdruck": "276556054437c303", "funktion": "Systemstatus prüfen", "trug": "bcfd8dfe1476c1e3" }, "route:get /projekte/{name}/chat": { "abdruck": "fd2a22c36ea85545", "funktion": "Chat-Verlauf abrufen", "trug": "00a373d5a8aa27ea" }, "route:get /projekte/{name}/features": { "abdruck": "122f93cbd0d07881", "funktion": "Projektfeatures anzeigen", "trug": "9c5e510b15780d20" }, "route:get /projekte/{name}/pruefung": { "abdruck": "e651ac90b7b2c520", "funktion": "", "trug": "" }, "route:get /projekte/{name}/quelle": { "abdruck": "834d3af3203ca3a8", "funktion": "Quelldaten laden", "trug": "0331b57c96312672" }, "route:get /projekte/{name}/verlauf": { "abdruck": "5a3dcc678733fad8", "funktion": "Projektverlauf anzeigen", "trug": "3702fe42929b0778" }, "route:post /projekte": { "abdruck": "fa1628d7e469885d", "funktion": "Projekt erstellen", "trug": "8cfce050cfef424d" }, "route:post /projekte/{name}/chat": { "abdruck": "c3edc89cec5d2f6f", "funktion": "Chat-Nachricht senden", "trug": "6a5b29958d030562" }, "route:post /projekte/{name}/features": { "abdruck": "00eb9c16560bac73", "funktion": "Feature anlegen", "trug": "df125001c2129150" }, "route:post /projekte/{name}/pruefung": { "abdruck": "6d7444a9dfad7d54", "funktion": "Prüfung starten", "trug": "28b659d9245434ad" }, "route:post /projekte/{name}/pruefung/verworfen": { "abdruck": "a43f7221e01c386f", "funktion": "", "trug": "" }, "route:post /projekte/{name}/verlauf/zurueck": { "abdruck": "308fec6d21b01d60", "funktion": "Änderung verwerfen", "trug": "8e65186dfd7d0718" }, "route:put /projekte/{name}": { "abdruck": "75383ac009961cad", "funktion": "Projekt umbenennen", "trug": "b173e09e1f84276f" }, "route:put /projekte/{name}/features/{id}": { "abdruck": "b24c7000fd2ec94c", "funktion": "Feature sichern", "trug": "304dcd2dda365217" }, "route:put /projekte/{name}/features/{id}/projekt": { "abdruck": "fafc7a8a1656f93b", "funktion": "Feature verschieben", "trug": "0a80fa98ccc72643" }, "route:put /projekte/{name}/quelle": { "abdruck": "d342055e3163548a", "funktion": "Quelldaten laden", "trug": "0331b57c96312672" } }, "belege": { "[\"ansicht\", \"Ansicht wechseln\"]": { "abdruck": "c3877694357a5933", "beleg": "function wechsleAnsicht() {\n gross.value = !gross.value\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"ansicht\", \"Darkmode umschalten\"]": { "abdruck": "e6006f976ba25e5b", "beleg": "function wechsleDarkMode() {\n modus.value = MODI[(MODI.indexOf(modus.value) + 1) % MODI.length]\n localStorage.setItem('darkModus', modus.value)\n wendeAn()\n}", "datei": "frontend/src/App.vue" }, "[\"ansicht\", \"Panel schließen\"]": { "abdruck": "8e3956fd63c3a392", "beleg": "export async function schliesse() {\n stoppeUhr()\n offen.value = false\n probleme.value = []\n laeuft.value = false\n if (projektName) await pruefungBeenden(projektName).catch(() => {})\n}", "datei": "frontend/src/composables/pruefung.js" }, "[\"ansicht\", \"Systemfarben nutzen\"]": { "abdruck": "52b537e262b3b777", "beleg": "systemDunkel.addEventListener('change', () => { if (modus.value === 'auto') wendeAn() })", "datei": "frontend/src/App.vue" }, "[\"chat\", \"Chat leeren\"]": { "abdruck": "a0bdc6bf618937a7", "beleg": "def leeren(projekt: str):\n _pfad(projekt).unlink(missing_ok=True)", "datei": "backend/chat.py" }, "[\"chat\", \"Chat schließen\"]": { "abdruck": "413d7ffe543690eb", "beleg": "", "datei": "frontend/src/components/ChatPanel.vue" }, "[\"chat\", \"Chat öffnen\"]": { "abdruck": "c00eb93f9adfbe45", "beleg": "if (pruefungOffen.value) schliessePruefung()", "datei": "frontend/src/App.vue" }, "[\"chat\", \"Chat-Nachricht senden\"]": { "abdruck": "ed02394bf1ef6d86", "beleg": "@router.post(\"/projekte/{name}/chat\")\nasync def chat_frage(name: str, body: dict):", "datei": "backend/routes.py" }, "[\"chat\", \"Nachricht senden\"]": { "abdruck": "9b2f165ec8491c5d", "beleg": "async function senden() {\n const text = entwurf.value.trim()\n if (!text || laeuft.value) return\n meldung.value = ''\n laeuft.value = true\n // Die eigene Zeile sofort zeigen; auf die Antwort wartet man sonst vor leerem Feld\n verlauf.value = [...verlauf.value, { rolle: 'person', text }]\n entwurf.value = ''\n nachUnten()\n try {\n const antwort = await chatFragen(props.projekt, text)", "datei": "frontend/src/components/ChatPanel.vue" }, "[\"features\", \"Badge umschalten\"]": { "abdruck": "e2965c14555f8096", "beleg": "function wechsleArt() {\n s.value.art = s.value.art === 'kern' ? 'optional' : 'kern'\n speichern()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"features\", \"Doppeltes Projekt verhindern\"]": { "abdruck": "766dc883e27f42c2", "beleg": "if ziel.exists():\n raise ValueError(f\"Projekt „{name}“ existiert bereits\")", "datei": "backend/projekte.py" }, "[\"features\", \"Feature anlegen\"]": { "abdruck": "4b203078599f8166", "beleg": "async function erstellen(titel) {", "datei": "frontend/src/components/FeatureListe.vue" }, "[\"features\", \"Feature bearbeiten\"]": { "abdruck": "6d66b9d5a4f5d6ab", "beleg": "async function starte(feld, i, j) {\n if (!gross.value) return // Bearbeiten nur in der ausführlichen Ansicht\n const original = wert(feld, i, j)\n aktiv.value = { feld, i, j, original }\n entwurf.value = original\n await nextTick()\n const el = Array.isArray(feldRef.value) ? feldRef.value[0] : feldRef.value\n el?.focus()\n if (feld === 'titel') el?.select()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"features\", \"Feature löschen\"]": { "abdruck": "166de85192ae758b", "beleg": "@router.delete(\"/projekte/{name}/features/{id}\")\nasync def feature_loeschen(name: str, id: str):\n try:\n features.loeschen(name, id)\n except (FileNotFoundError, ValueError) as e:\n raise HTTPException(404, str(e))\n return {\"ok\": True}", "datei": "backend/routes.py" }, "[\"features\", \"Feature sichern\"]": { "abdruck": "7dc961261c1bdd97", "beleg": "return features.speichern(name, id, body.get(\"roh\") or \"\")", "datei": "backend/routes.py" }, "[\"features\", \"Feature verschieben\"]": { "abdruck": "9ef1a4e4d2c83cd5", "beleg": "def verschieben(projekt: str, id: str, ziel: str) -> dict:", "datei": "backend/features.py" }, "[\"features\", \"Projekt auswählen\"]": { "abdruck": "9a18227bae730ca9", "beleg": "@click=\"emit('auswaehlen', p.name)\"", "datei": "frontend/src/components/SeitenLeiste.vue" }, "[\"features\", \"Projekt entfernen\"]": { "abdruck": "be42cdf553979c24", "beleg": "def loeschen(name: str):\n ordner = _ordner(name)\n if not ordner.is_dir():\n raise FileNotFoundError(f\"Projekt „{name}“ nicht gefunden\")\n shutil.rmtree(ordner)", "datei": "backend/projekte.py" }, "[\"features\", \"Projekt erstellen\"]": { "abdruck": "71330de60c424239", "beleg": "ziel.mkdir(parents=True)", "datei": "backend/projekte.py" }, "[\"features\", \"Projekt löschen\"]": { "abdruck": "0990bba6500429a1", "beleg": "@router.delete(\"/projekte/{name}\")\nasync def projekt_loeschen(name: str):", "datei": "backend/routes.py" }, "[\"features\", \"Projekt umbenennen\"]": { "abdruck": "466815ae4cd070b5", "beleg": "def umbenennen(alt: str, neu: str):", "datei": "backend/projekte.py" }, "[\"features\", \"Projekte anzeigen\"]": { "abdruck": "034ffb0e08d0106f", "beleg": "return [{\"name\": p.name} for p in ordner]", "datei": "backend/projekte.py" }, "[\"features\", \"Projektfeatures anzeigen\"]": { "abdruck": "fef0253d82b979bd", "beleg": "return features.liste(name)", "datei": "backend/routes.py" }, "[\"features\", \"Projektmenü öffnen\"]": { "abdruck": "20b34708dcae5e40", "beleg": "function projektMenue(e, name) {\n oeffneMenue(e, [\n { text: '✎ Projekt anpassen', aktion: () => starteUmbenennen(name) },\n { text: '◇ Quelle festlegen', aktion: () => starteQuelle(name) },\n { text: '✕ Projekt entfernen', aktion: () => oeffneModal({ art: 'entfernen', name }) },\n ])\n}", "datei": "frontend/src/components/SeitenLeiste.vue" }, "[\"features\", \"Quelldaten laden\"]": { "abdruck": "655e0069db84a8ac", "beleg": "def setze(projekt: str, pfad: str) -> str:\n ziel = pruefe(pfad)\n _pfad(projekt).write_text(f\"{ziel}\\n\")\n return str(ziel)", "datei": "backend/quelle.py" }, "[\"features\", \"Vision entfernen\"]": { "abdruck": "470551c11e26d3be", "beleg": "function kartenMenue(e) {\n oeffneMenue(e, [{ text: '✕ Vision entfernen', aktion: () => emit('entfernen') }])\n}", "datei": "frontend/src/components/VisionKarte.vue" }, "[\"features\", \"Vision erstellen\"]": { "abdruck": "eedd0343c63f6174", "beleg": "async function visionErstellen() {\n meldung.value = ''\n try {\n features.value.push(mitKey(await featureAnlegen(\n props.projekt, '\\nVision\\n\\nvision\\n')))\n emit('geaendert')\n } catch (e) {\n meldung.value = e.message\n }\n}", "datei": "frontend/src/components/FeatureListe.vue" }, "[\"funktionen\", \"Funktion anlegen\"]": { "abdruck": "3b9cb4fbae4dc4d0", "beleg": "async function funktionErstellen(titel) {\n // Von Hand angelegt heißt: es wird beschrieben, was es gibt. Bestellt wird im Gespräch.\n s.value.funktionen.push({ text: titel, ziel: '', regeln: '', testen: '', stand: 'gebaut' })\n modal.value = null\n await speichern()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Funktion löschen\"]": { "abdruck": "3e13d8d2db286a9a", "beleg": "async function funktionEntfernen() {", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Funktion nach oben bewegen\"]": { "abdruck": "edb543e0eb422f82", "beleg": "async function schiebe(i, richtung) {", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Funktionsstand wechseln\"]": { "abdruck": "91bb0f08f7bbb6e5", "beleg": "@click.stop=\"wechsleStand(i)\"", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"funktionen\", \"Kontextmenü anzeigen\"]": { "abdruck": "338f555e81f96982", "beleg": "export function oeffneMenue(e, eintraege) {\n kontextMenue.value = { eintraege, x: e.clientX, y: e.clientY }\n}", "datei": "frontend/src/composables/kontextmenue.js" }, "[\"funktionen\", \"Kontextmenü verbergen\"]": { "abdruck": "4c7978801a55e0e3", "beleg": "window.addEventListener('click', (e) => {\n if (e.target.closest?.('.kontextmenue')) return // Auswahl darf zuerst laufen\n schliesseMenue()\n}, true)", "datei": "frontend/src/composables/kontextmenue.js" }, "[\"pruefung\", \"Eingabe bestätigen\"]": { "abdruck": "1913b85008d85b53", "beleg": "@keydown.enter.exact.prevent=\"senden\"", "datei": "frontend/src/components/ChatPanel.vue" }, "[\"pruefung\", \"Fehlerstelle anzeigen\"]": { "abdruck": "3df860fd942c7991", "beleg": "function springe(p) {\n const karte = document.querySelector(`[data-feature=\"${CSS.escape(p.feature)}\"]`)\n if (!karte) return\n karte.scrollIntoView({ behavior: 'smooth', block: 'center' })\n karte.classList.add('gesucht')\n setTimeout(() => karte.classList.remove('gesucht'), 1200)\n}", "datei": "frontend/src/components/PruefPanel.vue" }, "[\"pruefung\", \"Prüfung beenden\"]": { "abdruck": "f037280e771e00bf", "beleg": "def beende(projekt: str):\n \"\"\"Ergebnis verwerfen (Panel schließen).\"\"\"\n _laeufe.pop(projekt, None)", "datei": "backend/pruefung.py" }, "[\"pruefung\", \"Prüfung starten\"]": { "abdruck": "d64e34a6115050f7", "beleg": "async def starte(projekt: str, art: str = \"stil\") -> dict:", "datei": "backend/pruefung.py" }, "[\"pruefung\", \"Prüfungsstatus anzeigen\"]": { "abdruck": "e24503b308960f41", "beleg": "def status(projekt: str) -> dict:", "datei": "backend/pruefung.py" }, "[\"pruefung\", \"Systemstatus prüfen\"]": { "abdruck": "3077f4e6b74b05d0", "beleg": "@router.get(\"/health\")\nasync def health():\n return {\"ok\": True}", "datei": "backend/routes.py" }, "[\"verlauf\", \"Aktion rückgängig machen\"]": { "abdruck": "55f06794c134c176", "beleg": "async function zurueck() {\n if (!aktivesProjekt.value || !letzterSchritt.value) return\n meldung.value = ''\n try {\n await verlaufZurueck(aktivesProjekt.value)\n stand.value++\n await ladeVerlauf()\n } catch (e) {\n meldung.value = e.message\n }\n}", "datei": "frontend/src/App.vue" }, "[\"verlauf\", \"Chat-Verlauf abrufen\"]": { "abdruck": "17c011bbb9139778", "beleg": "def verlauf(projekt: str) -> list:\n try:\n eintraege = json.loads(_pfad(projekt).read_text())\n except (OSError, ValueError):\n return []\n return eintraege if isinstance(eintraege, list) else []", "datei": "backend/chat.py" }, "[\"verlauf\", \"Projektverlauf anzeigen\"]": { "abdruck": "3b4218f351f981fa", "beleg": "@router.get(\"/projekte/{name}/verlauf\")\nasync def verlauf_stand(name: str):\n try:\n return {\"letzter\": verlauf.letzter(name)}\n except FileNotFoundError as e:\n raise HTTPException(404, str(e))", "datei": "backend/routes.py" }, "[\"verlauf\", \"Änderung verwerfen\"]": { "abdruck": "6f3ee47a0288fb55", "beleg": "def zurueck(projekt: str) -> str:", "datei": "backend/verlauf.py" }, "[\"vorschlaege\", \"Alle Vorschläge annehmen\"]": { "abdruck": "4122340679eb1d89", "beleg": "async function alleAnnehmen() {\n const weg = props.probleme.find(p => p.feld === 'karte')\n if (weg) return annehmen(weg) // was ganz wegfällt, muss nicht erst gerichtet werden\n props.probleme.forEach(p => { if (anwenden(p)) erledige(p) })\n await speichern()\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"vorschlaege\", \"Alle Vorschläge verwerfen\"]": { "abdruck": "55300c2b4d39c005", "beleg": "function alleAblehnen() {\n props.probleme.forEach(verwirf)\n}", "datei": "frontend/src/components/FeatureKarte.vue" }, "[\"vorschlaege\", \"Vorschlag verwerfen\"]": { "abdruck": "3c1c6dd5d5021046", "beleg": "def verwirf(projekt: str, problem: dict):", "datei": "backend/pruefung.py" }, "[\"vorschlaege\", \"Vorschlag übernehmen\"]": { "abdruck": "e1ea537facc45346", "beleg": "async function karteAnnehmen(p) {\n try {\n features.value.push(mitKey(await featureAnlegen(props.projekt, p.roh)))\n sortiere()\n erledige(p)\n emit('geaendert')\n } catch (e) {\n meldung.value = e.message\n }\n}", "datei": "frontend/src/components/FeatureListe.vue" } }, "ohne_code": {}, "ohne_karte": {}, "paare": { "[\"[\\\"ansicht\\\", \\\"Ansicht wechseln\\\"]\", \"[\\\"ansicht\\\", \\\"Darkmode umschalten\\\"]\"]": { "abdruck": "b8ff91dfce2253eb", "gleich": false }, "[\"[\\\"ansicht\\\", \\\"Ansicht wechseln\\\"]\", \"[\\\"ansicht\\\", \\\"Panel schließen\\\"]\"]": { "abdruck": "a633805898584a0f", "gleich": false }, "[\"[\\\"ansicht\\\", \\\"Ansicht wechseln\\\"]\", \"[\\\"ansicht\\\", \\\"Systemfarben nutzen\\\"]\"]": { "abdruck": "9ab009b3f3b7faa8", "gleich": false }, "[\"[\\\"ansicht\\\", \\\"Darkmode umschalten\\\"]\", \"[\\\"ansicht\\\", \\\"Panel schließen\\\"]\"]": { "abdruck": "80aec0f1ade023d2", "gleich": false }, "[\"[\\\"ansicht\\\", \\\"Darkmode umschalten\\\"]\", \"[\\\"ansicht\\\", \\\"Systemfarben nutzen\\\"]\"]": { "abdruck": "1832c75969ec0d3c", "gleich": false }, "[\"[\\\"ansicht\\\", \\\"Panel schließen\\\"]\", \"[\\\"ansicht\\\", \\\"Systemfarben nutzen\\\"]\"]": { "abdruck": "66016c3bbab7f8cb", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat leeren\\\"]\", \"[\\\"chat\\\", \\\"Chat schließen\\\"]\"]": { "abdruck": "3d1c556a261aed69", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat leeren\\\"]\", \"[\\\"chat\\\", \\\"Chat öffnen\\\"]\"]": { "abdruck": "fb3a179776970c7e", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat leeren\\\"]\", \"[\\\"chat\\\", \\\"Chat-Nachricht senden\\\"]\"]": { "abdruck": "4d87ce17477e3f93", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat leeren\\\"]\", \"[\\\"chat\\\", \\\"Nachricht senden\\\"]\"]": { "abdruck": "1be51eee6f81d539", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat schließen\\\"]\", \"[\\\"chat\\\", \\\"Chat öffnen\\\"]\"]": { "abdruck": "3710797d87d7c5db", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat schließen\\\"]\", \"[\\\"chat\\\", \\\"Chat-Nachricht senden\\\"]\"]": { "abdruck": "9d1af4e7a844e7fd", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat schließen\\\"]\", \"[\\\"chat\\\", \\\"Nachricht senden\\\"]\"]": { "abdruck": "c6d925ffc6496c31", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat öffnen\\\"]\", \"[\\\"chat\\\", \\\"Chat-Nachricht senden\\\"]\"]": { "abdruck": "d6a902592aba793a", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat öffnen\\\"]\", \"[\\\"chat\\\", \\\"Nachricht senden\\\"]\"]": { "abdruck": "2d917f1f5f4c3520", "gleich": false }, "[\"[\\\"chat\\\", \\\"Chat-Nachricht senden\\\"]\", \"[\\\"chat\\\", \\\"Nachricht senden\\\"]\"]": { "abdruck": "7238fdce9419ad3c", "gleich": false }, "[\"[\\\"features\\\", \\\"Feature löschen\\\"]\", \"[\\\"features\\\", \\\"Feature sichern\\\"]\"]": { "abdruck": "b9ee835ba4ddc55d", "gleich": false }, "[\"[\\\"features\\\", \\\"Projekte anzeigen\\\"]\", \"[\\\"verlauf\\\", \\\"Projektverlauf anzeigen\\\"]\"]": { "abdruck": "eabdd6ac2db9913c", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion anlegen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktion löschen\\\"]\"]": { "abdruck": "6f2afa331454f7d0", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion anlegen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktion nach oben bewegen\\\"]\"]": { "abdruck": "6fee1d8cf3ae0b66", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion anlegen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktionsstand wechseln\\\"]\"]": { "abdruck": "50f1b4e63602fff9", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion anlegen\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü anzeigen\\\"]\"]": { "abdruck": "08f04c5839faa289", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion anlegen\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü verbergen\\\"]\"]": { "abdruck": "afbf929644e7cb59", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion löschen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktion nach oben bewegen\\\"]\"]": { "abdruck": "c13feb60224326b6", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion löschen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktionsstand wechseln\\\"]\"]": { "abdruck": "5c21e7fc396f9748", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion löschen\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü anzeigen\\\"]\"]": { "abdruck": "ee2d3372abc96036", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion löschen\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü verbergen\\\"]\"]": { "abdruck": "d85e188c59c915bb", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion nach oben bewegen\\\"]\", \"[\\\"funktionen\\\", \\\"Funktionsstand wechseln\\\"]\"]": { "abdruck": "24cff359c222b63b", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion nach oben bewegen\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü anzeigen\\\"]\"]": { "abdruck": "3d62226712507269", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktion nach oben bewegen\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü verbergen\\\"]\"]": { "abdruck": "138d7599fdeb4f90", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktionsstand wechseln\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü anzeigen\\\"]\"]": { "abdruck": "4e984f0f2a5512ac", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Funktionsstand wechseln\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü verbergen\\\"]\"]": { "abdruck": "ce2e9b52235a0d11", "gleich": false }, "[\"[\\\"funktionen\\\", \\\"Kontextmenü anzeigen\\\"]\", \"[\\\"funktionen\\\", \\\"Kontextmenü verbergen\\\"]\"]": { "abdruck": "b6430e74878bc7c4", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Eingabe bestätigen\\\"]\", \"[\\\"pruefung\\\", \\\"Fehlerstelle anzeigen\\\"]\"]": { "abdruck": "1419cb12e0e111d0", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Eingabe bestätigen\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfung beenden\\\"]\"]": { "abdruck": "a99636ab1282d21f", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Eingabe bestätigen\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfung starten\\\"]\"]": { "abdruck": "7631cbce07126ff0", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Eingabe bestätigen\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfungsstatus anzeigen\\\"]\"]": { "abdruck": "a3fdb382bf6a9884", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Eingabe bestätigen\\\"]\", \"[\\\"pruefung\\\", \\\"Systemstatus prüfen\\\"]\"]": { "abdruck": "0ba815a92cfdeaad", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Fehlerstelle anzeigen\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfung beenden\\\"]\"]": { "abdruck": "dbf994253e72632d", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Fehlerstelle anzeigen\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfung starten\\\"]\"]": { "abdruck": "fb95eec76e3b64ea", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Fehlerstelle anzeigen\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfungsstatus anzeigen\\\"]\"]": { "abdruck": "555964bcf58c8ea3", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Fehlerstelle anzeigen\\\"]\", \"[\\\"pruefung\\\", \\\"Systemstatus prüfen\\\"]\"]": { "abdruck": "80644693a6a57689", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Prüfung beenden\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfung starten\\\"]\"]": { "abdruck": "7e9d8831578a924a", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Prüfung beenden\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfungsstatus anzeigen\\\"]\"]": { "abdruck": "50f0a18032fad301", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Prüfung beenden\\\"]\", \"[\\\"pruefung\\\", \\\"Systemstatus prüfen\\\"]\"]": { "abdruck": "36bbb6b2441ef0f9", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Prüfung starten\\\"]\", \"[\\\"pruefung\\\", \\\"Prüfungsstatus anzeigen\\\"]\"]": { "abdruck": "b4a215965df637e6", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Prüfung starten\\\"]\", \"[\\\"pruefung\\\", \\\"Systemstatus prüfen\\\"]\"]": { "abdruck": "265be18c33789c97", "gleich": false }, "[\"[\\\"pruefung\\\", \\\"Prüfungsstatus anzeigen\\\"]\", \"[\\\"pruefung\\\", \\\"Systemstatus prüfen\\\"]\"]": { "abdruck": "7ef6d65f5e3894f9", "gleich": false }, "[\"[\\\"verlauf\\\", \\\"Aktion rückgängig machen\\\"]\", \"[\\\"verlauf\\\", \\\"Chat-Verlauf abrufen\\\"]\"]": { "abdruck": "6f6e0e1b49b03b13", "gleich": false }, "[\"[\\\"verlauf\\\", \\\"Aktion rückgängig machen\\\"]\", \"[\\\"verlauf\\\", \\\"Projektverlauf anzeigen\\\"]\"]": { "abdruck": "2ffccbb98362d6df", "gleich": false }, "[\"[\\\"verlauf\\\", \\\"Aktion rückgängig machen\\\"]\", \"[\\\"verlauf\\\", \\\"Änderung verwerfen\\\"]\"]": { "abdruck": "f96bb9ecbad1cbbb", "gleich": false }, "[\"[\\\"verlauf\\\", \\\"Chat-Verlauf abrufen\\\"]\", \"[\\\"verlauf\\\", \\\"Projektverlauf anzeigen\\\"]\"]": { "abdruck": "155506aa734b59d7", "gleich": false }, "[\"[\\\"verlauf\\\", \\\"Chat-Verlauf abrufen\\\"]\", \"[\\\"verlauf\\\", \\\"Änderung verwerfen\\\"]\"]": { "abdruck": "5db147adddb92031", "gleich": false }, "[\"[\\\"verlauf\\\", \\\"Projektverlauf anzeigen\\\"]\", \"[\\\"verlauf\\\", \\\"Änderung verwerfen\\\"]\"]": { "abdruck": "8cc5b7624b61d780", "gleich": false }, "[\"[\\\"vorschlaege\\\", \\\"Alle Vorschläge annehmen\\\"]\", \"[\\\"vorschlaege\\\", \\\"Alle Vorschläge verwerfen\\\"]\"]": { "abdruck": "4303c231f9026165", "gleich": false }, "[\"[\\\"vorschlaege\\\", \\\"Alle Vorschläge annehmen\\\"]\", \"[\\\"vorschlaege\\\", \\\"Vorschlag verwerfen\\\"]\"]": { "abdruck": "5dbf2f5134af09ef", "gleich": false }, "[\"[\\\"vorschlaege\\\", \\\"Alle Vorschläge annehmen\\\"]\", \"[\\\"vorschlaege\\\", \\\"Vorschlag übernehmen\\\"]\"]": { "abdruck": "1efb0d83189dc7a4", "gleich": false }, "[\"[\\\"vorschlaege\\\", \\\"Alle Vorschläge verwerfen\\\"]\", \"[\\\"vorschlaege\\\", \\\"Vorschlag verwerfen\\\"]\"]": { "abdruck": "ebe45407735822f1", "gleich": false }, "[\"[\\\"vorschlaege\\\", \\\"Alle Vorschläge verwerfen\\\"]\", \"[\\\"vorschlaege\\\", \\\"Vorschlag übernehmen\\\"]\"]": { "abdruck": "991d416dd30847c9", "gleich": false }, "[\"[\\\"vorschlaege\\\", \\\"Vorschlag verwerfen\\\"]\", \"[\\\"vorschlaege\\\", \\\"Vorschlag übernehmen\\\"]\"]": { "abdruck": "873c3ffb4f31cf30", "gleich": false } }, "stil": { "[\"ansicht\", \"\"]": { "abdruck": "3050ad182b423922", "probleme": [] }, "[\"ansicht\", \"Ansicht wechseln\"]": { "abdruck": "efeb03b002f19ade", "probleme": [] }, "[\"ansicht\", \"Darkmode umschalten\"]": { "abdruck": "3b1155e8587bb206", "probleme": [] }, "[\"ansicht\", \"Panel schließen\"]": { "abdruck": "2e52617f09b796ee", "probleme": [] }, "[\"ansicht\", \"Systemfarben nutzen\"]": { "abdruck": "9ee92ae09d0085ed", "probleme": [] }, "[\"chat\", \"\"]": { "abdruck": "fa8047957d054f3f", "probleme": [] }, "[\"chat\", \"Chat leeren\"]": { "abdruck": "0b73a91c7a75f49e", "probleme": [] }, "[\"chat\", \"Chat schließen\"]": { "abdruck": "190f2ccdce030a31", "probleme": [] }, "[\"chat\", \"Chat öffnen\"]": { "abdruck": "f2e5bdba8f160d90", "probleme": [] }, "[\"chat\", \"Chat-Nachricht senden\"]": { "abdruck": "9aaf53507344ca71", "probleme": [] }, "[\"chat\", \"Nachricht senden\"]": { "abdruck": "9109d06a608fd0e4", "probleme": [] }, "[\"features\", \"\"]": { "abdruck": "3c6ad3dc7eab3ce8", "probleme": [] }, "[\"features\", \"Badge umschalten\"]": { "abdruck": "00f783fe76e9192a", "probleme": [] }, "[\"features\", \"Doppeltes Projekt verhindern\"]": { "abdruck": "0fbdc39af753e723", "probleme": [] }, "[\"features\", \"Feature anlegen\"]": { "abdruck": "1fbb1c23e74ae11a", "probleme": [] }, "[\"features\", \"Feature bearbeiten\"]": { "abdruck": "1147716db006f333", "probleme": [] }, "[\"features\", \"Feature löschen\"]": { "abdruck": "21185eba2ea766c3", "probleme": [] }, "[\"features\", \"Feature sichern\"]": { "abdruck": "b128b487c64cc380", "probleme": [] }, "[\"features\", \"Feature verschieben\"]": { "abdruck": "60cf50ba769b49e3", "probleme": [] }, "[\"features\", \"Projekt auswählen\"]": { "abdruck": "c1657e61456ba324", "probleme": [] }, "[\"features\", \"Projekt entfernen\"]": { "abdruck": "15d6f5df73954031", "probleme": [] }, "[\"features\", \"Projekt erstellen\"]": { "abdruck": "60369bae08bbe631", "probleme": [] }, "[\"features\", \"Projekt löschen\"]": { "abdruck": "11e09848a6305713", "probleme": [] }, "[\"features\", \"Projekt umbenennen\"]": { "abdruck": "3a4f6691535031ac", "probleme": [] }, "[\"features\", \"Projekte anzeigen\"]": { "abdruck": "36926f0eabaaf4d3", "probleme": [] }, "[\"features\", \"Projektfeatures anzeigen\"]": { "abdruck": "06aba866e8ffd9b8", "probleme": [] }, "[\"features\", \"Projektmenü öffnen\"]": { "abdruck": "4c35d6392aaf4c48", "probleme": [] }, "[\"features\", \"Quelldaten laden\"]": { "abdruck": "2c9ec82467e0bca5", "probleme": [] }, "[\"features\", \"Vision entfernen\"]": { "abdruck": "27f241eed1b7f392", "probleme": [] }, "[\"features\", \"Vision erstellen\"]": { "abdruck": "5c1afedaaa2de937", "probleme": [] }, "[\"funktionen\", \"\"]": { "abdruck": "2214346c0c57f6e3", "probleme": [] }, "[\"funktionen\", \"Funktion anlegen\"]": { "abdruck": "0ed86e888757740f", "probleme": [] }, "[\"funktionen\", \"Funktion löschen\"]": { "abdruck": "dd9cbd8a88835994", "probleme": [] }, "[\"funktionen\", \"Funktion nach oben bewegen\"]": { "abdruck": "148531c6056ee45d", "probleme": [] }, "[\"funktionen\", \"Funktionsstand wechseln\"]": { "abdruck": "6a71b514e8d54be7", "probleme": [] }, "[\"funktionen\", \"Kontextmenü anzeigen\"]": { "abdruck": "0a12c9439ba0b213", "probleme": [] }, "[\"funktionen\", \"Kontextmenü verbergen\"]": { "abdruck": "7b141c49d7c799b7", "probleme": [] }, "[\"pruefung\", \"\"]": { "abdruck": "5eeaa019b5a5ad39", "probleme": [] }, "[\"pruefung\", \"Eingabe bestätigen\"]": { "abdruck": "8ad5471c392b0a1c", "probleme": [] }, "[\"pruefung\", \"Fehlerstelle anzeigen\"]": { "abdruck": "95a0d0915331a5fb", "probleme": [] }, "[\"pruefung\", \"Prüfung beenden\"]": { "abdruck": "dd15f32e33af9e13", "probleme": [] }, "[\"pruefung\", \"Prüfung starten\"]": { "abdruck": "cda9e8d0950338e9", "probleme": [] }, "[\"pruefung\", \"Prüfungsstatus anzeigen\"]": { "abdruck": "c5a89bfb14e802e4", "probleme": [] }, "[\"pruefung\", \"Systemstatus prüfen\"]": { "abdruck": "16e4c8f4eb5032cc", "probleme": [] }, "[\"verlauf\", \"\"]": { "abdruck": "60981e43b8753616", "probleme": [] }, "[\"verlauf\", \"Aktion rückgängig machen\"]": { "abdruck": "56bf9d34786ab1ff", "probleme": [] }, "[\"verlauf\", \"Chat-Verlauf abrufen\"]": { "abdruck": "08f9e4455271574e", "probleme": [] }, "[\"verlauf\", \"Projektverlauf anzeigen\"]": { "abdruck": "cc754d0256a98ab3", "probleme": [] }, "[\"verlauf\", \"Änderung verwerfen\"]": { "abdruck": "a19f22e3590801a9", "probleme": [] }, "[\"vorschlaege\", \"\"]": { "abdruck": "d9f2d6a2457d21e3", "probleme": [] }, "[\"vorschlaege\", \"Alle Vorschläge annehmen\"]": { "abdruck": "55894513645bf1cf", "probleme": [] }, "[\"vorschlaege\", \"Alle Vorschläge verwerfen\"]": { "abdruck": "c83c7e38cd63b8e2", "probleme": [] }, "[\"vorschlaege\", \"Vorschlag verwerfen\"]": { "abdruck": "6e6522ded1f752e9", "probleme": [] }, "[\"vorschlaege\", \"Vorschlag übernehmen\"]": { "abdruck": "bd60f0d480fc39ad", "probleme": [] } }, "verworfen": {} }