mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
74ca187659
* chore: workspace project roles for the current user * dev: workspace and project member * chore: store implementation for workspace user projects role * view changes for the project roles * connect workspace member's project roles to assigned --------- Co-authored-by: gurusainath <gurusainath007@gmail.com> Co-authored-by: rahulramesha <rahulramesham@gmail.com> Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
181 lines
5.9 KiB
TypeScript
181 lines
5.9 KiB
TypeScript
import { observer } from "mobx-react-lite";
|
|
import { useMobxStore } from "lib/mobx/store-provider";
|
|
// components
|
|
import { SpreadsheetColumn } from "components/issues";
|
|
// types
|
|
import { IIssue, IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueLabel, IState, IUserLite } from "types";
|
|
|
|
type Props = {
|
|
displayFilters: IIssueDisplayFilterOptions;
|
|
displayProperties: IIssueDisplayProperties;
|
|
canEditProperties: (projectId: string | undefined) => boolean;
|
|
expandedIssues: string[];
|
|
handleDisplayFilterUpdate: (data: Partial<IIssueDisplayFilterOptions>) => void;
|
|
handleUpdateIssue: (issue: IIssue, data: Partial<IIssue>) => void;
|
|
issues: IIssue[] | undefined;
|
|
members?: IUserLite[] | undefined;
|
|
labels?: IIssueLabel[] | undefined;
|
|
states?: IState[] | undefined;
|
|
};
|
|
|
|
export const SpreadsheetColumnsList: React.FC<Props> = observer((props) => {
|
|
const {
|
|
canEditProperties,
|
|
displayFilters,
|
|
displayProperties,
|
|
expandedIssues,
|
|
handleDisplayFilterUpdate,
|
|
handleUpdateIssue,
|
|
issues,
|
|
members,
|
|
labels,
|
|
states,
|
|
} = props;
|
|
|
|
const {
|
|
project: { currentProjectDetails },
|
|
} = useMobxStore();
|
|
|
|
const isEstimateEnabled: boolean = currentProjectDetails?.estimate !== null;
|
|
|
|
return (
|
|
<>
|
|
{displayProperties.state && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
states={states}
|
|
property="state"
|
|
/>
|
|
)}
|
|
{displayProperties.priority && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="priority"
|
|
/>
|
|
)}
|
|
{displayProperties.assignee && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
members={members}
|
|
property="assignee"
|
|
/>
|
|
)}
|
|
{displayProperties.labels && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
labels={labels}
|
|
property="labels"
|
|
/>
|
|
)}{" "}
|
|
{displayProperties.start_date && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="start_date"
|
|
/>
|
|
)}
|
|
{displayProperties.due_date && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="due_date"
|
|
/>
|
|
)}
|
|
{displayProperties.estimate && isEstimateEnabled && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="estimate"
|
|
/>
|
|
)}
|
|
{displayProperties.created_on && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="created_on"
|
|
/>
|
|
)}
|
|
{displayProperties.updated_on && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="updated_on"
|
|
/>
|
|
)}
|
|
{displayProperties.link && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="link"
|
|
/>
|
|
)}
|
|
{displayProperties.attachment_count && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="attachment_count"
|
|
/>
|
|
)}
|
|
{displayProperties.sub_issue_count && (
|
|
<SpreadsheetColumn
|
|
displayFilters={displayFilters}
|
|
canEditProperties={canEditProperties}
|
|
expandedIssues={expandedIssues}
|
|
handleDisplayFilterUpdate={handleDisplayFilterUpdate}
|
|
handleUpdateIssue={handleUpdateIssue}
|
|
issues={issues}
|
|
property="sub_issue_count"
|
|
/>
|
|
)}
|
|
</>
|
|
);
|
|
});
|