Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/types/src/dashboard.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ export type TWidgetIssue = TIssue & {
project_id: string;
relation_type: TIssueRelationTypes;
sequence_id: number;
type_id: string | null;
}[];
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,14 @@ export const AssignedUpcomingIssueListItem: React.FC<IssueListItemProps> = obser
? blockedByIssues.length > 1
? `${blockedByIssues.length} blockers`
: blockedByIssueProjectDetails && (
<IssueIdentifier
issueId={blockedByIssues[0]?.id}
projectId={blockedByIssueProjectDetails?.id}
textContainerClassName="text-xs text-custom-text-200 font-medium"
/>
)
<IssueIdentifier
projectIdentifier={blockedByIssueProjectDetails?.identifier}
projectId={blockedByIssueProjectDetails?.id}
issueSequenceId={blockedByIssues[0]?.sequence_id}
issueTypeId={blockedByIssues[0]?.type_id}
textContainerClassName="text-xs text-custom-text-200 font-medium"
/>
)
: "-"}
</div>
</ControlLink>
Expand Down
12 changes: 2 additions & 10 deletions web/core/components/issues/peek-overview/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,10 @@ interface IIssuePeekOverview {
embedRemoveCurrentNotification?: () => void;
is_archived?: boolean;
is_draft?: boolean;
shouldReplaceIssueOnFetch?: boolean;
}

export const IssuePeekOverview: FC<IIssuePeekOverview> = observer((props) => {
const {
embedIssue = false,
embedRemoveCurrentNotification,
is_archived = false,
is_draft = false,
shouldReplaceIssueOnFetch = true,
} = props;
const { embedIssue = false, embedRemoveCurrentNotification, is_archived = false, is_draft = false } = props;
// router
const pathname = usePathname();
const {
Expand Down Expand Up @@ -67,8 +60,7 @@ export const IssuePeekOverview: FC<IIssuePeekOverview> = observer((props) => {
workspaceSlug,
projectId,
issueId,
is_archived ? "ARCHIVED" : is_draft ? "DRAFT" : "DEFAULT",
shouldReplaceIssueOnFetch
is_archived ? "ARCHIVED" : is_draft ? "DRAFT" : "DEFAULT"
);
setLoader(false);
setError(false);
Expand Down
13 changes: 3 additions & 10 deletions web/core/store/issue/issue-details/issue.store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ export interface IIssueStoreActions {
workspaceSlug: string,
projectId: string,
issueId: string,
issueType?: "DEFAULT" | "DRAFT" | "ARCHIVED",
shouldReplace?: boolean
issueType?: "DEFAULT" | "DRAFT" | "ARCHIVED"
) => Promise<TIssue>;
updateIssue: (workspaceSlug: string, projectId: string, issueId: string, data: Partial<TIssue>) => Promise<void>;
removeIssue: (workspaceSlug: string, projectId: string, issueId: string) => Promise<void>;
Expand Down Expand Up @@ -62,13 +61,7 @@ export class IssueStore implements IIssueStore {
});

// actions
fetchIssue = async (
workspaceSlug: string,
projectId: string,
issueId: string,
issueType = "DEFAULT",
shouldReplace = true
) => {
fetchIssue = async (workspaceSlug: string, projectId: string, issueId: string, issueType = "DEFAULT") => {
const query = {
expand: "issue_reactions,issue_attachment,issue_link,parent",
};
Expand Down Expand Up @@ -114,7 +107,7 @@ export class IssueStore implements IIssueStore {
is_subscribed: issue?.is_subscribed,
};

this.rootIssueDetailStore.rootIssueStore.issues.addIssue([issuePayload], shouldReplace);
this.rootIssueDetailStore.rootIssueStore.issues.addIssue([issuePayload]);

// store handlers from issue detail
// parent
Expand Down
8 changes: 5 additions & 3 deletions web/core/store/issue/issue.store.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import update from "lodash/update";
import isEmpty from "lodash/isEmpty";
import set from "lodash/set";
import { action, makeObservable, observable, runInAction } from "mobx";
Expand All @@ -14,7 +15,7 @@ export type IIssueStore = {
issuesMap: Record<string, TIssue>; // Record defines issue_id as key and TIssue as value
// actions
getIssues(workspaceSlug: string, projectId: string, issueIds: string[]): Promise<TIssue[]>;
addIssue(issues: TIssue[], shouldReplace?: boolean): void;
addIssue(issues: TIssue[]): void;
updateIssue(issueId: string, issue: Partial<TIssue>): void;
removeIssue(issueId: string): void;
// helper methods
Expand Down Expand Up @@ -47,11 +48,12 @@ export class IssueStore implements IIssueStore {
* @param {TIssue[]} issues
* @returns {void}
*/
addIssue = (issues: TIssue[], shouldReplace = false) => {
addIssue = (issues: TIssue[]) => {
if (issues && issues.length <= 0) return;
runInAction(() => {
issues.forEach((issue) => {
if (!this.issuesMap[issue.id] || shouldReplace) set(this.issuesMap, issue.id, issue);
if (!this.issuesMap[issue.id]) set(this.issuesMap, issue.id, issue);
else update(this.issuesMap, issue.id, (prevIssue) => ({ ...prevIssue, ...issue }));
});
});
};
Expand Down