[WEB-1603] fix: load more issues when issues are deleted (#4830)

* fix load more issues when issues are deleted

* fix build
This commit is contained in:
rahulramesha 2024-06-15 11:07:04 +05:30 committed by GitHub
parent a8f4d21e8b
commit bba10d7073
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 55 additions and 18 deletions

View file

@ -131,7 +131,7 @@ export class ArchivedIssues extends BaseIssuesStore implements IArchivedIssues {
// get params from stored pagination options
const params = this.issueFilterStore?.getFilterParams(
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);

View file

@ -205,7 +205,7 @@ export class CycleIssues extends BaseIssuesStore implements ICycleIssues {
// get params from stored pagination options
const params = this.issueFilterStore?.getFilterParams(
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);

View file

@ -129,7 +129,7 @@ export class DraftIssues extends BaseIssuesStore implements IDraftIssues {
// get params from stored pagination options
const params = this.issueFilterStore?.getFilterParams(
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);

View file

@ -305,8 +305,9 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
const subGroupBy = displayFilters?.sub_group_by;
const groupBy = displayFilters?.group_by;
if (!groupBy && !subGroupBy && Array.isArray(groupedIssueIds)) {
return groupedIssueIds as string[];
const allIssues = groupedIssueIds[ALL_ISSUES];
if (!groupBy && !subGroupBy && allIssues && Array.isArray(allIssues)) {
return allIssues as string[];
}
if (groupBy && groupId && groupedIssueIds?.[groupId] && Array.isArray(groupedIssueIds[groupId])) {
@ -314,7 +315,7 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
}
if (groupBy && subGroupBy && groupId && subGroupId) {
return (groupedIssueIds as TSubGroupedIssues)?.[subGroupId]?.[groupId] as string[];
return (groupedIssueIds as TSubGroupedIssues)?.[groupId]?.[subGroupId] as string[];
}
return undefined;
@ -421,6 +422,24 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
}
);
/**
* Gets the next page cursor based on number of issues currently available
* @param groupId groupId for the cursor
* @param subGroupId subgroupId for cursor
* @returns next page cursor or undefined
*/
getNextCursor = (groupId: string | undefined, subGroupId: string | undefined): string | undefined => {
const groupedIssues = this.getIssueIds(groupId, subGroupId) ?? [];
const currentIssueCount = groupedIssues.length;
if (!this.paginationOptions) return;
const { perPageCount } = this.paginationOptions;
const nextPage = Math.floor(currentIssueCount / perPageCount);
return `${perPageCount}:${nextPage}:0`;
};
/**
* This Method is called after fetching the first paginated issues
*

View file

@ -160,7 +160,7 @@ export class ModuleIssues extends BaseIssuesStore implements IModuleIssues {
// get params from stored pagination options
const params = this.issueFilterStore?.getFilterParams(
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);

View file

@ -167,7 +167,7 @@ export class ProfileIssues extends BaseIssuesStore implements IProfileIssues {
// get params from stored pagination options
let params = this.issueFilterStore?.getFilterParams(
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);

View file

@ -127,7 +127,7 @@ export class ProjectViewIssues extends BaseIssuesStore implements IProjectViewIs
// get params from stored pagination options
const params = this.issueFilterStore?.getFilterParams(
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);

View file

@ -130,7 +130,7 @@ export class ProjectIssues extends BaseIssuesStore implements IProjectIssues {
// get params from stored pagination options
const params = this.issueFilterStore?.getFilterParams(
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);

View file

@ -130,7 +130,7 @@ export class WorkspaceIssues extends BaseIssuesStore implements IWorkspaceIssues
const params = this.issueFilterStore?.getFilterParams(
viewId,
this.paginationOptions,
cursorObject?.nextCursor,
this.getNextCursor(groupId, subGroupId),
groupId,
subGroupId
);