fix(sync): add Sachbearbeiter to dienstgrad constraint; add catalog browser dialog for external order position

This commit is contained in:
Matthias Hochmeister
2026-04-15 18:05:39 +02:00
parent 9586822a32
commit 67fd0878ce
5 changed files with 486 additions and 32 deletions

View File

@@ -91,7 +91,7 @@ function Mitglieder() {
const [selectedStatus, setSelectedStatus] = useState<StatusEnum[]>([]);
const [selectedDienstgrad, setSelectedDienstgrad] = useState<DienstgradEnum[]>([]);
const [page, setPage] = useState(0); // MUI uses 0-based
const pageSize = 25;
const [pageSize, setPageSize] = useState(25);
// Track previous debounced search to reset page
const prevSearch = useRef(debouncedSearch);
@@ -108,7 +108,7 @@ function Mitglieder() {
status: selectedStatus.length > 0 ? selectedStatus : undefined,
dienstgrad: selectedDienstgrad.length > 0 ? selectedDienstgrad : undefined,
page: page + 1, // convert to 1-based for API
pageSize,
pageSize: pageSize === -1 ? 0 : pageSize, // -1 = MUI "Alle" sentinel → 0 = backend "no limit"
});
setMembers(items);
setTotal(t);
@@ -336,7 +336,12 @@ function Mitglieder() {
page={page}
onPageChange={(_e, newPage) => setPage(newPage)}
rowsPerPage={pageSize}
rowsPerPageOptions={[pageSize]}
rowsPerPageOptions={[25, 50, 100, { value: -1, label: 'Alle' }]}
onRowsPerPageChange={(e) => {
setPageSize(parseInt(e.target.value, 10));
setPage(0);
}}
labelRowsPerPage="Einträge pro Seite:"
labelDisplayedRows={({ from, to, count }) =>
`${from}${to} von ${count !== -1 ? count : `mehr als ${to}`}`
}