docs(changeset): Added selectFirstRowOnMount and fixed selection of first row

This commit is contained in:
Hein
2025-10-23 16:31:45 +02:00
parent 1f5999b2d1
commit 5d8388c2db
5 changed files with 86 additions and 10 deletions

View File

@@ -245,6 +245,45 @@ export const Computer = React.memo(() => {
loadPage(0);
}, [ready, loadPage]);
useEffect(() => {
const _events = getState('_events');
const loadPage = () => {
const selectFirstRowOnMount = getState('selectFirstRowOnMount');
if (selectFirstRowOnMount) {
const selectedRow = getState('selectedRow');
if (selectedRow && selectedRow >= 0) {
return;
}
const keyField = getState('keyField') ?? 'id';
const page_data = getState('_page_data');
const firstBuffer = page_data?.[0]?.[0];
const firstRow = firstBuffer?.[keyField];
if (firstRow && firstRow > 0) {
const values = [
firstBuffer,
...((getState('values') ?? []) as Array<Record<string, unknown>>),
];
const onChange = getState('onChange');
console.log('Selecting first row:', firstRow, firstBuffer, values);
if (onChange) {
onChange(values);
} else {
setState('values', values);
}
setState('selectedRow', firstRow);
}
}
};
_events?.addEventListener('loadPage', loadPage);
return () => {
_events?.removeEventListener('loadPage', loadPage);
};
}, []);
// console.log('Gridler:Debug:Computer', {
// colFilters,
// colOrder,