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
b1242bb850
4087 refactor object metadata item hooks and utils ( #4861 )
...
- Extracted each exported element from useObjectMetadataItem into its
own hook.
2024-04-09 09:19:52 +02:00
02673a82af
Feat/put target object identifier on use activities ( #4682 )
...
When writing to the normalized cache (record), it's crucial to use _refs
for relationships to avoid many problems. Essentially, we only deal with
level 0 and generate all fields to be comfortable with their defaults.
When writing in queries (which should be very rare, the only cases are
prefetch and the case of activities due to the nested query; I've
reduced this to a single file for activities
usePrepareFindManyActivitiesQuery 🙂 ), it's important to use queryFields
to avoid bugs. I've implemented them on the side of query generation and
record generation.
When doing an updateOne / createOne, etc., it's necessary to distinguish
between optimistic writing (which we actually want to do with _refs) and
the server response without refs. This allows for a clean write in the
optimistic cache without worrying about nesting (as the first point).
To simplify the whole activities part, write to the normalized cache
first. Then, base queries on it in an idempotent manner. This way,
there's no need to worry about the current page or action. The
normalized cache is up-to-date, so I update the queries. Same idea as
for optimisticEffects, actually.
Finally, I've triggered optimisticEffects rather than the manual update
of many queries.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-04-01 13:12:37 +02:00
fefa37b300
4488 connect calendar tab to backend ( #4624 )
...
* create states and hooks
* implement fetch more records
* add empty state
* update types
* fix error
* add fetchmoreloader and add scroll to container
* fix visibility in calendarEventFragment
* fix fetchMoreRecords
* update TIMELINE_CALENDAR_EVENTS_DEFAULT_PAGE_SIZE
* add test
* modify empty state subtitle
* replace entity by activityTargetableObject
* create useCustomResolver hook
* refactor
* refactoring
* use generic component
* rename FetchMoreLoader
* remove deprecated states and hooks
* fix typing
* update typing
* update error message
* renaming
* improve typing
* fix bug on contact creation from same company
2024-03-26 14:50:32 +01:00
cfb0cce9b8
Refactor Views by cleaning the code, relying on apolloCache and improving performances ( #4516 )
...
* Wip refactoring view
* Post merge conflicts
* Fix review
* Add create view capability
* Fix create object missing view
* Fix tests
2024-03-20 14:21:58 +01:00
1cc8edd016
Fix tests and linter
2024-03-15 19:14:57 +01:00
c083bb15cd
First batch of modules/activities tests ( #4446 )
...
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com >
2024-03-15 16:32:06 +01:00
7b83c84fa5
TWNTY-4447 - Add tests for /modules/activities/hooks ( #4475 )
...
Add tests for `/modules/activities/hooks`
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
2024-03-15 16:30:42 +01:00
581dfafe11
Renamed nullable utils into isDefined and isUndefinedOrNull ( #4402 )
...
* Renamed nullable utils into isDefined and isUndefinedOrNull
2024-03-11 14:28:57 +01:00
ec384cc791
Implement eager load relations on graphqlQueries ( #4391 )
...
* Implement eager load relations on graphqlQueries
* Fix tests
* Fixes
* Fixes
2024-03-10 23:42:23 +01:00
86c0f311f5
Introduce ComponentState ( #4386 )
...
* Proof of concept ComponentState
* Migrate to createState and createFamilyState
* Refactor
* Fix
* Fix tests
* Fix lint
* Fix tests
* Re-enable coverage
2024-03-09 11:31:00 +01:00
17511be0cf
TWNTY-3794 - ESLint rule: only take explicit boolean predicates in if statements ( #4354 )
...
* ESLint rule: only take explicit boolean predicates in if statements
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Merge main
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Fix frontend linter errors
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Fix jest
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Fix lint on new code
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
2024-03-09 10:48:19 +01:00
af6ffbcc68
feat: standard fields on custom ( #4332 )
...
* feat: add ability to sync standard fields on custom object
* fix: clean
* fix: wrong compute during object creation
* fix: missing cascade delete
* fix: remove unused injected class
* fix: naming
* fix: rename factory to paramsFactory and clean
* fix: rename ExtendCustomObjectMetadata to BaseCustomObjectMetadata
* fix: partial fix inconsistent label and description
* Fixes
* Fix
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-03-07 17:21:50 +01:00
e7857d7fa3
Improve performance on findMany queries ( #4334 )
...
* Improve performance on findMany queries
* Fix
2024-03-06 13:59:42 +01:00
30df6c10ea
test: improve utils coverage ( #4230 )
...
* test: improve utils coverage
* refactor: review - rename isDefined to isNonNullable, update tests and return statement
2024-02-29 17:03:52 +01:00
87f7c75057
Remove usage of toSorted as it is not fully supported ( #4168 )
2024-02-24 12:12:55 +01:00
fb920a92e7
Improved activity editor re-renders ( #4149 )
...
* Refactor task count
* Fixed show page rerender
* Less rerenders and way better title and body UX
* Finished breaking down activity editor subscriptions
* Removed console.log
* Last console.log
* Fixed bugs and cleaned
2024-02-23 17:54:27 +01:00
140d3460eb
Refactor/finish activities optimistic ( #4106 )
...
* Finished optimistic effects
* Fixed tests
* Added unit test on useActivityConnectionUtils to prepare for refactor
* Fixed console.log
2024-02-21 18:54:14 +01:00
36a6558289
Feat/activity optimistic activities ( #4009 )
...
* Fix naming
* Fixed cache.evict bug for relation target deletion
* Fixed cascade delete activity targets
* Working version
* Fix
* fix
* WIP
* Fixed optimistic effect target inline cell
* Removed openCreateActivityDrawer v1
* Ok for timeline
* Removed console.log
* Fix update record optimistic effect
* Refactored activity queries into useActivities for everything
* Fixed bugs
* Cleaned
* Fix lint
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-20 14:20:45 +01:00
cca72da708
Activity cache injection ( #3791 )
...
* WIP
* Minor fixes
* Added TODO
* Fix post merge
* Fix
* Fixed warnings
* Fixed comments
* Fixed comments
* Fixed naming
* Removed comment
* WIP
* WIP 2
* Finished working version
* Fixes
* Fixed typing
* Fixes
* Fixes
* Fixes
* Naming fixes
* WIP
* Fix import
* WIP
* Working version on title
* Fixed create record id overwrite
* Removed unecessary callback
* Masterpiece
* Fixed delete on click outside drawer or delete
* Cleaned
* Cleaned
* Cleaned
* Minor fixes
* Fixes
* Fixed naming
* WIP
* Fix
* Fixed create from target inline cell
* Removed console.log
* Fixed delete activity optimistic effect
* Fixed no title
* Fixed debounce and title body creation
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-09 14:51:30 +01:00
3b458d5207
Activity injection into Apollo cache ( #3665 )
...
- Created addRecordInCache to inject a record in Apollo cache and inject single read query on this record
- Created createOneRecordInCache and createManyRecordsInCache that uses this addRecordInCache
- Created useOpenCreateActivityDrawerV2 hook to create an activity in cache and inject it into all other relevant requests in the app before opening activity drawer
- Refactored DEFAULT_SEARCH_REQUEST_LIMIT constant and hardcoded arbitrary request limits
- Added Apollo dev logs to see errors in the console when manipulating cache
2024-01-29 16:12:52 +01:00
d6f117c688
Display RecordBoardCards on new board ( #3657 )
...
* Before remove saveEditModeValue logic
* Fixes
* Fix tests
* Fix tests
2024-01-27 15:55:45 +01:00
10fd67ba32
Fix relation creation bug + enable favorite for custom objects ( #3392 )
...
* Fix relation creation bug
* Fix vale CI
* Fix comment bug
2024-01-11 22:46:43 +01:00
6bae6fcdce
Migrate record table to scope map ( #3363 )
...
* Migrate record table to scope map
* Update record scope id to record id
* Remove todos and fix edit mode
* Fix perf
* Fix tests
* Fix tests
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-11 17:44:40 +01:00
dc94d26997
Fixed create task bug ( #3308 )
2024-01-08 20:56:38 +01:00
b112b74022
Feat/activities custom objects ( #3213 )
...
* WIP
* WIP - MultiObjectSearch
* WIP
* WIP
* Finished working version
* Fix
* Fixed and cleaned
* Fix
* Disabled files and emails for custom objects
* Cleaned console.log
* Fixed attachment
* Fixed
* fix lint
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-05 09:08:33 +01:00
8483cf0b4b
POC: chore: use Nx workspace lint rules ( #3163 )
...
* chore: use Nx workspace lint rules
Closes #3162
* Fix lint
* Fix lint on BE
* Fix tests
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-03 23:07:25 +01:00
b0d3e6d8d3
3157 refactor scoped states to move to v3 ( #3180 )
...
* renaming
* renaming
* create getDropdownScopeInjectors
* update useDropdown
* create internal hooks folder
* update record-table states to be scoped states
* update record-table selectors to be scoped selectors
* create utils scope injector
* refactor record-table wip
* refactor record-table wip
* wip
* inject scopeId in selectors
* update intenal hooks
* update intenal hooks
* update intenal hooks
* update intenal hooks
* update intenal hooks
* update intenal hooks
* update internal hooks
* update internal hooks
* update internal hooks
* update internal hooks
* update useTableColumns
* update states and hooks
* refactoring
* refactoring
* refactoring
* refactoring
* refactoring
* refactoring
* refactoring
* refactoring
* refactoring
* fix scopeId not in context
* fix lint errors
* fix error in story
* fix errors: wip
* fix errors
* fix error
* fix jest test
* fix scopeId not defined
* fix jest test
* Bug fixes
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-03 19:45:14 +01:00
858c294f14
Website improvements 4 ( #3182 )
...
* Add contributor individual page
* Improve mobile menu
* Fix
* Remove yarn.lock from twenty-website
* Add yarn to gitingore
* Fix linter
2023-12-31 10:41:53 +01:00
fd607789f4
Replace all hardcoded core object name by enum ( #3170 )
...
* Replace hardcoded core object name by enum
Signed-off-by: Florian Grabmeier <flo.grabmeier@gmail.com >
* Fix typo
Signed-off-by: Florian Grabmeier <flo.grabmeier@gmail.com >
* Fixed duplicate import
---------
Signed-off-by: Florian Grabmeier <flo.grabmeier@gmail.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2023-12-29 15:11:30 +01:00
b650b1dca3
GH-3106 Ability to multi-note/task with action bar ( #3137 )
...
* GH-3106 fix activity drawer opener for selected rows hook
* GH-3106 ability to multi note/task with action bar
* GH-3106 use snapshot to get selected row IDs
* GH-3106 format code & fix linting issues
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2023-12-26 17:44:23 +01:00
756b30815e
Fix various bugs before 0.2.2 ( #3118 )
...
* Fix various bugs before 0.2.2 release
* Additional fixes
* More fixes
* Fixes
2023-12-21 23:48:52 +01:00
5bdca9de6c
Migrate to a monorepo structure ( #2909 )
2023-12-10 18:10:54 +01:00