2.0.3 • Published 2 years ago
@asurraa/sura-ui-select-search v2.0.3
@asurraa/sura-ui-select-search
Select search with api built on top on antd select.
Use case
- use with input form.
- use to query search from api.
- use to query select dropdown from api.
Installation
yarn add @asurraa/sura-ui-select-search
Setup
import { Fragment } from "react";
import { AsurRaaSelectBaseApiProvider } from "@asurraa/sura-ui-select-search";
export interface ISuraPagination {
currentPage: number;
itemCount: number;
itemsPerPage: number;
totalItems: number;
totalPages: number;
}
const AppProviderWrapper = () => {
return (
<Fragment>
<AsurRaaSelectBaseApiProvider<ISuraPagination>
fetcher={AxiosHttp}
uri={{ page: "page" }}
parseSearch={(searchValue, key) => `search[${key}]=${searchValue}`}
parseResponse={{
data: (res) => res.data,
meta: (res) => res.meta,
}}
metaTotalPage={(meta) => meta.totalPages}
>
<App />
</AsurRaaSelectBaseApiProvider>
</Fragment>
);
};
export default AppProviderWrapper;
Provider Properties
Props | Description | Type | Example |
---|---|---|---|
fetcher | axiosInstance, your custom axios | AxiosInstance | AxiosHttp |
uri | define page param name | {page: string} | {page: "page"} |
parseSearch | parse what search with your api param | (searchValue: string, key:string)=> string | (searchValue, key) => search[${key}]=${searchValue} or (searchValue, key) => search=${searchValue} |
parseResponse | parse what your data & meta response | `{data: (AxiosResponse)=> [], meta: (AxiosResponse \ string)=> string} | see top above :D | |
metaTotalPage | give cb into company how your Generic Meta and Work with totalPage | (meta: Generic)=> number | see top above :D |
Components Properties
Props | Description | Type | Example |
---|---|---|---|
uriData | uri route to fetch all data | string | https://api.example.com/product/all |
searchAs | define search how many search param you want | Array<keyof Generic> \ undefine | "name" |
valueRender | render value of field in dropdown | Array<keyof Generic> | "name", "phone" |
antdSelectProps | all props from antd select | learn more | antd, rc-select |
Example
import { Fragment } from "react";
import { AsurRaaRichTextEditor } from "@asurraa/sura-ui-rich-text-editor";
import { AsurRaaSelectSearchBaseApi } from "@asurraa/sura-ui-select-search";
import { API_URI } from "@src/constants/api-uri";
import { IReturnProductCategoryServices } from "@src/services/product-category.service";
const TestPage = () => {
return (
<Fragment>
<AsurRaaSelectSearchBaseApi<IReturnProductCategoryServices> //passing type to auto complete in searchAs & valueRender
uriData={API_URI.GET_ALL_PRODUCT_CATEGORY}
searchAs={["name", "description"]}
valueRender={["name"]}
antdSelectProps={{
style: { width: 300 },
}}
/>
</Fragment>
);
};
export default TestPage;
Dependency
2.0.3
2 years ago
2.0.1
2 years ago
1.0.19
2 years ago
1.0.18
2 years ago
1.0.17
2 years ago
1.0.16
2 years ago
1.0.22
2 years ago
1.0.21
2 years ago
1.0.20
2 years ago
1.0.26
2 years ago
1.0.25
2 years ago
1.0.24
2 years ago
2.0.0
2 years ago
1.0.23
2 years ago
1.0.29
2 years ago
1.0.28
2 years ago
1.0.27
2 years ago
1.0.31
2 years ago
1.0.30
2 years ago
1.0.15
2 years ago
1.0.11
3 years ago
1.0.13
3 years ago
1.0.12
3 years ago
1.0.10
3 years ago
1.0.8
3 years ago
1.0.7
3 years ago
1.0.6
3 years ago
1.0.5
3 years ago
1.0.4
3 years ago
1.0.3
3 years ago
1.0.2
3 years ago
1.0.1
3 years ago
1.0.0
3 years ago