refactor: update create/update issue modal to use currently active store's create/update method. (#3395)

* refactor: update `create/update issue` modal to use currently active store's create/update method.

* chore: add condition to avoid multiple API calls if the current store is MODULE or CYCLE.

* remove: console log

* chore: update `currentStore` to `storeType`.
This commit is contained in:
Prateek Shourya 2024-01-18 14:42:10 +05:30 committed by sriram veeraghanta
parent 3f07c48b35
commit f347c1cd69
29 changed files with 251 additions and 102 deletions

View file

@ -43,7 +43,7 @@ export interface IBaseKanBanLayout {
};
showLoader?: boolean;
viewId?: string;
currentStore?: TCreateModalStoreTypes;
storeType?: TCreateModalStoreTypes;
addIssuesToView?: (issueIds: string[]) => Promise<TIssue>;
canEditPropertiesBasedOnProject?: (projectId: string) => boolean;
}
@ -62,7 +62,7 @@ export const BaseKanBanRoot: React.FC<IBaseKanBanLayout> = observer((props: IBas
issueActions,
showLoader,
viewId,
currentStore,
storeType,
addIssuesToView,
canEditPropertiesBasedOnProject,
} = props;
@ -277,7 +277,7 @@ export const BaseKanBanRoot: React.FC<IBaseKanBanLayout> = observer((props: IBas
viewId={viewId}
disableIssueCreation={!enableIssueCreation || !isEditingAllowed}
canEditProperties={canEditProperties}
currentStore={currentStore}
storeType={storeType}
addIssuesToView={addIssuesToView}
/>
</DragDropContext>

View file

@ -42,7 +42,7 @@ export interface IGroupByKanBan {
) => Promise<TIssue | undefined>;
viewId?: string;
disableIssueCreation?: boolean;
currentStore?: TCreateModalStoreTypes;
storeType?: TCreateModalStoreTypes;
addIssuesToView?: (issueIds: string[]) => Promise<TIssue>;
canEditProperties: (projectId: string | undefined) => boolean;
}
@ -64,7 +64,7 @@ const GroupByKanBan: React.FC<IGroupByKanBan> = observer((props) => {
quickAddCallback,
viewId,
disableIssueCreation,
currentStore,
storeType,
addIssuesToView,
canEditProperties,
} = props;
@ -107,7 +107,7 @@ const GroupByKanBan: React.FC<IGroupByKanBan> = observer((props) => {
count={(issueIds as TGroupedIssues)?.[_list.id]?.length || 0}
issuePayload={_list.payload}
disableIssueCreation={disableIssueCreation || isGroupByCreatedBy}
currentStore={currentStore}
storeType={storeType}
addIssuesToView={addIssuesToView}
kanbanFilters={kanbanFilters}
handleKanbanFilters={handleKanbanFilters}
@ -163,7 +163,7 @@ export interface IKanBan {
) => Promise<TIssue | undefined>;
viewId?: string;
disableIssueCreation?: boolean;
currentStore?: TCreateModalStoreTypes;
storeType?: TCreateModalStoreTypes;
addIssuesToView?: (issueIds: string[]) => Promise<TIssue>;
canEditProperties: (projectId: string | undefined) => boolean;
}
@ -184,7 +184,7 @@ export const KanBan: React.FC<IKanBan> = observer((props) => {
quickAddCallback,
viewId,
disableIssueCreation,
currentStore,
storeType,
addIssuesToView,
canEditProperties,
} = props;
@ -208,7 +208,7 @@ export const KanBan: React.FC<IKanBan> = observer((props) => {
quickAddCallback={quickAddCallback}
viewId={viewId}
disableIssueCreation={disableIssueCreation}
currentStore={currentStore}
storeType={storeType}
addIssuesToView={addIssuesToView}
canEditProperties={canEditProperties}
/>

View file

@ -25,7 +25,7 @@ interface IHeaderGroupByCard {
handleKanbanFilters: any;
issuePayload: Partial<TIssue>;
disableIssueCreation?: boolean;
currentStore?: TCreateModalStoreTypes;
storeType?: TCreateModalStoreTypes;
addIssuesToView?: (issueIds: string[]) => Promise<TIssue>;
}
@ -40,6 +40,7 @@ export const HeaderGroupByCard: FC<IHeaderGroupByCard> = observer((props) => {
handleKanbanFilters,
issuePayload,
disableIssueCreation,
storeType,
addIssuesToView,
} = props;
const verticalAlignPosition = sub_group_by ? false : kanbanFilters?.group_by.includes(column_id);
@ -83,7 +84,12 @@ export const HeaderGroupByCard: FC<IHeaderGroupByCard> = observer((props) => {
fieldsToShow={["all"]}
/>
) : (
<CreateUpdateIssueModal isOpen={isOpen} onClose={() => setIsOpen(false)} data={issuePayload} />
<CreateUpdateIssueModal
isOpen={isOpen}
onClose={() => setIsOpen(false)}
data={issuePayload}
storeType={storeType}
/>
)}
{renderExistingIssueModal && (
<ExistingIssuesListModal

View file

@ -50,7 +50,7 @@ export const CycleKanBanLayout: React.FC = observer(() => {
showLoader={true}
QuickActions={CycleIssueQuickActions}
viewId={cycleId?.toString() ?? ""}
currentStore={EIssuesStoreType.CYCLE}
storeType={EIssuesStoreType.CYCLE}
addIssuesToView={(issueIds: string[]) => {
if (!workspaceSlug || !projectId || !cycleId) throw new Error();
return issues.addIssueToCycle(workspaceSlug.toString(), projectId.toString(), cycleId.toString(), issueIds);

View file

@ -50,7 +50,7 @@ export const ModuleKanBanLayout: React.FC = observer(() => {
showLoader={true}
QuickActions={ModuleIssueQuickActions}
viewId={moduleId?.toString()}
currentStore={EIssuesStoreType.MODULE}
storeType={EIssuesStoreType.MODULE}
addIssuesToView={(issueIds: string[]) => {
if (!workspaceSlug || !projectId || !moduleId) throw new Error();
return issues.addIssueToModule(workspaceSlug.toString(), projectId.toString(), moduleId.toString(), issueIds);

View file

@ -52,7 +52,7 @@ export const ProfileIssuesKanBanLayout: React.FC = observer(() => {
issues={issues}
showLoader={true}
QuickActions={ProjectIssueQuickActions}
currentStore={EIssuesStoreType.PROFILE}
storeType={EIssuesStoreType.PROFILE}
canEditPropertiesBasedOnProject={canEditPropertiesBasedOnProject}
/>
);

View file

@ -43,7 +43,7 @@ export const KanBanLayout: React.FC = observer(() => {
issuesFilter={issuesFilter}
showLoader={true}
QuickActions={ProjectIssueQuickActions}
currentStore={EIssuesStoreType.PROJECT}
storeType={EIssuesStoreType.PROJECT}
/>
);
});

View file

@ -35,7 +35,7 @@ export const ProjectViewKanBanLayout: React.FC<IViewKanBanLayout> = observer((pr
issues={issues}
showLoader={true}
QuickActions={ProjectIssueQuickActions}
currentStore={EIssuesStoreType.PROJECT_VIEW}
storeType={EIssuesStoreType.PROJECT_VIEW}
viewId={viewId?.toString()}
/>
);

View file

@ -69,7 +69,7 @@ interface ISubGroupSwimlane extends ISubGroupSwimlaneHeader {
handleKanbanFilters: (toggle: "group_by" | "sub_group_by", value: string) => void;
isDragStarted?: boolean;
disableIssueCreation?: boolean;
currentStore?: TCreateModalStoreTypes;
storeType?: TCreateModalStoreTypes;
enableQuickIssueCreate: boolean;
canEditProperties: (projectId: string | undefined) => boolean;
addIssuesToView?: (issueIds: string[]) => Promise<TIssue>;
@ -172,7 +172,7 @@ export interface IKanBanSwimLanes {
showEmptyGroup: boolean;
isDragStarted?: boolean;
disableIssueCreation?: boolean;
currentStore?: TCreateModalStoreTypes;
storeType?: TCreateModalStoreTypes;
addIssuesToView?: (issueIds: string[]) => Promise<TIssue>;
enableQuickIssueCreate: boolean;
quickAddCallback?: (