react-select-async-paginate
Advanced tools
@@ -0,1 +1,7 @@ | ||
## 0.4.1 (30 sep 2020) | ||
### New features | ||
- Add `defaultAdditional` prop | ||
## 0.4.0-alpha.2 | ||
@@ -2,0 +8,0 @@ |
@@ -27,3 +27,4 @@ import _regeneratorRuntime from "@babel/runtime/regenerator"; | ||
defaultOptions = _ref.defaultOptions, | ||
additional = _ref.additional; | ||
additional = _ref.additional, | ||
defaultAdditional = _ref.defaultAdditional; | ||
var initialOptions = defaultOptions === true ? null : defaultOptions instanceof Array ? defaultOptions : options; | ||
@@ -38,3 +39,3 @@ | ||
hasMore: true, | ||
additional: additional | ||
additional: defaultAdditional || additional | ||
} | ||
@@ -173,5 +174,3 @@ }; | ||
var deps = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : []; | ||
var options = params.options, | ||
defaultOptions = params.defaultOptions, | ||
additional = params.additional, | ||
var defaultOptions = params.defaultOptions, | ||
_params$loadOptionsOn = params.loadOptionsOnMenuOpen, | ||
@@ -197,7 +196,3 @@ loadOptionsOnMenuOpen = _params$loadOptionsOn === void 0 ? true : _params$loadOptionsOn, | ||
if (optionsCacheRef.current === null) { | ||
optionsCacheRef.current = getInitialOptionsCacheParam({ | ||
options: options, | ||
defaultOptions: defaultOptions, | ||
additional: additional | ||
}); | ||
optionsCacheRef.current = getInitialOptionsCacheParam(params); | ||
} | ||
@@ -204,0 +199,0 @@ |
@@ -51,3 +51,4 @@ "use strict"; | ||
defaultOptions = _ref.defaultOptions, | ||
additional = _ref.additional; | ||
additional = _ref.additional, | ||
defaultAdditional = _ref.defaultAdditional; | ||
var initialOptions = defaultOptions === true ? null : defaultOptions instanceof Array ? defaultOptions : options; | ||
@@ -62,3 +63,3 @@ | ||
hasMore: true, | ||
additional: additional | ||
additional: defaultAdditional || additional | ||
} | ||
@@ -208,5 +209,3 @@ }; | ||
var deps = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : []; | ||
var options = params.options, | ||
defaultOptions = params.defaultOptions, | ||
additional = params.additional, | ||
var defaultOptions = params.defaultOptions, | ||
_params$loadOptionsOn = params.loadOptionsOnMenuOpen, | ||
@@ -232,7 +231,3 @@ loadOptionsOnMenuOpen = _params$loadOptionsOn === void 0 ? true : _params$loadOptionsOn, | ||
if (optionsCacheRef.current === null) { | ||
optionsCacheRef.current = getInitialOptionsCacheParam({ | ||
options: options, | ||
defaultOptions: defaultOptions, | ||
additional: additional | ||
}); | ||
optionsCacheRef.current = getInitialOptionsCacheParam(params); | ||
} | ||
@@ -239,0 +234,0 @@ |
{ | ||
"name": "react-select-async-paginate", | ||
"version": "0.4.0", | ||
"version": "0.4.1", | ||
"description": "Wrapper above react-select that supports pagination on menu scroll", | ||
@@ -41,3 +41,3 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"@babel/runtime": "^7.10.5", | ||
"@babel/runtime": "^7.11.2", | ||
"@seznam/compose-react-refs": "^1.0.4", | ||
@@ -48,4 +48,4 @@ "react-is-mounted-hook": "^1.0.3", | ||
"devDependencies": { | ||
"@storybook/react": "^5.3.19", | ||
"@types/react-select": "^3.0.14", | ||
"@storybook/react": "^6.0.22", | ||
"@types/react-select": "^3.0.20", | ||
"enzyme": "^3.11.0", | ||
@@ -52,0 +52,0 @@ "react-select": "^3.0.8" |
@@ -84,2 +84,6 @@ [](https://www.npmjs.com/package/react-select-async-paginate) | ||
### defaultAdditional | ||
Not required. Default `additional` for empty search if `options` or `defaultOptions` defined. | ||
### shouldLoadMore | ||
@@ -282,17 +286,15 @@ | ||
const CustomAsyncPaginateComponent = ({ | ||
{ | ||
options, | ||
defaultOptions, | ||
additional, | ||
loadOptionsOnMenuOpen, | ||
debounceTimeout, | ||
filterOption, | ||
reduceOptions, | ||
shouldLoadMore, | ||
options, | ||
defaultOptions, | ||
additional, | ||
loadOptionsOnMenuOpen, | ||
debounceTimeout, | ||
filterOption, | ||
reduceOptions, | ||
shouldLoadMore, | ||
components: defaultComponents, | ||
components: defaultComponents, | ||
value, | ||
onChange, | ||
} | ||
value, | ||
onChange, | ||
}) => { | ||
@@ -299,0 +301,0 @@ const asyncPaginateProps = useAsyncPaginate({ |
@@ -10,2 +10,2 @@ /// <reference types="react" /> | ||
export declare const AsyncPaginate: import("react").FC<import("./withAsyncPaginate").Props<any, any>>; | ||
export type { OptionsList, ReduceOptions, GetInitialOptionsCacheParams, OptionsCacheItem, OptionsCache, ShouldLoadMore, Response, LoadOptions, FilterOption, UseAsyncPaginateBaseResult, UseAsyncPaginateResult, UseAsyncPaginateParams, UseAsyncPaginateBaseParams, ComponentProps, } from './types'; | ||
export type { OptionsList, ReduceOptions, OptionsCacheItem, OptionsCache, ShouldLoadMore, Response, LoadOptions, FilterOption, UseAsyncPaginateBaseResult, UseAsyncPaginateResult, UseAsyncPaginateParams, UseAsyncPaginateBaseParams, ComponentProps, } from './types'; |
@@ -5,7 +5,2 @@ import type { Ref } from 'react'; | ||
export declare type ReduceOptions<OptionType = any, Additional = any> = (prevOptions: OptionsList<OptionType>, loadedOptions: OptionsList<OptionType>, additional: Additional) => OptionsList<OptionType>; | ||
export declare type GetInitialOptionsCacheParams<OptionType = any, Additional = any> = { | ||
options?: OptionsList<OptionType>; | ||
defaultOptions?: boolean | OptionsList<OptionType>; | ||
additional?: Additional; | ||
}; | ||
export declare type OptionsCacheItem<OptionType, Additional> = { | ||
@@ -37,3 +32,3 @@ isFirstLoad: boolean; | ||
}; | ||
export declare type UseAsyncPaginateResult<OptionsType = any> = UseAsyncPaginateBaseResult<OptionsType> & { | ||
export declare type UseAsyncPaginateResult<OptionsParamType = any> = UseAsyncPaginateBaseResult<OptionsParamType> & { | ||
inputValue: string; | ||
@@ -50,2 +45,3 @@ menuIsOpen: boolean; | ||
additional?: Additional; | ||
defaultAdditional?: Additional; | ||
loadOptionsOnMenuOpen?: boolean; | ||
@@ -52,0 +48,0 @@ debounceTimeout?: number; |
import { useState, useEffect, useRef, useCallback } from 'react'; | ||
import sleep from 'sleep-promise'; | ||
import useIsMounted from 'react-is-mounted-hook'; | ||
import type { GetInitialOptionsCacheParams, OptionsCache, OptionsCacheItem, UseAsyncPaginateBaseResult, UseAsyncPaginateBaseParams, ReduceOptions } from './types'; | ||
import type { OptionsCache, OptionsCacheItem, UseAsyncPaginateBaseResult, UseAsyncPaginateBaseParams, ReduceOptions } from './types'; | ||
export declare const validateResponse: (console: Console, response: any) => void; | ||
export declare const getInitialOptionsCache: <OptionType, Additional>({ options, defaultOptions, additional, }: GetInitialOptionsCacheParams<OptionType, Additional>) => OptionsCache<OptionType, Additional>; | ||
export declare const getInitialOptionsCache: <OptionType, Additional>({ options, defaultOptions, additional, defaultAdditional, }: UseAsyncPaginateBaseParams<OptionType, Additional>) => OptionsCache<OptionType, Additional>; | ||
export declare const getInitialCache: <OptionType, Additional>(params: UseAsyncPaginateBaseParams<OptionType, Additional>) => OptionsCacheItem<OptionType, Additional>; | ||
@@ -8,0 +8,0 @@ declare type MapOptionsCache<OptionType> = (prevCache: OptionsCache<OptionType>) => OptionsCache<OptionType>; |
324
0.62%64076
-0.36%1079
-1.37%