mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
fix: implement lazy loading in select input in filter modal
This commit is contained in:
@@ -70,24 +70,34 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => {
|
||||
const filterModal = useModal();
|
||||
|
||||
// ===== OPTIONS =====
|
||||
const { options: areaOptions, isLoadingOptions: isLoadingAreas } = useSelect(
|
||||
AreaApi.basePath,
|
||||
'id',
|
||||
'name',
|
||||
'search'
|
||||
);
|
||||
const {
|
||||
options: areaOptions,
|
||||
isLoadingOptions: isLoadingAreas,
|
||||
setInputValue: setAreaInputValue,
|
||||
loadMore: loadMoreArea,
|
||||
} = useSelect(AreaApi.basePath, 'id', 'name', 'search');
|
||||
|
||||
const { options: supplierOptions, isLoadingOptions: isLoadingSuppliers } =
|
||||
useSelect(SupplierApi.basePath, 'id', 'name', 'search', {
|
||||
category: 'SAPRONAK',
|
||||
});
|
||||
const {
|
||||
options: supplierOptions,
|
||||
isLoadingOptions: isLoadingSuppliers,
|
||||
setInputValue: setSupplierInputValue,
|
||||
loadMore: loadMoreSupplier,
|
||||
} = useSelect(SupplierApi.basePath, 'id', 'name', 'search', {
|
||||
category: 'SAPRONAK',
|
||||
});
|
||||
|
||||
const { options: productOptions, isLoadingOptions: isLoadingProducts } =
|
||||
useSelect(ProductApi.basePath, 'id', 'name', 'search');
|
||||
const {
|
||||
options: productOptions,
|
||||
isLoadingOptions: isLoadingProducts,
|
||||
setInputValue: setProductInputValue,
|
||||
loadMore: loadMoreProduct,
|
||||
} = useSelect(ProductApi.basePath, 'id', 'name', 'search');
|
||||
|
||||
const {
|
||||
options: productCategoryOptions,
|
||||
isLoadingOptions: isLoadingProductCategories,
|
||||
setInputValue: setProductCategoryInputValue,
|
||||
loadMore: loadMoreProductCategory,
|
||||
} = useSelect(ProductCategoryApi.basePath, 'id', 'name', 'search');
|
||||
|
||||
const dataTypeOptions = useMemo(
|
||||
@@ -907,6 +917,8 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => {
|
||||
isLoading={isLoadingAreas}
|
||||
isClearable
|
||||
className={{ wrapper: 'w-full' }}
|
||||
onInputChange={setAreaInputValue}
|
||||
onMenuScrollToBottom={loadMoreArea}
|
||||
/>
|
||||
|
||||
{/* Supplier Filter */}
|
||||
@@ -926,6 +938,8 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => {
|
||||
isLoading={isLoadingSuppliers}
|
||||
isClearable
|
||||
className={{ wrapper: 'w-full' }}
|
||||
onInputChange={setSupplierInputValue}
|
||||
onMenuScrollToBottom={loadMoreSupplier}
|
||||
/>
|
||||
|
||||
{/* Product Filter */}
|
||||
@@ -945,6 +959,8 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => {
|
||||
isLoading={isLoadingProducts}
|
||||
isClearable
|
||||
className={{ wrapper: 'w-full' }}
|
||||
onInputChange={setProductInputValue}
|
||||
onMenuScrollToBottom={loadMoreProduct}
|
||||
/>
|
||||
|
||||
{/* Product Category Filter */}
|
||||
@@ -964,6 +980,8 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => {
|
||||
isLoading={isLoadingProductCategories}
|
||||
isClearable
|
||||
className={{ wrapper: 'w-full' }}
|
||||
onInputChange={setProductCategoryInputValue}
|
||||
onMenuScrollToBottom={loadMoreProductCategory}
|
||||
/>
|
||||
|
||||
{/* Filter By Type */}
|
||||
|
||||
Reference in New Issue
Block a user