plane/web/components/issues/issue-layouts/spreadsheet/columns/label-column.tsx
rahulramesha df97b35a99 chore: Refactor Spreadsheet view for better code maintainability and performance (#3322)
* refcator spreadsheet to use table and roow based approach rather than column based

* update spreadsheet and optimized layout

* fix issues in spread sheet

* close quick action menu on click

---------

Co-authored-by: Rahul R <rahulr@Rahuls-MacBook-Pro.local>
2024-01-22 13:19:43 +05:30

40 lines
1.1 KiB
TypeScript

import React from "react";
import { observer } from "mobx-react-lite";
// components
import { IssuePropertyLabels } from "../../properties";
// hooks
import { useLabel } from "hooks/store";
// types
import { TIssue } from "@plane/types";
type Props = {
issue: TIssue;
onChange: (issue: TIssue, data: Partial<TIssue>) => void;
disabled: boolean;
};
export const SpreadsheetLabelColumn: React.FC<Props> = observer((props: Props) => {
const { issue, onChange, disabled } = props;
// hooks
const { labelMap } = useLabel();
const defaultLabelOptions = issue?.label_ids?.map((id) => labelMap[id]) || [];
return (
<IssuePropertyLabels
projectId={issue.project_id ?? null}
value={issue.label_ids}
defaultOptions={defaultLabelOptions}
onChange={(data) => {
onChange(issue, { label_ids: data });
}}
className="h-11 w-full border-b-[0.5px] border-custom-border-200 hover:bg-custom-background-80"
buttonClassName="px-2.5 h-full"
hideDropdownArrow
maxRender={1}
disabled={disabled}
placeholderText="Select labels"
/>
);
});