Web: Chargenliste (mit Sammel-Lagerort) + Ladezustand auf allen Tabellen

Neue Seite "Chargen": alle Chargen ueber alle Artikel (Artikel, Menge, MHD,
Lagerort, eingelagert). Lagerort je Zeile direkt aenderbar; alle Chargen ohne
Ort per Klick zuweisbar (bulk-location) - gut, wenn der Lagerort erst spaeter
angelegt wurde.

DataTable bekommt einen loading-Prop: waehrend des Ladens steht "Wird geladen..."
statt der Leer-Meldung. Auf ALLEN Tabellen angewendet (Produkte, Mindestbestaende,
Kategorien, Gruppen, Einheiten, Gebinde, Einzelstuecke, Chargen).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-29 13:58:07 +02:00
parent 1c88206838
commit 826f4df4bd
11 changed files with 190 additions and 12 deletions

View File

@@ -28,7 +28,7 @@ function savePersisted(id, data) {
export default function DataTable({
id, columns, rows, getRowKey, rowClassName,
empty = "Nichts gefunden.", toolbarExtra = null, tree = null,
empty = "Nichts gefunden.", loading = false, toolbarExtra = null, tree = null,
}) {
const colByKey = useMemo(() => Object.fromEntries(columns.map((c) => [c.key, c])), [columns]);
@@ -382,7 +382,11 @@ export default function DataTable({
</tr>
))}
{displayRows.length === 0 && (
<tr><td className="empty" colSpan={orderedCols.length}>{empty}</td></tr>
// Während des Ladens NICHT „nichts gefunden" behaupten die Leer-
// Meldung kommt erst, wenn die Daten wirklich da (und leer) sind.
<tr><td className="empty" colSpan={orderedCols.length}>
{loading ? "Wird geladen…" : empty}
</td></tr>
)}
</tbody>
</table>