페이징 처리 조건 수정

This commit is contained in:
focp212@naver.com
2025-10-26 11:08:53 +09:00
parent 00aec7656e
commit 35edb19062
17 changed files with 174 additions and 66 deletions

View File

@@ -100,12 +100,13 @@ export const FundAccountResultListWrap = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -113,6 +114,10 @@ export const FundAccountResultListWrap = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -100,12 +100,13 @@ export const FundAccountTransferListWrap = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -113,6 +114,10 @@ export const FundAccountTransferListWrap = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
callBalance();
};

View File

@@ -101,12 +101,13 @@ export const LinkPaymentHistoryWrap = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -114,6 +115,10 @@ export const LinkPaymentHistoryWrap = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -95,12 +95,13 @@ export const LinkPaymentWaitSendWrap = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -108,6 +109,10 @@ export const LinkPaymentWaitSendWrap = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -8,6 +8,7 @@ import { useTranslation } from 'react-i18next';
import { useNavigate } from '@/shared/lib/hooks';
import useIntersectionObserver from '@/widgets/intersection-observer';
import { useStore } from '@/shared/model/store';
import { DefaultRequestPagination } from '@/entities/common/model/types';
export interface AlarmListProps {
category: string;
@@ -21,8 +22,7 @@ export const AlarmList = ({
const userInfo = useStore.getState().UserStore.userInfo;
const [onActionIntersect, setOnActionIntersect] = useState<boolean>(false);
const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM);
const [nextCursor, setNextCursor] = useState<string | null>(null);
const [pageParam, setPageParam] = useState<DefaultRequestPagination>(DEFAULT_PAGE_PARAM);
const [appCl, setAppCl] = useState<MERCHANT_ADMIN_APP>(MERCHANT_ADMIN_APP.MERCHANT_ADMIN_APP)
const [appNotificationCategory, setAppNotificationCategory] = useState<string>('');
const [resultList, setResultList] = useState<Array<AlarmListContent>>([]);
@@ -50,7 +50,7 @@ export const AlarmList = ({
entries.forEach((entry: IntersectionObserverEntry) => {
if(entry.isIntersecting){
console.log('Element is now intersecting with the root. [' + onActionIntersect + ']');
if(onActionIntersect && !!nextCursor){
if(onActionIntersect && !!pageParam.cursor){
callList('page');
}
}
@@ -71,21 +71,11 @@ export const AlarmList = ({
usrid: userInfo.usrid,
appCl: appCl,
appNotificationCategory: appNotificationCategory,
...{
page: pageParam
}
page: pageParam
}
if(type === 'page'){
if(params.page){
params.page.cursor = nextCursor;
}
}
else{
setNextCursor(null);
if(params.page){
params.page.cursor = null;
}
if(type !== 'page' && params.page){
params.page.cursor = null;
}
appAlarmList(params).then((rs: AppAlarmListResponse) => {
@@ -99,13 +89,24 @@ export const AlarmList = ({
else{
setResultList(rs.content);
}
if(rs.hasNext){
setNextCursor(rs.nextCursor);
setOnActionIntersect(true);
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
}
else{
setNextCursor(null);
setPageParam({
...pageParam,
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
}
});
}

View File

@@ -147,12 +147,13 @@ export const ListWrap = ({
else{
setSettlementDateListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -160,6 +161,10 @@ export const ListWrap = ({
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
settlementsHistorySummary(listSummaryParams).then((rs: SettlementsHistorySummaryResponse) => {
setSettlementAmount(rs.settlementAmount || 0);
@@ -206,12 +211,13 @@ export const ListWrap = ({
else{
setTransactionDateListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -219,7 +225,10 @@ export const ListWrap = ({
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
settlementsTransactionSummary(listSummaryParams).then((rs) => {
setSettlementAmount(rs.settlementAmount);

View File

@@ -78,12 +78,13 @@ export const ListWrap = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -91,6 +92,10 @@ export const ListWrap = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -107,12 +107,13 @@ export const ArsListPage = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -120,6 +121,10 @@ export const ArsListPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};
@@ -229,7 +234,7 @@ export const ArsListPage = () => {
return (
<>
<main>
<div className="tab-content">
<div className="tab-content pb-86">
<div className="tab-pane sub active">
<section className="summary-section">
<div className="credit-controls">
@@ -286,16 +291,16 @@ export const ArsListPage = () => {
<section className="transaction-list">
{ getListDateGroup() }
<div ref={ setTarget }></div>
</section>
<div className="apply-row">
<button
className="btn-50 btn-blue flex-1"
onClick={() => onClickToNavigate()}
> </button>
</div>
<div ref={ setTarget }></div>
</div>
</div>
<div className="apply-row">
<button
className="btn-50 btn-blue flex-1"
onClick={() => onClickToNavigate()}
> </button>
</div>
</main>
<ArsFilter
filterOn={filterOn}

View File

@@ -103,12 +103,13 @@ export const KeyInPaymentPage = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -116,6 +117,10 @@ export const KeyInPaymentPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
}

View File

@@ -115,12 +115,13 @@ export const PayoutListPage = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -128,6 +129,10 @@ export const PayoutListPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -75,12 +75,13 @@ export const FaqListPage = () => {
else{
setResultList(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -88,6 +89,10 @@ export const FaqListPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -75,12 +75,13 @@ export const NoticeListPage = () => {
else{
setResultList(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -88,6 +89,10 @@ export const NoticeListPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -77,12 +77,13 @@ export const QnaListPage = () => {
else{
setResultList(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -90,6 +91,10 @@ export const QnaListPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};

View File

@@ -48,7 +48,7 @@ export const AllTransactionListPage = () => {
const [dateCl, setDateCl] = useState<string>('');
const [goodsName, setGoodsName] = useState<string>('');
// const [fromDate, setFromDate] = useState(moment().subtract(1, 'month').format('YYYYMMDD'));
const [fromDate, setFromDate] = useState(moment().format('YYYYMMDD'));
const [fromDate, setFromDate] = useState(moment().subtract(2, 'year').format('YYYYMMDD'));
const [toDate, setToDate] = useState(moment().format('YYYYMMDD'));
const [statusCode, setStatusCode] = useState<string>('');
const [serviceCode, setServiceCode] = useState<string>('01');
@@ -135,12 +135,13 @@ export const AllTransactionListPage = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -148,6 +149,10 @@ export const AllTransactionListPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
allTransactionListSummary(listSummaryParams).then((rs: AllTransactionListSummaryResponse) => {
setTotalAmount(rs.totalAmount);

View File

@@ -34,8 +34,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
export const BillingListPage = () => {
const { navigate } = useNavigate();
const userMid = useStore.getState().UserStore.mid;
const userInfo = useStore((state) => state.UserStore.userInfo);
const [onActionIntersect, setOnActionIntersect] = useState<boolean>(false);
const [sortType, setSortType] = useState<SortTypeKeys>(SortTypeKeys.LATEST);
const [listItems, setListItems] = useState<Array<ListItemProps>>([]);
@@ -115,19 +114,24 @@ export const BillingListPage = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
...pageParam,
...{ cursor: null }
});
}
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
}

View File

@@ -123,12 +123,13 @@ export const CashReceiptListPage = () => {
else{
setListItems(rs.content);
}
if(rs.hasNext){
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
setOnActionIntersect(true);
}
else{
setPageParam({
@@ -136,6 +137,10 @@ export const CashReceiptListPage = () => {
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
cashReceiptSummary(listSummaryParams).then((rs: CashReceiptSummaryResponse) => {
setApprovalCount(rs.approvalCount);

View File

@@ -98,9 +98,38 @@ export const EscrowListPage = () => {
...{ sortType: sortType }
}
};
if(type !== 'page' && listParams.page){
listParams.page.cursor = null;
}
escrowList(listParams).then((rs: EscrowListResponse) => {
setListItems(rs.content);
if(type === 'page'){
setListItems([
...listItems,
...rs.content
]);
}
else{
setListItems(rs.content);
}
if(rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
){
setPageParam({
...pageParam,
...{ cursor: rs.nextCursor }
});
}
else{
setPageParam({
...pageParam,
...{ cursor: null }
});
}
setOnActionIntersect(
!!rs.hasNext
&& rs.content.length === DEFAULT_PAGE_PARAM.size
);
});
};