fix(menü): mitgelieferte Dokumente sind nicht mehr umbenennbar (D81-Nachtrag 3)

Ihr Name ist Auslieferungsstand: Wiederherstellen stellt ihn mit her, der
Neu-laden-Vergleich prüft ihn, und ein umbenanntes, aber unverändertes
Beispiel bekäme weiter still neue Fassungen nachgezogen (das Nachziehen
hängt an id + Text-Fingerabdruck, nicht am Namen). Kein Stift an
mitgelieferten Zeilen; renameDoc() prüft es selbst. Löschen bleibt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-27 05:51:41 +02:00
co-authored by Claude Fable 5
parent 4e200e4d9b
commit ca4c6f98d8
5 changed files with 51 additions and 7 deletions
+5
View File
@@ -158,6 +158,11 @@ verworfene Elemente. Quelle sind ES-Module unter `src/`; `index.html` ist der
docurl.js, headless getestet) und trägt Umbenennen/Löschen als Symbole
**je Zeile**`renameDoc/deleteDoc` nehmen deshalb eine **id**, nicht das
aktive Dokument, und Verwaltungs-Aktionen lassen das Menü offen.
**Mitgelieferte Dokumente sind nicht umbenennbar** (D81-Nachtrag 3): kein
Stift an ihrer Zeile, und `renameDoc()` prüft es selbst — ihr Name ist
Auslieferungsstand (Restore stellt ihn wieder her), und ein umbenanntes,
unverändertes Beispiel bekäme weiter still neue Fassungen (das Nachziehen
hängt an id + Text-Fingerabdruck, nicht am Namen).
Wiederherstellen gibt es im Menü bewusst **nicht** (D81-Nachtrag 2): Es
läuft über den Neu-laden-Knopf der Titelzeile und wirkt nur auf das
geöffnete Dokument — `restoreDoc()` prüft das selbst. Die Editor-Titelzeile heißt wieder „Text-Editor" und trägt die
+12 -6
View File
@@ -3577,11 +3577,14 @@ const IC_RENAME = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" st
const IC_DELETE = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/></svg>';
/* Eine Menüzeile: Wählen-Knopf + Zeilen-Aktionen als GESCHWISTER ein Knopf
im Knopf wäre ungültiges HTML. Die Aktionen sind immer sichtbar (Touch
kennt kein Hover): Umbenennen und Löschen, beides überall. Wiederherstellen
gibt es hier bewusst NICHT (D81-Nachtrag 2): Es wirkt über den
Neu-laden-Knopf der Editor-Titelzeile nur auf das geöffnete Dokument
ein ungeöffnetes zurückzusetzen, ohne zu sehen, was man verwirft, ergäbe
keinen Sinn. */
kennt kein Hover): Löschen überall, Umbenennen nur bei NICHT
mitgelieferten Dokumenten (D81-Nachtrag 3) der Name gehört dort zum
Auslieferungsstand, und ein umbenanntes, aber unverändertes Beispiel
bekäme weiter still neue Fassungen nachgezogen (das Nachziehen hängt an id
und Text-Fingerabdruck, D27). Wiederherstellen gibt es hier ebenfalls
NICHT (D81-Nachtrag 2): Es wirkt über den Neu-laden-Knopf der
Editor-Titelzeile nur auf das geöffnete Dokument ein ungeöffnetes
zurückzusetzen, ohne zu sehen, was man verwirft, ergäbe keinen Sinn. */
function docRowHtml(d){
if(d.id === renamingId){
/* Inline-Umbenennen direkt im Menü (kein window.prompt das ist in
@@ -3604,7 +3607,7 @@ function docRowHtml(d){
`<span class="doccheck" aria-hidden="true">✓</span>` +
`<span class="docitem-name">${esc(d.name)}</span>${zusatz}</button>` +
`<span class="docacts">` +
iconBtn('rename', t('docRename'), IC_RENAME) +
(shippedStateOf(d.id) ? '' : iconBtn('rename', t('docRename'), IC_RENAME)) +
iconBtn('delete', t('docDelete'), IC_DELETE, ' docdelbtn') +
`</span></div>`;
}
@@ -4089,6 +4092,9 @@ function finishNewDoc(){
}
function renameDoc(id){
if(!docs.some(x => x.id === id)) return;
/* Mitgelieferte nicht (D81-Nachtrag 3): Ihr Name ist Auslieferungsstand.
Die Prüfung liegt hier, nicht nur am ausgeblendeten Stift. */
if(shippedStateOf(id)) return;
renamingId = id; /* Zeilen-Aktion (D81): jedes Dokument, nicht nur das aktive */
renameIsNew = false;
renderDocMenu();