import React, { useContext, useState,useEffect } from "react"; import { Button, Form, Input, message, Modal, Select, Space, Table, List, Tag, Divider, } from "antd"; import { observer } from "mobx-react-lite"; import { useHistory } from "react-router-dom"; import { useStore } from "../utils/useStore"; import { ModalLoaderContext } from "../utils/modal"; export const SubcategoryComponent = observer((props) => { const store = useStore(); const [form] = Form.useForm(); const { Option } = Select; const [idData, setIdData] = useState(""); const modalLoader = useContext(ModalLoaderContext); useEffect(() => { getData() }, []) const getData = async () => { await store.category.getData(); await store.subcategory.getData(); }; const handleEditButton = (data) => { console.log(data, "isi data"); form.setFieldsValue({ code: data.code, name: data.name, categoryId: data.categoryId, }); store.subcategory.visibleModalSubcategory = true; setIdData(data.id); }; const columns = [ { title: "Code", dataIndex: "code", key: "code", }, { title: "Sub Category Name", dataIndex: "name", key: "name", }, { title: "Category", dataIndex: "categoryName", key: "categoryName", }, { title: "Action", key: "action", render: (text, record) => ( ), }, ]; const handleCancel = () => { setIdData(""); store.subcategory.visibleModalSubcategory = false; }; const handleSubmit = async (data) => { console.log(data, "isi data2"); if (idData !== "") { modalLoader.setLoading(true); try { await store.subcategory.update(idData, data); //await getData(); message.success("Success Update Data Category"); } catch (e) { message.error("Failed Update Data Category"); } modalLoader.setLoading(false); store.subcategory.visibleModalSubcategory = false; setIdData(""); form.resetFields(); } else { modalLoader.setLoading(true); try { await store.subcategory.create(data); message.success("Success Add New Category"); } catch (e) { console.log(e, "apa errornya"); message.error("Failed Add Category"); } modalLoader.setLoading(false); store.subcategory.visibleModalSubcategory = false; setIdData(""); form.resetFields(); } }; return (
{store.ui.mediaQuery.isDesktop && ( { let pageNumber = page.current; store.subcategory.pageSize = page.pageSize; store.subcategory.page = pageNumber - 1; modalLoader.setLoading(true); // await getData(); modalLoader.setLoading(false); }} /> )} {store.ui.mediaQuery.isMobile && ( { store.subcategory.pageSize = page.pageSize; store.subcategory.page = page.current; modalLoader.setLoading(true); await store.subcategory.getData(); modalLoader.setLoading(false); }, pageSize: store.subcategory.pageSize, total: store.subcategory.total_data, current: store.subcategory.page, style: { marginBottom: "1rem", marginRight: "1rem" }, }} dataSource={store.subcategory.data} style={{ padding: 0 }} renderItem={(item) => { return (

Sub Category : {item.name}
Category : {item.categoryName}

} />

); }} /> )} { form.resetFields(); handleCancel(); }} onOk={() => { form .validateFields() .then((values) => { console.log(values, "isi form"); handleSubmit(values); form.resetFields(); }) .catch((info) => { console.error("Validate Failed:", info); }); }} >
{!idData && ( )} {!idData && ( )}
); });