Bin
2025-12-16 9e0b2ba2c317b1a86212f24cbae3195ad1f3dbfa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { getRoot } from "mobx-state-tree";
import { Fragment } from "react";
 
const ProjectLink = ({ project }) => {
  const projectID = project.id;
  const onClick = (e) => {
    e.stopPropagation();
  };
 
  return (
    <a href={`/projects/${projectID}/data`} onClick={onClick}>
      {project.title}
    </a>
  );
};
 
export const ProjectCell = (cell) => {
  const { original, value } = cell;
  const root = getRoot(original);
  const projectList = value
    .map((projectRef) => root.taskStore.associatedList.find((proj) => proj.id === projectRef.project_id))
    .filter(Boolean);
 
  return (
    <div
      style={{
        maxHeight: "100%",
        overflow: "hidden",
        fontSize: 12,
        lineHeight: "16px",
      }}
    >
      {projectList &&
        projectList.map((projectRef, index) => (
          <Fragment key={projectRef.project_id}>
            {index > 0 && ", "}
            <ProjectLink project={projectRef} />
          </Fragment>
        ))}
    </div>
  );
};