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

@@ -7,17 +7,19 @@ import { GoAPIHeaders, type GoAPIOperation } from '../../utils/golang-restapi-v2
import { useGridlerStore } from '../GridlerStore';
export interface GlidlerAPIAdaptorForGoLangv2Props<T = unknown> extends APIOptions {
filter?: string;
initialData?: Array<T>;
options?: Array<GoAPIOperation>;
}
function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForGoLangv2Props<T>) {
const [setStateFN, setState, getState, addError, mounted] = useGridlerStore((s) => [
const [setStateFN, setState, getState, addError, mounted, loadPage] = useGridlerStore((s) => [
s.setStateFN,
s.setState,
s.getState,
s.addError,
s.mounted,
s.loadPage,
]);
const useAPIQuery: (index: number) => Promise<any> = useCallback(
@@ -54,7 +56,9 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
}
});
}
if (props.filter && props.filter !== '') {
head.set('x-custom-sql-w-buildin-filter', props.filter);
}
if (props.options && props.options.length > 0) {
const optionHeaders = GoAPIHeaders(props.options);
for (const oh in optionHeaders) {
@@ -116,7 +120,16 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
setState('loadingData', false);
return [];
},
[getState, props.authtoken, props.url, props.options, setState, setStateFN, addError]
[
getState,
props.authtoken,
props.url,
props.filter,
props.options,
setState,
setStateFN,
addError,
]
);
const askAPIRowNumber: (key: string) => Promise<number> = useCallback(
@@ -141,6 +154,10 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
});
}
if (props.filter && props.filter !== '') {
head.set('x-custom-sql-w-buildin-filter', props.filter);
}
if (props.options && props.options.length > 0) {
const optionHeaders = GoAPIHeaders(props.options);
for (const oh in optionHeaders) {
@@ -165,13 +182,19 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
}
return [];
},
[props.url, props.authtoken, props.options, getState, addError]
[props.url, props.authtoken, props.filter, props.options, getState, addError]
);
//Reset the loaded pages to new rules
useEffect(() => {
loadPage(0, 'all');
}, [JSON.stringify(props.options), props.filter, props.url, props.authtoken]);
//Reset the function in the store.
useEffect(() => {
setState('useAPIQuery', useAPIQuery);
setState('askAPIRowNumber', askAPIRowNumber);
}, [props.url, props.authtoken, props.options, mounted, setState]);
}, [props.url, props.authtoken, props.filter, props.options, mounted, setState]);
return <></>;
}