2.0.3 • Published 2 years ago

@asurraa/sura-ui-select-search v2.0.3

Weekly downloads
-
License
-
Repository
github
Last release
2 years ago

Storybook

@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

npm package

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

PropsDescriptionTypeExample
fetcheraxiosInstance, your custom axiosAxiosInstanceAxiosHttp
uridefine page param name{page: string}{page: "page"}
parseSearchparse what search with your api param(searchValue: string, key:string)=> string(searchValue, key) => search[${key}]=${searchValue} or (searchValue, key) => search=${searchValue}
parseResponseparse what your data & meta response`{data: (AxiosResponse)=> [], meta: (AxiosResponse \ string)=> string} | see top above :D
metaTotalPagegive cb into company how your Generic Meta and Work with totalPage(meta: Generic)=> numbersee top above :D

Components Properties

PropsDescriptionTypeExample
uriDatauri route to fetch all datastringhttps://api.example.com/product/all
searchAsdefine search how many search param you wantArray<keyof Generic> \ undefine"name"
valueRenderrender value of field in dropdownArray<keyof Generic>"name", "phone"
antdSelectPropsall props from antd selectlearn moreantd, 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