03b3c8a67a
Refactored all FieldDisplay types for performance optimization ( #5768 )
...
This PR is the second part of
https://github.com/twentyhq/twenty/pull/5693 .
It optimizes all remaining field types.
The observed improvements are :
- x2 loading time improvement on table rows
- more consistent render time
Here's a summary of measured improvements, what's given here is the
average of hundreds of renders with a React Profiler component. (in our
Storybook performance stories)
| Component | Before (µs) | After (µs) |
| ----- | ------------- | --- |
| TextFieldDisplay | 127 | 83 |
| EmailFieldDisplay | 117 | 83 |
| NumberFieldDisplay | 97 | 56 |
| DateFieldDisplay | 240 | 52 |
| CurrencyFieldDisplay | 236 | 110 |
| FullNameFieldDisplay | 131 | 85 |
| AddressFieldDisplay | 118 | 81 |
| BooleanFieldDisplay | 130 | 100 |
| JSONFieldDisplay | 248 | 49 |
| LinksFieldDisplay | 1180 | 140 |
| LinkFieldDisplay | 140 | 78 |
| MultiSelectFieldDisplay | 770 | 130 |
| SelectFieldDisplay | 230 | 87 |
2024-06-12 18:36:25 +02:00
a0178478d4
Feat/performance-refactor-styled-component ( #5516 )
...
In this PR I'm optimizing a whole RecordTableCell in real conditions
with a complex RelationFieldDisplay component :
- Broke down getObjectRecordIdentifier into multiple utils
- Precompute memoized function for getting chip data per field with
useRecordChipDataGenerator()
- Refactored RelationFieldDisplay
- Use CSS modules where performance is needed instead of styled
components
- Create a CSS theme with global CSS variables to be used by CSS modules
2024-05-24 18:53:37 +02:00
602d5422a2
feat: display Links field as Expandable List ( #5374 )
...
Closes #5114
2024-05-15 15:52:23 +02:00
b6d0b8a895
refactor: move Checkmark, Avatar, Chip and Tooltip to twenty-ui ( #4946 )
...
Split from https://github.com/twentyhq/twenty/pull/4518
Part of #4766
2024-04-15 12:05:06 +02:00