diff --git a/src/components/pages/expense/ExpenseRequestContent.tsx b/src/components/pages/expense/ExpenseRequestContent.tsx index 8fbc81d7..ac0316d5 100644 --- a/src/components/pages/expense/ExpenseRequestContent.tsx +++ b/src/components/pages/expense/ExpenseRequestContent.tsx @@ -279,8 +279,6 @@ const ExpenseRequestContent = ({ )}
- {/* TODO: apply RBAC */} -
{isCurrentApprovalOnHeadArea && ( diff --git a/src/components/pages/production/project-flock/ProjectFlockTable.tsx b/src/components/pages/production/project-flock/ProjectFlockTable.tsx index bdc271a6..17d5227b 100644 --- a/src/components/pages/production/project-flock/ProjectFlockTable.tsx +++ b/src/components/pages/production/project-flock/ProjectFlockTable.tsx @@ -59,8 +59,7 @@ const RowOptionsMenu = ({ detailClickHandler: (id: number) => void; deleteClickHandler: () => void; }) => { - // TODO: change this to real condition - const showEditButton = true; + const showEditButton = props.row.original.approval?.step_number !== 2; const showDeleteButton = showEditButton; diff --git a/src/components/pages/report/expense/tab/ReportExpenseTab.tsx b/src/components/pages/report/expense/tab/ReportExpenseTab.tsx index 5e8931c4..f045621e 100644 --- a/src/components/pages/report/expense/tab/ReportExpenseTab.tsx +++ b/src/components/pages/report/expense/tab/ReportExpenseTab.tsx @@ -67,7 +67,6 @@ const ReportExpenseTab = ({ tabId }: ReportExpenseTabProps) => { const isAnyExportLoading = isPdfExportLoading || isExcelExportLoading; // ===== SUBMISSION STATE ===== - const [isSubmitted, setIsSubmitted] = useState(false); const [filterParams, setFilterParams] = useState({}); // ===== PAGINATION STATE ===== @@ -117,12 +116,10 @@ const ReportExpenseTab = ({ tabId }: ReportExpenseTabProps) => { : undefined, }); filterModal.closeModal(); - setIsSubmitted(true); setPage(1); }, onReset: () => { setFilterParams({}); - setIsSubmitted(false); setPage(1); filterModal.closeModal(); }, @@ -194,27 +191,25 @@ const ReportExpenseTab = ({ tabId }: ReportExpenseTabProps) => { // ===== DATA FETCHING ===== const { data: reportExpenseResponse, isLoading } = useSWR( - isSubmitted - ? () => { - const params = new URLSearchParams(); - if (filterParams.location_id) - params.append('location_id', filterParams.location_id); - if (filterParams.supplier_id) - params.append('supplier_id', filterParams.supplier_id); - if (filterParams.kandang_id) - params.append('kandang_id', filterParams.kandang_id); - if (filterParams.nonstock_id) - params.append('nonstock_id', filterParams.nonstock_id); - if (filterParams.realization_date) - params.append('realization_date', filterParams.realization_date); - if (filterParams.category) - params.append('category', filterParams.category); - params.append('page', String(page)); - params.append('limit', String(pageSize)); + () => { + const params = new URLSearchParams(); + if (filterParams.location_id) + params.append('location_id', filterParams.location_id); + if (filterParams.supplier_id) + params.append('supplier_id', filterParams.supplier_id); + if (filterParams.kandang_id) + params.append('kandang_id', filterParams.kandang_id); + if (filterParams.nonstock_id) + params.append('nonstock_id', filterParams.nonstock_id); + if (filterParams.realization_date) + params.append('realization_date', filterParams.realization_date); + if (filterParams.category) + params.append('category', filterParams.category); + params.append('page', String(page)); + params.append('limit', String(pageSize)); - return [`${ReportExpenseApi.basePath}?${params.toString()}`]; - } - : null, + return [`${ReportExpenseApi.basePath}?${params.toString()}`]; + }, ([url]: string[]) => httpClient>(url) ); @@ -529,25 +524,13 @@ const ReportExpenseTab = ({ tabId }: ReportExpenseTabProps) => { <> {TabActionsElement}
- {!isSubmitted ? ( - - } - title='No Filters Selected' - subtitle='Please choose filters to narrow down your results and make your search easier.' - /> - ) : isLoading ? ( + {isLoading && (
- ) : !data || data.length === 0 ? ( + )} + + {!isLoading && (!data || data.length === 0) && ( { title='Data Not Yet Available' subtitle='Please change your filters to get the data.' /> - ) : ( + )} + + {!isLoading && data.length > 0 && ( <> { const [pageSize] = useState(10); // ===== SUBMISSION STATE ===== - const [isSubmitted, setIsSubmitted] = useState(false); const [filterParams, setFilterParams] = useState({}); const [dateErrorShown, setDateErrorShown] = useState(false); const [hasDateError, setHasDateError] = useState(false); @@ -102,13 +101,11 @@ const CustomerPaymentTab = ({ tabId }: CustomerPaymentTabProps) => { filter_by: values.filter_by || undefined, }); filterModal.closeModal(); - setIsSubmitted(true); setCurrentPage(1); setSubmitting(false); }, onReset: () => { setFilterParams({}); - setIsSubmitted(false); setCurrentPage(1); setHasDateError(false); if (dateErrorShown) { @@ -218,23 +215,21 @@ const CustomerPaymentTab = ({ tabId }: CustomerPaymentTabProps) => { // ===== DATA FETCHING ===== const { data: customerPayment, isLoading } = useSWR( - isSubmitted - ? () => { - const params = { - customer_ids: filterParams.customer_ids, - filter_by: filterParams.filter_by as - | 'trans_date' - | 'realization_date' - | undefined, - start_date: filterParams.start_date, - end_date: filterParams.end_date, - page: currentPage, - limit: pageSize, - }; + () => { + const params = { + customer_ids: filterParams.customer_ids, + filter_by: filterParams.filter_by as + | 'trans_date' + | 'realization_date' + | undefined, + start_date: filterParams.start_date, + end_date: filterParams.end_date, + page: currentPage, + limit: pageSize, + }; - return ['customer-payment-report', params]; - } - : null, + return ['customer-payment-report', params]; + }, ([, params]) => FinanceApi.getCustomerPaymentReport( params.customer_ids, @@ -700,25 +695,13 @@ const CustomerPaymentTab = ({ tabId }: CustomerPaymentTabProps) => { <> {TabActionsElement}
- {!isSubmitted ? ( - - } - title='No Filters Selected' - subtitle='Please choose filters to narrow down your results and make your search easier.' - /> - ) : isLoading ? ( + {isLoading && (
- ) : data.length === 0 ? ( + )} + + {!isLoading && data.length === 0 && ( { title='Data Not Yet Available' subtitle='Please change your filters to get the data.' /> - ) : ( + )} + + {!isLoading && + data.length > 0 && data.map((customerReport) => { const summary = customerReport.summary || { total_qty: 0, @@ -761,7 +747,6 @@ const CustomerPaymentTab = ({ tabId }: CustomerPaymentTabProps) => { }} variant='bordered' collapsible={true} - defaultCollapsed={true} >
{ /> ); - }) - )} + })} {/* Filter Modal */} diff --git a/src/components/pages/report/finance/tab/DebtSupplierTab.tsx b/src/components/pages/report/finance/tab/DebtSupplierTab.tsx index 57d37a23..a425a66b 100644 --- a/src/components/pages/report/finance/tab/DebtSupplierTab.tsx +++ b/src/components/pages/report/finance/tab/DebtSupplierTab.tsx @@ -85,7 +85,6 @@ const DebtSupplierTab = ({ tabId }: DebtSupplierTabProps) => { supplier_ids: undefined, filter_by: undefined, }); - const [isSubmitted, setIsSubmitted] = useState(false); // ===== DATE ERROR STATE ===== const [dateErrorShown, setDateErrorShown] = useState(false); @@ -129,7 +128,7 @@ const DebtSupplierTab = ({ tabId }: DebtSupplierTabProps) => { filter_by: values.filterBy?.value?.toString() || undefined, }); filterModal.closeModal(); - setIsSubmitted(true); + // setIsSubmitted(true); }, onReset: () => { setFilterParams({ @@ -138,7 +137,7 @@ const DebtSupplierTab = ({ tabId }: DebtSupplierTabProps) => { supplier_ids: undefined, filter_by: undefined, }); - setIsSubmitted(false); + // setIsSubmitted(false); filterModal.closeModal(); }, }); @@ -150,18 +149,16 @@ const DebtSupplierTab = ({ tabId }: DebtSupplierTabProps) => { // ===== DATA FETCHING ===== const { data: debtSupplier, isLoading } = useSWR( - isSubmitted - ? () => { - const params = { - supplier_ids: filterParams.supplier_ids, - filter_by: filterParams.filter_by, - start_date: filterParams.start_date, - end_date: filterParams.end_date, - }; + () => { + const params = { + supplier_ids: filterParams.supplier_ids, + filter_by: filterParams.filter_by, + start_date: filterParams.start_date, + end_date: filterParams.end_date, + }; - return ['debt-supplier-report', params]; - } - : null, + return ['debt-supplier-report', params]; + }, ([, params]) => DebtSupplierApi.getDebtSupplierReport( params.supplier_ids, @@ -611,25 +608,13 @@ const DebtSupplierTab = ({ tabId }: DebtSupplierTabProps) => { <> {TabActionsElement}
- {!isSubmitted ? ( - - } - title='No Filters Selected' - subtitle='Please choose filters to narrow down your results and make your search easier.' - /> - ) : isLoading ? ( + {isLoading && (
- ) : data.length === 0 ? ( + )} + + {!isLoading && data.length === 0 && ( { title='Data Not Yet Available' subtitle='Please change your filters to get the data.' /> - ) : ( + )} + + {!isLoading && + data.length > 0 && data.map((supplierReport) => { return ( { }} variant='bordered' collapsible={true} - defaultCollapsed={true} >
{ /> ); - }) - )} + })} {/* Filter Modal */} diff --git a/src/components/pages/report/logistic-stock/tab/PurchasesPerSupplierTab.tsx b/src/components/pages/report/logistic-stock/tab/PurchasesPerSupplierTab.tsx index b3f5c2ec..a0a4cabc 100644 --- a/src/components/pages/report/logistic-stock/tab/PurchasesPerSupplierTab.tsx +++ b/src/components/pages/report/logistic-stock/tab/PurchasesPerSupplierTab.tsx @@ -61,7 +61,6 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => { // ===== SUBMISSION STATE ===== const [filterParams, setFilterParams] = useState({}); - const [isSubmitted, setIsSubmitted] = useState(false); const [dateErrorShown, setDateErrorShown] = useState(false); const [hasDateError, setHasDateError] = useState(false); @@ -141,13 +140,11 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => { sort_by: values.sort_by || undefined, }); filterModal.closeModal(); - setIsSubmitted(true); setCurrentPage(1); setSubmitting(false); }, onReset: () => { setFilterParams({}); - setIsSubmitted(false); setCurrentPage(1); setHasDateError(false); if (dateErrorShown) { @@ -271,24 +268,22 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => { // ===== DATA FETCHING ===== const { data: purchasePerSupplier, isLoading } = useSWR( - isSubmitted - ? () => { - const params = { - area_id: filterParams.area_id, - supplier_id: filterParams.supplier_id, - product_id: filterParams.product_id, - product_category_id: filterParams.product_category_id, - start_date: filterParams.start_date, - end_date: filterParams.end_date, - sort_by: filterParams.sort_by, - filter_by: filterParams.filter_by, - page: currentPage, - limit: pageSize, - }; + () => { + const params = { + area_id: filterParams.area_id, + supplier_id: filterParams.supplier_id, + product_id: filterParams.product_id, + product_category_id: filterParams.product_category_id, + start_date: filterParams.start_date, + end_date: filterParams.end_date, + sort_by: filterParams.sort_by, + filter_by: filterParams.filter_by, + page: currentPage, + limit: pageSize, + }; - return ['logistic-purchase-report', params]; - } - : null, + return ['logistic-purchase-report', params]; + }, ([, params]) => LogisticApi.getLogisticPurchasePerSupplierReport( params.area_id, @@ -736,21 +731,7 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => { <> {TabActionsElement}
- {!isSubmitted ? ( - - } - title='No Filters Selected' - subtitle='Please choose filters to narrow down your results and make your search easier.' - /> - ) : isLoading ? ( + {isLoading && ( { title='Memuat Data Pembelian Per Supplier' subtitle='Silakan tunggu sebentar...' /> - ) : data.length === 0 ? ( + )} + + {!isLoading && data.length === 0 && ( { title='Data Not Yet Available' subtitle='Please change your filters to get the data.' /> - ) : ( + )} + + {!isLoading && + data.length > 0 && data.map((supplierReport) => { const summary = supplierReport.summary || { total_qty: 0, @@ -808,7 +794,6 @@ const PurchasesPerSupplierTab = ({ tabId }: PurchasesPerSupplierTabProps) => { }} variant='bordered' collapsible={true} - defaultCollapsed={true} >
{ /> ); - }) - )} + })} {/* Filter Modal */} diff --git a/src/components/pages/report/marketing/tab/DailyMarketingTab.tsx b/src/components/pages/report/marketing/tab/DailyMarketingTab.tsx index 0bf66748..7a984472 100644 --- a/src/components/pages/report/marketing/tab/DailyMarketingTab.tsx +++ b/src/components/pages/report/marketing/tab/DailyMarketingTab.tsx @@ -70,9 +70,6 @@ const DailyMarketingTab = ({ tabId }: DailyMarketingTabProps) => { const [isExcelExportLoading, setIsExcelExportLoading] = useState(false); const isAnyExportLoading = isPdfExportLoading || isExcelExportLoading; - // ===== SUBMISSION STATE ===== - const [isSubmitted, setIsSubmitted] = useState(false); - // ===== SEARCH STATE ===== const [searchValue, setSearchValue] = useState(''); @@ -144,12 +141,10 @@ const DailyMarketingTab = ({ tabId }: DailyMarketingTabProps) => { sort_by: values.sort_by || undefined, }); filterModal.closeModal(); - setIsSubmitted(true); setSubmitting(false); }, onReset: () => { setFilterParams({}); - setIsSubmitted(false); filterModal.closeModal(); }, }); @@ -223,31 +218,28 @@ const DailyMarketingTab = ({ tabId }: DailyMarketingTabProps) => { // ===== DATA FETCHING ===== const { data: dailyMarketings, isLoading } = useSWR( - isSubmitted - ? () => { - const params = new URLSearchParams(); + () => { + const params = new URLSearchParams(); - if (searchValue) params.set('search', searchValue); - if (filterParams.area_id) params.set('area_id', filterParams.area_id); - if (filterParams.location_id) - params.set('location_id', filterParams.location_id); - if (filterParams.warehouse_id) - params.set('warehouse_id', filterParams.warehouse_id); - if (filterParams.customer_id) - params.set('customer_id', filterParams.customer_id); - if (filterParams.start_date) - params.set('start_date', filterParams.start_date); - if (filterParams.end_date) - params.set('end_date', filterParams.end_date); - if (filterParams.filter_by) - params.set('filter_by', filterParams.filter_by); - if (filterParams.marketing_type) - params.set('marketing_type', filterParams.marketing_type); - if (filterParams.sort_by) params.set('sort_by', filterParams.sort_by); + if (searchValue) params.set('search', searchValue); + if (filterParams.area_id) params.set('area_id', filterParams.area_id); + if (filterParams.location_id) + params.set('location_id', filterParams.location_id); + if (filterParams.warehouse_id) + params.set('warehouse_id', filterParams.warehouse_id); + if (filterParams.customer_id) + params.set('customer_id', filterParams.customer_id); + if (filterParams.start_date) + params.set('start_date', filterParams.start_date); + if (filterParams.end_date) params.set('end_date', filterParams.end_date); + if (filterParams.filter_by) + params.set('filter_by', filterParams.filter_by); + if (filterParams.marketing_type) + params.set('marketing_type', filterParams.marketing_type); + if (filterParams.sort_by) params.set('sort_by', filterParams.sort_by); - return ['daily-marketing-report', params.toString()]; - } - : null, + return ['daily-marketing-report', params.toString()]; + }, ([, params]) => MarketingReportApi.getAllDailyMarketingFetcher( `${MarketingReportApi.basePath}?${params}` @@ -660,21 +652,7 @@ const DailyMarketingTab = ({ tabId }: DailyMarketingTabProps) => { <> {TabActionsElement}
- {!isSubmitted ? ( - - } - title='No Filters Selected' - subtitle='Please choose filters to narrow down your results and make your search easier.' - /> - ) : isLoading ? ( + {isLoading && ( { title='Memuat Data Penjualan Harian' subtitle='Silakan tunggu sebentar...' /> - ) : data.length === 0 ? ( + )} + + {!isLoading && data.length === 0 && ( { title='Data Not Yet Available' subtitle='Please change your filters to get the data.' /> - ) : ( + )} + + {!isLoading && data.length > 0 && (
{ [data, perWeightRangeSummary] ); + useEffectHook(() => { + filterModal.openModal(); + }, []); + return ( <> {TabActionsElement} diff --git a/src/components/pages/report/production-result/tab/ProductionResultProjectFlockKandangTab.tsx b/src/components/pages/report/production-result/tab/ProductionResultProjectFlockKandangTab.tsx index 8b5b5e9c..eb2c629c 100644 --- a/src/components/pages/report/production-result/tab/ProductionResultProjectFlockKandangTab.tsx +++ b/src/components/pages/report/production-result/tab/ProductionResultProjectFlockKandangTab.tsx @@ -631,6 +631,10 @@ const ProductionResultContent = ({ tabId }: ProductionResultTabProps) => { // Render the TabActions component const TabActionsElement = useMemo(() => , [TabActions]); + useEffect(() => { + filterModal.openModal(); + }, []); + return ( <> {TabActionsElement}