diff --git a/src/component/ProductComponent.js b/src/component/ProductComponent.js index 40a6a34..0f12656 100644 --- a/src/component/ProductComponent.js +++ b/src/component/ProductComponent.js @@ -15,9 +15,8 @@ export const ProductComponent = observer((props) => { const {Option} = Select; const history = useHistory(); const [idData, setIdData] = useState(""); - const [filterSupplier, setFilterSupplier] = useState(null); - const [filterCategories, setFilterCategories] = useState(null); - const [filterSubCategories, setFilterSubCategories] = useState(null); + const [filterSupplier, setFilterSupplier] = useState([]); + const [filterSubCategories, setFilterSubCategories] = useState([]); const modalLoader = useContext(ModalLoaderContext); const handleEditButton = (data) => { @@ -163,17 +162,17 @@ export const ProductComponent = observer((props) => { const handleRemoveFilter = async () => { store.product.filterSupplier = null; store.product.filterSubCategory = null; - setFilterSupplier(null); - setFilterCategories(null); - setFilterSubCategories(null); + setFilterSupplier([]); + store.product.filterCategory = null; + setFilterSubCategories([]); await store.product.getData(); store.product.visibleModalFilterProduct = false; }; const handleCancelFilter = () => { - setFilterSupplier(null); - setFilterCategories(null); - setFilterSubCategories(null); + setFilterSupplier([]); + store.product.filterCategory = null; + setFilterSubCategories([]); store.product.visibleModalFilterProduct = false; }; @@ -186,14 +185,24 @@ export const ProductComponent = observer((props) => { store.product.visibleModalFilterProduct = false; }; + const handleFilterCategory = async (value) => { + if (value) { + store.product.filterCategory = value; + await store.product.getDataSubCategories(); + } else { + store.product.filterCategory = null; + await store.product.getDataSubCategories(); + } + }; + const footerLayoutFilter = [ , @@ -403,17 +412,18 @@ export const ProductComponent = observer((props) => { Filter Supplier @@ -422,19 +432,16 @@ export const ProductComponent = observer((props) => { Filter Categories @@ -443,17 +450,18 @@ export const ProductComponent = observer((props) => { Filter Sub-Categories diff --git a/src/pages/Product/Product.js b/src/pages/Product/Product.js index 21539e1..95f4c34 100644 --- a/src/pages/Product/Product.js +++ b/src/pages/Product/Product.js @@ -21,7 +21,7 @@ export const Product = observer(() => { await Promise.allSettled([ store.supplier.getData(), store.category.getData(), - store.category.getDataSubCategories(), + store.product.getDataSubCategories(), ]); await store.product.getData(); modalLoader.setLoading(false); diff --git a/src/store/product.js b/src/store/product.js index e03b223..7c893de 100644 --- a/src/store/product.js +++ b/src/store/product.js @@ -21,7 +21,7 @@ export class Product { pageSizeSubCategories = 10 dataSubCategories = []; total_dataSubCategories = 0; - filterByCategory = null; + filterCategory = null; constructor(ctx) { this.ctx = ctx; @@ -44,7 +44,7 @@ export class Product { async getDataSubCategories() { try { - const response = await http.get(`/product/sub-categories?category=${this.filterByCategory}&page=${this.pageSubCategories}&pageSize=${this.pageSizeSubCategories}`); + const response = await http.get(`/product/sub-categories?category=${this.filterCategory}&page=${this.pageSubCategories}&pageSize=${this.pageSizeSubCategories}`); this.dataSubCategories = response.body.data.map((item, idx) => { item.key = idx; return item