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 03c35958..c04d09c4 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}