Web: Chargen auswaehlen und Lagerort der Auswahl setzen
Chargenliste bekommt Auswahl-Checkboxen. Das obere Panel wirkt jetzt auf die Auswahl: "N ausgewaehlt -> Lagerort setzen" (leer = Ort entfernen, z.B. beim Aufloesen eines Orts). Schnellwahl "alle sichtbaren" (respektiert Filter) und "alle ohne Lagerort". DataTable meldet dafuer die sichtbaren Zeilen (onVisibleRows). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,7 @@ function savePersisted(id, data) {
|
||||
export default function DataTable({
|
||||
id, columns, rows, getRowKey, rowClassName,
|
||||
empty = "Nichts gefunden.", loading = false, toolbarExtra = null, tree = null,
|
||||
onVisibleRows = null,
|
||||
}) {
|
||||
const colByKey = useMemo(() => Object.fromEntries(columns.map((c) => [c.key, c])), [columns]);
|
||||
|
||||
@@ -218,6 +219,15 @@ export default function DataTable({
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [treeActive, treeData, flat, collapsed]);
|
||||
|
||||
// Sichtbare (gefilterte/sortierte) Zeilen nach außen melden – z.B. damit eine
|
||||
// Seite „alle sichtbaren auswählen" anbieten kann. Ref, damit eine inline
|
||||
// übergebene Funktion keine Endlosschleife auslöst.
|
||||
const onVisibleRef = useRef(onVisibleRows);
|
||||
onVisibleRef.current = onVisibleRows;
|
||||
useEffect(() => {
|
||||
onVisibleRef.current?.(displayRows.map((d) => d.row));
|
||||
}, [displayRows]);
|
||||
|
||||
function toggleSort(c) {
|
||||
if (!c.sortValue && !c.filterText) return;
|
||||
setSort((s) => {
|
||||
|
||||
Reference in New Issue
Block a user