docs(changeset): Added selectFirstRowOnMount and fixed selection of first row
This commit is contained in:
@@ -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 <></>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user