[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:
parent
a8f4d21e8b
commit
bba10d7073
13 changed files with 55 additions and 18 deletions
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue