25522752e4
View module refactor with atomic recoil component instance states ( #6810 )
...
This PR refactors the view module to implement utils that avoid having
to create hooks to inject the scope id in the states, like
`useViewStates`, each componentState will know its unique related
InstanceContext (which holds the instanceId), and thus will be able to
retrieve it itself.
We keep the naming componentState as it reflects the fact that those
states are tied to instances of a component (or its children).
We introduce the instance word where it is needed, in place of scopeId
for example, to precise the fact that we handle instances of component
state, one for each instance of a component.
For example, the currentViewId is a state that is tied to an instance of
the ViewBar, but as we can switch between views, we want currentViewId
to be a componentState tied to an instance of the ViewBar component.
This PR also refactors view filter and sort states to fix this issue :
https://github.com/twentyhq/twenty/issues/6837 and other problems
involving resetting those states between page navigation.
Fixes https://github.com/twentyhq/twenty/issues/6837
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-09-20 16:13:29 +02:00
6c15033511
added scroll wrapper for ShowPageActivityContainer ( #6903 )
...
fixes #6902
2024-09-06 10:40:55 +02:00
1030ff43d8
Created a specific scroll wrapper context per scroll wrapper and made ScrollTop and ScrollLeft componentStates ( #6645 )
...
@lucasbordeau @charlesBochet
Issue #4826
Could u review this changes.
Let me know what do you think.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-08-22 18:21:14 +02:00
774cb554f4
removed @blocknote/core from dependencies ( #6580 )
...
Fixes #6564 & #6561
@FelixMalfait
Removed @blocknote/core from dependencies
https://github.com/user-attachments/assets/ef6acfff-2945-4062-a35c-21dd108a4345
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-08-08 15:44:09 +02:00
b64e8096d6
Fixed scoped hotkeys ( #6322 )
...
- Removed enabled props from useScopedHotkeys becayse it doesn't work
- Moved enter useScopedHotkeys in a handler that we drill down to the
text inputs on the settings form
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-07-19 19:25:12 +02:00
1b0759ef2f
Fix post merge revamp navigation bar ( #6297 )
...
Closes #6285
@charlesBochet Also added some more utils for our component state v2.
2024-07-19 14:24:47 +02:00
7b3a590f79
5421 box shadow on frozen header and first column ( #6130 )
...
- Refactored components in table
- Added a isTableRecordScrolledLeftState and
isTableRecordScrolledTopState to subscribe to table scroll
- Added a zIndex logic that subscribes to those new states in new tinier
components
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-07-05 18:30:59 +02:00
7eb69a78ef
Relations many in table view ( #5842 )
...
Closes #5924 .
Adding the "many" side of relations in the table view, and fixing some
issues (glitch in Multi record select, cache update after update).
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-06-27 11:28:03 +02:00
a2e89af6b2
Collapsible menu ( #5846 )
...
A mini PR to discuss with @Bonapara tomorrow
Separating remote objects from others and making the menu collapsible
(style to be changed)
<img width="225" alt="Screenshot 2024-06-12 at 23 25 59"
src="https://github.com/twentyhq/twenty/assets/6399865/b4b69d36-6770-43a2-a5e8-bfcdf0a629ea ">
Biggest issue is we don't use local storage today so the collapsed state
gets lost.
I see we have localStorageEffect with recoil. Maybe store it there?
Seems easy but don't want to introduce a bad pattern.
Todo:
- style update
- collapsible favorites
- persistent storage
2024-06-14 12:35:23 +02:00
3986824017
5623 add an inviteteam onboarding step ( #5769 )
...
## Changes
- add a new invite Team onboarding step
- update currentUser.state to currentUser.onboardingStep
## Edge cases
We will never display invite team onboarding step
- if number of workspaceMember > 1
- if a workspaceMember as been deleted
## Important changes
Update typeorm package version to 0.3.20 because we needed a fix on
`indexPredicates` pushed in 0.3.20 version
(https://github.com/typeorm/typeorm/issues/10191 )
## Result
<img width="844" alt="image"
src="https://github.com/twentyhq/twenty/assets/29927851/0dab54cf-7c66-4c64-b0c9-b0973889a148 ">
https://github.com/twentyhq/twenty/assets/29927851/13268d0a-cfa7-42a4-84c6-9e1fbbe48912
2024-06-12 21:13:18 +02:00
cfd83d6b8e
[UI] Remove theme constants from twenty-front and use the ones exported from twenty-ui. ( #5558 )
...
Some parts of the Frontend used theme constants exported from
`modules/ui` while other parts used theme constants exported from
`twenty-ui`.
This PR centralizes theme constants by removing them from `modules/ui`
completely.
2024-05-25 16:09:25 +02:00
0e525caf01
Implement <ScrollRestoration /> ( #5086 )
...
### Description
Implement <ScrollRestoration />
### Refs
[https://github.com/twentyhq/twenty/issues/4357 ](https://github.com/twentyhq/twenty/issues/4183 )
### Demo
https://github.com/twentyhq/twenty/assets/140154534/321242e1-4751-4204-8c86-e9b921c1733e
Fixes #4357
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: RubensRafael <rubensrafael2@live.com >
2024-05-17 16:36:28 +02:00
0fb416d17c
fix: fix field select options positions after option removal ( #5350 )
...
- Adds an util `toSpliced`. We cannot used the native Javascript
`Array.prototype.toSpliced` method as Chromatic servers don't support
it.
- Makes sure Select field options have sequential positions after
removing an option (form validation schema checks that positions are
sequential and considers options invalid otherwise).
2024-05-10 18:31:22 +02:00
6a14b1c6d6
Fix tasks ( #5199 )
...
## Query depth deprecation
I'm deprecating depth parameter in our graphql query / cache tooling.
They were obsolete since we introduce the possibility to provide
RecordGqlFields
## Refactor combinedFindManyRecordHook
The hook can now take an array of operationSignatures
## Fix tasks issues
Fix optimistic rendering issue. Note that we still haven't handle
optimisticEffect on creation properly
2024-04-29 23:33:23 +02:00
d54e690f0d
Fix explicit boolean predicates rule not working with boolean constants ( #5009 )
...
### Description
Fix explicit boolean predicates rule not working with boolean constants
### Refs
#4881
### Demo
Fixes #4881
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 >
2024-04-17 17:06:37 +02:00
97f9fc3f81
Fixed hotkey bug with Select component and added debug logs for hotkeys ( #4879 )
...
- Select component was adding a duplicate useListenClickOutside already
present in useDropdown for closing dropdown.
- Added debug logs for hotkeys scopes
2024-04-08 17:08:30 +02:00
e784dc8a98
chore: enable no-console eslint rule for tests and stories ( #4816 )
...
Re-enables no-console eslint rule in stories and tests files:
- In stories, use `action` from '@storybook/addon-actions' or `fn` from
'@storybook/test' instead of console.
- In tests, console methods can be mocked like this:
`global.console.error = jest.fn()`.
2024-04-04 18:36:39 +02:00
c5349291c8
chore: setup twenty-ui absolute path alias ( #4732 )
...
Split from https://github.com/twentyhq/twenty/pull/4518
- Setup `@ui/*` as an internal alias to reference `twenty-ui/src`.
- Configures twenty-front to understand the `@ui/*` alias on development
mode, so twenty-ui can be hot reloaded.
- When building on production mode, twenty-front needs twenty-ui to be
built beforehand (which is automatic with the `dependsOn` option).
- Configures twenty-front to understand the `@ui/*` alias when launching
tests, so there is no need to re-build twenty-ui for tests.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-04-04 15:38:01 +02:00
8ae6af6bd7
refactor: move createState to twenty-ui ( #4716 )
...
Split from https://github.com/twentyhq/twenty/pull/4518
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2024-04-01 13:22:51 +02:00
d24d5a9a2e
feat: authorize screen ( #4687 )
...
* authorize screen
* lint fix
* add BlankLayout on Authorize route
* typo fix
* route decorator fix
* Unrelated fix
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-31 12:23:56 +02:00
aacb3763e7
Fix overlay scroll gaps ( #4512 )
...
* fix overlay scroll leaving gap
* fixed tests
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-31 10:53:37 +02: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
60598bf235
[ESLint rule] prevent useRecoilCallback without a dependency array ( #4411 )
...
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
2024-03-12 15:12:17 +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
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
b2210bd418
TWNTY-2244 - ESLint rule: enforce usage of .getLoadable() + .getValue() to get atoms ( #4143 )
...
* ESLint rule: enforce usage of .getLoadable() + .getValue() to get atoms
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Merge main
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Fix
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Fix linter issue
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Fix linter
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-06 00:24:20 +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
f543191552
TWNTY-3825 - ESLint rule: const naming ( #4171 )
...
* ESLint rule: const naming
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
* refactor: Reverts changes on `twenty-server`
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
2024-02-25 13:52:48 +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
44c36e348a
Disabled debug hotkey scope ( #3762 )
2024-02-02 18:14:10 +01:00
f68de1a299
Board improvements ( #3694 )
...
* New board improvements
* Improve board
* Fix
2024-01-30 15:24:03 +01:00
84b6bea2b9
Split back fetch more loader for record table and emails ( #3693 )
...
* Split back fetch more loader
* Rename loader
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-01-30 14:50:33 +01:00
96bcddc056
Add participant avatars + remove tbody from fetchMore loader ( #3679 )
...
* Add participant avatars + remove tbody from fetchMore loader
* Update sender names
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-01-30 10:47:15 +01:00
419f8adde6
Improve RecordTableCellperformances ( #3659 )
...
* Improve RecordTableCellperformances
* Fixes
2024-01-28 20:32:28 +01:00
ada8f55574
Refactor Field Inputs ( #3658 )
...
* Rename field to record-field folder
* Simplify FieldInput
* Fix perfs
* Fixes
* Fixes
* Fix tests
* Fix tests
2024-01-27 23:42:39 +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
377fd23c90
Display columns on Record Board ( #3626 )
...
* Display columns on Record board
* Fix
* Fix according to review
* Fix
2024-01-25 18:21:15 +01:00
f099ff90c1
Add fetch more loader for email messages ( #3618 )
...
Add fetch more loader
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-01-25 14:44:54 +01:00
e54c141484
Use scroll left instead of intersection observer ( #3522 )
2024-01-24 06:39:04 -03:00
e0943b15c4
Add missing tests in modules/ui/utilities/recoil-scope ( #3581 )
...
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
2024-01-23 14:16:50 +01:00
562cdc563f
TWNTY-3482 - Add tests for modules/ui/utilities/recoil-scope/scopes-internal/hooks ( #3582 )
...
Add tests for `modules/ui/utilities/recoil-scope/scopes-internal/hooks`
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
2024-01-23 14:15:41 +01:00
2dae5b0046
Add tests for modules/ui/utilities/pointer-event ( #3586 )
...
Add test `modules/ui/utilities/pointer-event`
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: RubensRafael <rubensrafael2@live.com >
2024-01-23 10:45:19 +01:00
bbfe62df9a
Implemented useListenClickOutside V2 ( #3507 )
...
* Implemented useListenClickOutside V2
* Removed lock and implemented a toggle instead
2024-01-17 16:22:22 +01:00
ba038a4a83
fixed issue Refine Settings Layout ( #3429 )
...
* fixed issue Refine Settings Layout
* fixed width and issue
* Fix according to review
* Fix
* Fix
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-17 15:54:52 +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
ebe8698910
Increase test coverage for /modules/ui ( #3314 )
...
* Increase test coverage for `/modules/ui`
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: FellipeMTX <fellipefacdir@gmail.com >
Co-authored-by: Fellipe Montes <102544529+FellipeMTX@users.noreply.github.com >
* Merge main
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: FellipeMTX <fellipefacdir@gmail.com >
Co-authored-by: Fellipe Montes <102544529+FellipeMTX@users.noreply.github.com >
* Fix tests
* Fix tests
* Fix
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: FellipeMTX <fellipefacdir@gmail.com >
Co-authored-by: Fellipe Montes <102544529+FellipeMTX@users.noreply.github.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-11 08:51:36 +01:00
96264e264c
Refactor recoil v4 ( #3266 )
...
* Refactor recoil v4
* Fix ci
2024-01-05 19:18:22 +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