synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
73 lines • 2.09 kB
TypeScript
import { UniqueFacetIdentifier } from '@/utils/types';
import { QueryBundleRequest, QueryFilter } from '@sage-bionetworks/synapse-types';
import * as React from 'react';
export type QueryChangeCommitOptions = {
debounce: true;
} | {
noCommit: true;
};
export type TableQueryReducerState = {
currentQueryRequest: QueryBundleRequest;
nextQueryRequest: QueryBundleRequest;
isConfirmingChange: boolean;
};
export type TableQueryReducerAction = {
commitOptions?: QueryChangeCommitOptions;
} & ({
type: 'setQuery';
queryOrUpdater: React.SetStateAction<QueryBundleRequest>;
} | {
type: 'addValueToSelectedFacet';
facet: UniqueFacetIdentifier;
value: string;
} | {
type: 'removeSelectedFacet';
facetsToRemove: UniqueFacetIdentifier | UniqueFacetIdentifier[];
} | {
type: 'setRangeFacetValue';
facet: UniqueFacetIdentifier;
min?: string;
max?: string;
} | {
type: 'removeValueFromSelectedFacet';
facet: UniqueFacetIdentifier;
value: string;
} | {
type: 'setPageSize';
pageSize: number;
} | {
type: 'goToPage';
pageNumber: number;
} | {
type: 'resetQuery';
} | {
type: 'removeQueryFilter';
queryFilter: QueryFilter;
} | {
type: 'removeValueFromQueryFilter';
queryFilter: QueryFilter;
value: string;
} | {
type: 'resetUncommittedChanges';
} | {
type: 'commitChanges';
} | {
type: 'confirmChanges';
} | {
type: 'cancelChanges';
} | {
type: 'resetDebounce';
});
/**
* Utility hook that internally uses a reducer to manage the state of a table query.
* @param initQueryRequest
* @param requireConfirmationOnChange
* @param onQueryChange
*/
export declare function useTableQueryReducer(initQueryRequest: QueryBundleRequest, requireConfirmationOnChange: boolean, onQueryChange?: (queryJsonString: string) => void): {
currentQueryRequest: QueryBundleRequest;
nextQueryRequest: QueryBundleRequest;
isConfirmingChange: boolean;
dispatch: React.ActionDispatch<[action: TableQueryReducerAction]>;
};
//# sourceMappingURL=useTableQueryReducer.d.ts.map