• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

teableio / teable / 8538004962

03 Apr 2024 11:36AM UTC coverage: 18.233% (-3.3%) from 21.535%
8538004962

Pull #528

github

web-flow
Merge c1a248a6f into 45ee7ebb3
Pull Request #528: feat: Kanban view

575 of 1136 branches covered (50.62%)

29 of 2908 new or added lines in 83 files covered. (1.0%)

5 existing lines in 5 files now uncovered.

6439 of 35315 relevant lines covered (18.23%)

3.94 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/packages/sdk/src/components/cell-value/CellValue.tsx
NEW
1
import type {
×
NEW
2
  IUserCellValue,
×
NEW
3
  IAttachmentCellValue,
×
NEW
4
  ISingleSelectCellValue,
×
NEW
5
  IMultipleSelectCellValue,
×
NEW
6
  INumberFormatting,
×
NEW
7
  IRatingFieldOptions,
×
NEW
8
  IDatetimeFormatting,
×
NEW
9
  ILinkCellValue,
×
NEW
10
} from '@teable/core';
×
NEW
11
import { CellValueType, FieldType } from '@teable/core';
×
NEW
12
import type { IFieldInstance } from '../../model';
×
NEW
13
import { CellAttachment } from './cell-attachment';
×
NEW
14
import { CellCheckbox } from './cell-checkbox';
×
NEW
15
import { CellDate } from './cell-date';
×
NEW
16
import { CellLink } from './cell-link';
×
NEW
17
import { CellNumber } from './cell-number';
×
NEW
18
import { CellRating } from './cell-rating';
×
NEW
19
import { CellSelect, transformSelectOptions } from './cell-select';
×
NEW
20
import { CellText } from './cell-text';
×
NEW
21
import { CellUser } from './cell-user';
×
NEW
22
import type { ICellValue } from './type';
×
NEW
23

×
NEW
24
interface ICellValueContainer extends ICellValue<unknown> {
×
NEW
25
  field: IFieldInstance;
×
NEW
26
}
×
NEW
27

×
NEW
28
export const CellValue = (props: ICellValueContainer) => {
×
NEW
29
  const { field, value, className } = props;
×
NEW
30
  const { type, options, cellValueType } = field;
×
NEW
31

×
NEW
32
  switch (type) {
×
NEW
33
    case FieldType.LongText:
×
NEW
34
    case FieldType.SingleLineText: {
×
NEW
35
      return (
×
NEW
36
        <CellText
×
NEW
37
          value={value as string}
×
NEW
38
          isMultipleRows={type === FieldType.LongText}
×
NEW
39
          className={className}
×
NEW
40
        />
×
NEW
41
      );
×
NEW
42
    }
×
NEW
43
    case FieldType.Number: {
×
NEW
44
      return (
×
NEW
45
        <CellNumber
×
NEW
46
          value={value as number}
×
NEW
47
          formatting={options.formatting as INumberFormatting}
×
NEW
48
          className={className}
×
NEW
49
        />
×
NEW
50
      );
×
NEW
51
    }
×
NEW
52
    case FieldType.AutoNumber: {
×
NEW
53
      return <CellNumber value={value as number} className={className} />;
×
NEW
54
    }
×
NEW
55
    case FieldType.Date:
×
NEW
56
    case FieldType.CreatedTime:
×
NEW
57
    case FieldType.LastModifiedTime: {
×
NEW
58
      return (
×
NEW
59
        <CellDate value={value as string} formatting={options.formatting} className={className} />
×
NEW
60
      );
×
NEW
61
    }
×
NEW
62
    case FieldType.SingleSelect:
×
NEW
63
    case FieldType.MultipleSelect: {
×
NEW
64
      return (
×
NEW
65
        <CellSelect
×
NEW
66
          value={value as ISingleSelectCellValue | IMultipleSelectCellValue}
×
NEW
67
          options={transformSelectOptions(options)}
×
NEW
68
          className={className}
×
NEW
69
        />
×
NEW
70
      );
×
NEW
71
    }
×
NEW
72
    case FieldType.User: {
×
NEW
73
      return <CellUser value={value as IUserCellValue | IUserCellValue[]} className={className} />;
×
NEW
74
    }
×
NEW
75
    case FieldType.Attachment: {
×
NEW
76
      return <CellAttachment value={value as IAttachmentCellValue} className={className} />;
×
NEW
77
    }
×
NEW
78
    case FieldType.Rating: {
×
NEW
79
      return (
×
NEW
80
        <CellRating
×
NEW
81
          value={value as number}
×
NEW
82
          options={options as IRatingFieldOptions}
×
NEW
83
          className={className}
×
NEW
84
        />
×
NEW
85
      );
×
NEW
86
    }
×
NEW
87
    case FieldType.Checkbox: {
×
NEW
88
      return <CellCheckbox value={value as boolean | boolean[]} className={className} />;
×
NEW
89
    }
×
NEW
90
    case FieldType.Formula: {
×
NEW
91
      if (cellValueType === CellValueType.Boolean) {
×
NEW
92
        return <CellCheckbox value={value as boolean | boolean[]} className={className} />;
×
NEW
93
      }
×
NEW
94

×
NEW
95
      if (cellValueType === CellValueType.DateTime) {
×
NEW
96
        return (
×
NEW
97
          <CellDate
×
NEW
98
            value={value as string}
×
NEW
99
            formatting={options.formatting as IDatetimeFormatting}
×
NEW
100
            className={className}
×
NEW
101
          />
×
NEW
102
        );
×
NEW
103
      }
×
NEW
104

×
NEW
105
      if (cellValueType === CellValueType.Number) {
×
NEW
106
        return (
×
NEW
107
          <CellNumber
×
NEW
108
            value={value as number}
×
NEW
109
            formatting={options.formatting as INumberFormatting}
×
NEW
110
            className={className}
×
NEW
111
          />
×
NEW
112
        );
×
NEW
113
      }
×
NEW
114

×
NEW
115
      return <CellText value={value as string} className={className} />;
×
NEW
116
    }
×
NEW
117
    case FieldType.Link: {
×
NEW
118
      return <CellLink value={value as ILinkCellValue | ILinkCellValue[]} className={className} />;
×
NEW
119
    }
×
NEW
120
    default:
×
NEW
121
      throw new Error(`The field type (${type}) is not implemented editor`);
×
NEW
122
  }
×
NEW
123
};
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc