import React from "react"; import { observer } from "mobx-react-lite"; // components import { ListGroupByHeaderRoot } from "./headers/group-by-root"; import { IssueBlock } from "./block"; // constants import { getValueFromObject } from "constants/issue"; import { IIssue } from "types"; import { IssueBlocksList } from "./blocks-list"; export interface IGroupByList { issues: any; group_by: string | null; list: any; listKey: string; handleIssues: (group_by: string | null, issue: IIssue, action: "update" | "delete") => void; quickActions: (group_by: string | null, issue: IIssue) => React.ReactNode; display_properties: any; is_list?: boolean; states: any; labels: any; members: any; projects: any; stateGroups: any; priorities: any; estimates: any; } const GroupByList: React.FC = observer((props) => { const { issues, group_by, list, listKey, handleIssues, quickActions, display_properties, is_list = false, states, labels, members, projects, stateGroups, priorities, estimates, } = props; return (
{list && list.length > 0 && list.map((_list: any) => (
{issues && ( )}
))}
); }); // TODO: update all the types export interface IList { issues: any; group_by: string | null; handleDragDrop?: (result: any) => void | undefined; handleIssues: (group_by: string | null, issue: IIssue, action: "update" | "delete") => void; quickActions: (group_by: string | null, issue: IIssue) => React.ReactNode; display_properties: any; states: any; labels: any; members: any; projects: any; stateGroups: any; priorities: any; estimates: any; } export const List: React.FC = observer((props) => { const { issues, group_by, handleIssues, quickActions, display_properties, states, labels, members, projects, stateGroups, priorities, estimates, } = props; return (
{group_by === null && ( )} {group_by && group_by === "project" && projects && ( )} {group_by && group_by === "state" && states && ( )} {group_by && group_by === "state_detail.group" && stateGroups && ( )} {group_by && group_by === "priority" && priorities && ( )} {group_by && group_by === "labels" && labels && ( )} {group_by && group_by === "assignees" && members && ( )} {group_by && group_by === "created_by" && members && ( )}
); });