Update prioritized NEXT tasks and related UI behavior

This commit is contained in:
2026-02-19 08:12:25 +01:00
parent ebd4740b7e
commit d9be0e1482
5 changed files with 25 additions and 23 deletions

14
NEXT.md Normal file
View File

@@ -0,0 +1,14 @@
# NEXT_STEPS
## Aktive Aufgaben (priorisiert)
- [ ] [#11] Encoding- und Umlautfehler bereinigen (inkl. Anzeige in UI-Dateien und Markdown-Dokumenten)
## Verifikation (Status unklar, nicht als erledigt markieren ohne Reproduktion + Commit)
- [ ] [#15] Neue Verbindung: Netzwerkdose auswählbar (Regressionstest in UI durchführen)
## gefundene bugs
- [ ] device löschen geht nicht
- [ ] TODO Design vereinheitlichen
- [ ] Validierungsregeln fuer Topologie fest verdrahten (Patchpanel-Port nur mit Patchpanel-Port oder Netzwerkbuchsen-Port).

View File

@@ -1,21 +0,0 @@
# NEXT_STEPS
## Stand
- Letzte Pflege: 18. Februar 2026
- Quelle für Issues: lokale Referenzen aus Repository (`NEXT_STEPS.md`, `BUGS.md`, Code-Check)
- Hinweis: Live-Abruf via `gitea-issues` war am 18. Februar 2026 nicht möglich (Verbindung zu Gitea verweigert).
## Aktive Aufgaben (priorisiert)
- [ ] [#10] Dashboard-Grafik erzeugen (Location/Building/Floor/Verbindungen als Hierarchie)
- [ ] [#5] Dashboard als zoombare und verschiebbare SVG-Fläche umsetzen (interaktive Geräte/Ports/Verbindungen)
- [ ] [#14] Hilfslinien der Stockwerkskarten nur im Edit-Mode anzeigen, im Anzeige-Mode ausblenden
- [ ] [#11] Encoding- und Umlautfehler bereinigen (inkl. Anzeige in UI-Dateien und Markdown-Dokumenten)
- [ ] [#4] `device_types/edit`: Option "Ports automatisch erstellen" nur beim Erstellen anzeigen, nicht beim Editieren
## Verifikation (Status unklar, nicht als erledigt markieren ohne Reproduktion + Commit)
- [ ] [#15] Neue Verbindung: Netzwerkdose auswählbar (Regressionstest in UI durchführen)
## Hinweise zur Abarbeitung
- Vor jeder Änderung an dieser Datei offene Issues erneut laden (`gitea-issues`-Skill).
- Aufgaben hier nur mit Issue-Referenz `[#<id>]` führen.
- Aufgabe erst auf erledigt setzen, wenn Code umgesetzt und Commit mit `closes #<id>` erstellt wurde.

View File

@@ -254,6 +254,10 @@
background.setAttribute('stroke-width', '1');
svg.appendChild(background);
const style = createSvgElement('style');
style.textContent = '.floor-guide{display:none;}';
svg.appendChild(style);
state.guides.forEach((guide) => {
const line = createSvgElement('line');
if (guide.orientation === 'horizontal') {

View File

@@ -86,6 +86,7 @@ $pageTitle = $isEdit ? "Gerätetyp bearbeiten: " . htmlspecialchars($deviceType[
<textarea id="comment" name="comment" rows="3"
placeholder="z.B. Rack-Mount, 48 RJ45 + 4 SFP"><?php echo htmlspecialchars($deviceType['comment'] ?? ''); ?></textarea>
</div>
<?php if (!$isEdit): ?>
<div class="form-group">
<label for="seed_ports">Ports automatisch anlegen</label>
<input type="number" id="seed_ports" name="seed_ports" min="0" step="1"
@@ -106,6 +107,7 @@ $pageTitle = $isEdit ? "Gerätetyp bearbeiten: " . htmlspecialchars($deviceType[
</select>
<small>Wird beim automatischen Erstellen neuer Ports als Startwert gesetzt.</small>
</div>
<?php endif; ?>
</fieldset>
<!-- =========================

View File

@@ -21,7 +21,8 @@ $deviceTypeId = (int)($_POST['id'] ?? 0);
$name = trim($_POST['name'] ?? '');
$category = $_POST['category'] ?? 'other';
$comment = trim($_POST['comment'] ?? '');
$seedPortCount = max(0, (int)($_POST['seed_ports'] ?? 0));
$isCreate = $deviceTypeId <= 0;
$seedPortCount = $isCreate ? max(0, (int)($_POST['seed_ports'] ?? 0)) : 0;
$defaultPortTypeId = normalizeNullableInt($_POST['default_port_type_id'] ?? null);
$portRows = is_array($_POST['port_rows'] ?? null) ? $_POST['port_rows'] : [];
$rawShapes = trim($_POST['shape_definition'] ?? '');
@@ -131,7 +132,9 @@ if ($deviceTypeId > 0) {
}
}
if ($isCreate) {
seedDeviceTypePorts($sql, $deviceTypeId, $seedPortCount, $defaultPortTypeId);
}
syncDeviceTypePorts($sql, $deviceTypeId, $portRows);
$_SESSION['success'] = $deviceTypeId ? "Gerätetyp gespeichert" : "Fehler beim Speichern";