Commit Graph
100 Commits
Author SHA1 Message Date
Lucas Bordeau ecff27f90c Improved hotkey scopes docs (#5647)
We have a lot of contributors that are not aware of our method for
implementing hotkey listeners.

I updated the documentation to provide clear examples so that users can
refer to it and maintainers and reviewers can point to it when they see
onKeyDown implementations.
2024-05-29 12:45:29 +02:00
Lucas Bordeau 113dfba994 Disable perf stories in chromatic (#5597)
Disabled chromatic for performance stories.
2024-05-27 14:43:39 +02:00
Lucas Bordeau 2c009afd36 Added RecordFieldValueSelectorContext (#5596)
Added RecordFieldValueSelectorContext on mock container so that new
record value using use-context-selector can work properly in fields
module.
2024-05-27 14:02:38 +02:00
Lucas Bordeau 3051f3a790 Fixed new record value context selector sync in activity drawer (#5594)
Forgot to add `<RecordValueSetterEffect recordId={...} />` effect
component for activity drawer during refactor.
2024-05-27 13:58:31 +02:00
Lucas Bordeau 8ee98e0fda Fixed pending row edit mode (#5592)
This PR fixes creation on table.

With the recent optimization refactor, we now use a custom event to
trigger edit and soft focus mode on a table cell.

There's a specific case when we create a pending row to allow creating a
new record, where the custom event gets triggered before the cell
exists, so it cannot listen and put itself in edit mode.

The fix is passing down a new isPendingRow in the context, so the
identifier cell on a pending row can put itself in edit mode during its
first render.
2024-05-27 13:40:53 +02:00
Lucas Bordeau 446c5564d6 Fixed entity chip navigate (#5587)
Fixed EntityChip, navigate had been removed during performance
optimization, I put it back.
2024-05-27 11:30:01 +02:00
Lucas Bordeau 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
Lucas Bordeau de9321dcd9 Fixed sync between record value context selector and record store (#5517)
This PR introduces many improvements over the new profiling story
feature, with new tests and some refactor with main :
- Added use-context-selector for getting value faster in display fields
and created useRecordFieldValue() hook and RecordValueSetterEffect to
synchronize states
- Added performance test command in CI
- Refactored ExpandableList drill-downs with FieldFocusContext
- Refactored field button icon logic into getFieldButtonIcon util
- Added RelationFieldDisplay perf story
- Added RecordTableCell perf story
- First split test of useField.. hook with useRelationFieldDisplay()
- Fixed problem with set cell soft focus
- Isolated logic between display / soft focus and edit mode in the
related components to optimize performances for display mode.
- Added warmupRound config for performance story decorator
- Added variance in test reporting
2024-05-24 16:52:05 +02:00
Lucas Bordeau cfacdfce60 Generic Profiling story to wrap any component (#5341)
This PR introduces a Profiling feature for our story book tests.

It also implements a new CI job : front-sb-test-performance, that only
runs stories suffixed with `.perf.stories.tsx`

## How it works 

It allows to wrap any component into an array of React Profiler
components that will run tests many times to have the most replicable
average render time possible.

It is simply used by calling the new `getProfilingStory` util.

Internally it creates a defined number of tests, separated by an
arbitrary waiting time to allow the CPU to give more stable results.

It will do 3 warm-up and 3 finishing runs of tests because the first and
last renders are always a bit erratic, so we want to measure only the
runs in-between.

On the UI side it gives a table of results : 

<img width="515" alt="image"
src="https://github.com/twentyhq/twenty/assets/26528466/273d2d91-26da-437a-890e-778cb6c1f993">

On the programmatic side, it stores the result in a div that can then be
parsed by the play fonction of storybook, to expect a defined threshold.

```tsx
play: async ({ canvasElement }) => {
    await findByTestId(
      canvasElement,
      'profiling-session-finished',
      {},
      { timeout: 60000 },
    );

    const profilingReport = getProfilingReportFromDocument(canvasElement);

    if (!isDefined(profilingReport)) {
      return;
    }

    const p95result = profilingReport?.total.p95;

    expect(
      p95result,
      `Component render time is more than p95 threshold (${p95ThresholdInMs}ms)`,
    ).toBeLessThan(p95ThresholdInMs);
  },
```
2024-05-15 13:50:02 +02:00
Lucas Bordeau 77eece77ea Add a cache on /metadata (#5189)
In this PR I'm introducing a simple custom graphql-yoga plugin to create
a caching mechanism specific to our metadata.

The cache key is made of : workspace id + workspace cache version, with
this the cache is automatically invalidated each time a change is made
on the workspace metadata.
2024-04-26 17:31:40 +02:00
Lucas Bordeau 52f4c34cd6 Cache yoga conditional schema (#5170)
In this PR I'm introducing a new patch on @graphql-yoga/nestjs package.

This patch overrides a previous patch that was made to compute the
conditionnal schema on each request,

Here we use a cache map to compute only once per schema workspace cache
version.

This allows us to have sub 100ms query time.
2024-04-25 14:01:32 +02:00
Lucas BordeauandWeiko 444e97fa3e Fixed date picker UI that was too overloaded (#5039)
Date picker UI was off because of the recent refactor with new field
types Date and DateTime. We had to allow the date picker to edit both.

In this PR we come back to the previous design and we only use the input
to modify time.

Also we use our Select component instead of the ones from the library
`react-datepicker`

---------

Co-authored-by: Weiko <corentin@twenty.com>
2024-04-23 18:45:32 +02:00
Lucas Bordeau 88c14b7e52 Fix Record Inline Cell position on Edit mode (#5038)
Fixed 0.5 offset of inline cell edit mode
2024-04-18 15:46:40 +02:00
Lucas Bordeau dc91d06e1b Fixed position in query fields (#5036)
Position was not passed to the request query fields so it changed every
time we updated a field.
2024-04-18 15:24:28 +02:00
Lucas Bordeau df49575c3e Fix component id to scope id (#5035)
This pull request fixes the component id to scope id in the
useUpsertRecordV2 function.
2024-04-18 15:24:15 +02:00
Lucas Bordeau bc5cfd046c Fixed default currency code in currency field (#5028)
Default currency logic was not handling a specific case where the
default currency is empty in the field metadata.

I fixed the ternary cascade and made it more explicit, thus also
avoiding falling into having an empty currency code being persisted.
2024-04-18 11:25:17 +02:00
Lucas Bordeau 86afc34e61 Speed up RecordTableCell by 5x (#5023)
Improved table cell performances by putting all hooks from
RecordTableCell in RecordTableContext and RecordTable component, so that
each cell now only subscribes to a reference to those hooks' returned
function.

We couldn't do memoization here since the problem is not to memoize
between re-renders but to share the same function reference between
hundreds of different components, so a context it the fastest way for
this.

I had to refactor the hooks a little bit so that they take as arguments
what was previously taken from the cell's context.
2024-04-18 10:44:00 +02:00
19a3be7b1b Date picker for Date and DateTime field input (#4981)
- Implemented correct mask for Date and DateTime field in
InternalDatePicker
- Use only keyDown event and click outside in InternalDatePicker and
DateInput
- Refactored InternalDatePicker UI to have month and year displayed
- Fixed bug and synchronized date value between the different inputs
that can change it

---------

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-16 16:58:08 +02:00
Lucas BordeauandCharles Bochet c69a3f01da Use defaultValue in currency input (#4911)
- Fix default value sent to backend, using single quotes by default
- Use default value in field definition and column definition so that
field inputs can access it
- Used currency default value in CurrencyFieldInput

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-04-11 16:49:00 +02:00
Lucas BordeauandJérémy M ee5aaae796 Implemented dataloader for relation metadata (#4891)
- Implemented dataloader package on metadata graphql server
- Implemented a dataloader for relation metadata module

---------

Co-authored-by: Jérémy M <jeremy.magrin@gmail.com>
2024-04-09 17:09:02 +02:00
Lucas Bordeau 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
Lucas Bordeau 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
Lucas Bordeau a3184dcc2f Used query fields for record table and record board (#4857)
- Added two hooks for computing query keys for index table and index
board.
- Using query keys for findManyRecords on index table and index board
2024-04-05 20:30:16 +02:00
Lucas Bordeau cc0e3c8a9a Fixed TS error with blocknote/react package (#4601) 2024-03-21 12:10:09 +01:00
Lucas Bordeau 9f6c578a46 Added context (#4557) 2024-03-18 17:13:32 +01:00
Lucas Bordeau e26572b408 Use backspace for clearing record table cell. (#4299)
* Use backspace for clearing record table cell.
2024-03-11 15:19:28 +01:00
Lucas Bordeau a5b41e09f5 Added a RelationFromOneSide ResolveField in FieldMetadata GraphQL Resolver (#4378)
* Added a ResolveField for relationDefinition on a FieldMetadataItem
2024-03-11 15:04:52 +01:00
Lucas Bordeau 581dfafe11 Renamed nullable utils into isDefined and isUndefinedOrNull (#4402)
* Renamed nullable utils into isDefined and isUndefinedOrNull
2024-03-11 14:28:57 +01:00
Lucas Bordeau 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
Lucas Bordeau 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
Lucas BordeauandCharles Bochet 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
Lucas BordeauandCharles Bochet 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
Lucas Bordeau e2db6a994d Fixed drawer not closing on task creation on Show Page (#3867)
Fixed close dropdown
2024-02-08 14:12:23 +01:00
Lucas Bordeau 33bb48e681 Refactored dependencies from App component (#3763)
* Refactored PageTitle to remove a dependency to location from App component

* Refactored DefaultHomePage and DefaultPageTitle to remove dependencies from App component.
2024-02-05 11:27:51 +01:00
Lucas Bordeau 44c36e348a Disabled debug hotkey scope (#3762) 2024-02-02 18:14:10 +01:00
Lucas Bordeau 397de955be Fixed storybook tests (#3719)
Fix storybook tests
2024-01-31 12:34:06 +01:00
Lucas Bordeau d7e4b4116f Minor fixes empty state (#3703)
* Minor fixes for Timeline empty states
* Refactored TimelineCreateButtonGroup
2024-01-31 12:12:51 +01:00
Lucas Bordeau 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
Lucas Bordeau e54c141484 Use scroll left instead of intersection observer (#3522) 2024-01-24 06:39:04 -03:00
Lucas Bordeau 9ebc0deaaf Leave table focus on show page click (#3521) 2024-01-23 13:57:44 -03:00
Lucas Bordeau 23a3614b54 Fixed filter dropdown on task page (#3469)
* Fixed filter dropdown on task page

* Fixed ts in test

* Change avatarUrl to nullable in ObjectRecordIdentifier
2024-01-23 12:59:26 -03:00
Lucas Bordeau 764374f6b8 Deactivated vite-plugin-checker overlay (#3574) 2024-01-22 14:19:22 +01:00
Lucas Bordeau bbfe62df9a Implemented useListenClickOutside V2 (#3507)
* Implemented useListenClickOutside V2

* Removed lock and implemented a toggle instead
2024-01-17 16:22:22 +01:00
Lucas Bordeau 4fa9e18920 Fixed selection reset on loading more (#3500) 2024-01-17 15:59:55 +01:00
Lucas BordeauandCharles Bochet e2bdf0ce45 Recursively turn relation connection into records (#3334)
* Use new ObjectRecordConnection

* Use new records without connection in GraphQLView

* Added playwright for storybook tests

* Fixed lint

* Fixed test and tsc

* Fixed storybook tests

* wip tests

* Added useMapConnectionToRecords unit test

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-11 20:27:59 +01:00
Lucas Bordeau fbf7496fab Added eslint config in vite-plugin-checker (#3321) 2024-01-10 09:43:24 +01:00
Lucas Bordeau dc94d26997 Fixed create task bug (#3308) 2024-01-08 20:56:38 +01:00
Lucas Bordeau 71034849d3 Added vite-plugin-checker to twenty-front (#3289)
* Added vite-plugin-checker to twenty-front

* Installed vite-plugin-checker globally
2024-01-08 12:01:58 +01:00
Lucas BordeauandCharles Bochet 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
Lucas BordeauandCharles Bochet 6797f013c9 Fix favorites (#3138)
* WIP

* Finished cleaning favorites create, update, delete on record show page

* Fixed context menu favorite

* Fixed relation field bug

* Fix from review

* Review

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-03 12:30:24 +01:00
Lucas Bordeau 180aec5ad8 Typed updateRecord hook in generic field logic (#3102)
* Typed updateRecord hook in generic field logic

* Use sanitize instead of additional optimisticInput
2023-12-21 16:27:26 +01:00
Lucas BordeauandCharles Bochet 687c9131f4 Feat/record optimistic effect (#3076)
* WIP

* WIP

* POC working on hard coded completedAt field

* Finished isRecordMatchingFilter, mock of pg_graphql filtering mechanism

* Fixed and cleaned

* Unregister unused optimistic effects

* Fix lint

* Fixes from review

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-20 20:31:48 +01:00
Lucas Bordeau d70cb23f30 Added rimraf to yarn build (#3089) 2023-12-20 14:50:10 +01:00
Lucas BordeauandCharles Bochet 468744298b Fix hook bug (#2995)
* Fix hook bug

* Fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-14 18:54:23 +01:00
Lucas Bordeau bded46444d Added ability to edit filter and sort chip directly (#2968)
* - Added EditableSortChip
- Fixed EditableFilterChip onRemove not closing

* Added missing script in dependencies

* Linted files

* Finished fixing lint
2023-12-13 15:24:06 +01:00
Lucas Bordeau 2a4ab2ffd3 Feat/complete filter order by types (#2943)
* Fixed orderBy bug

* Fixed gitch select multiple record filter

* Fixed RelationPicker search

* Fixed OrderBy type

* WIP

* Finished RequestFilter typing

* Finished RequestFilter type

* Fixed missing import

* Changed naming
2023-12-12 15:56:21 +01:00
Lucas Bordeau 52859e18ed Picker and MultiSelect fixes (#2883)
* Fixed orderBy bug

* Fixed gitch select multiple record filter

* Fixed RelationPicker search

* Fixed OrderBy type
2023-12-08 17:42:40 +01:00
Lucas Bordeau e89546466c Feat/object metadata item identifiers (#2865)
* Moved pure UI object fields to ui folder

* Moved pure UI object fields to ui folder 2

* Updated graphql metadata schema and fixed typing issues

* Added a new hook to create a record identifier mapper

* Fixed merge main
2023-12-08 12:29:01 +01:00
Lucas Bordeau 145b432dc6 Moved pure UI object fields to ui folder (#2861)
* Moved pure UI object fields to ui folder

* Moved pure UI object fields to ui folder 2
2023-12-07 16:27:39 +01:00
Lucas Bordeau a8ecc23cbe Chore/move records related to record folder (#2859)
* WIP

* Finished multi select filter

* Cleaned console log

* Fix naming

* Fixed naming

* Moved RelationPicker folder

* Moved EntitySelect components

* Moved story

* Moved RelationPicker non component folders

* Moved everything else
2023-12-07 12:43:10 +01:00
Lucas Bordeau 06936c3c2a Feat/multi relation filter (#2858)
* WIP

* Finished multi select filter

* Cleaned console log

* Fix naming

* Fixed naming
2023-12-07 12:08:48 +01:00
Lucas BordeauandCharles Bochet 74b077f3ca Feat/error boundaries (#2779)
* - Changed to objectNameSingular always defined
- Added ErrorCatchAll

* - Added mock mode for companies logged out
- Added a proper ErrorBoundary component

* Removed react-error-boundary

* Implemented proper ErrorBoundary

* Fixes

* Change strategy about mocks

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-01 22:06:38 +01:00
Lucas BordeauandCharles Bochet d855a42eca Fix/object record and metadata naming (#2763)
* Fixed object-record and object-metadata naming

* Fix post merge

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-11-29 13:45:57 +01:00
Lucas BordeauandCharles Bochet f0e20b06df Added table record mock mode with companies (#2715)
* wip

* Removed console.log

* Refactor mocks into multiple files

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-11-25 19:50:50 +01:00
Lucas Bordeau 0376d0b7e0 Fixed soft focus init (#2696) 2023-11-24 15:41:09 +01:00
Lucas Bordeau 6d1f52a888 Use forceRefetch for task update (#2695) 2023-11-24 15:38:21 +01:00
Lucas Bordeau a0478a0a83 Fix/task page filter (#2682)
* Fixed filter

* Removed console.log
2023-11-23 23:29:54 +01:00
Lucas Bordeau 4b42ed42dc Fix duplicate view field creation (#2677) 2023-11-23 16:25:32 +01:00
Lucas Bordeau 01172d44dd Fix/boolean field v2 (#2664)
* wip

* Revert "wip"

This reverts commit 517d460f6cd0add2ab9226572f69ca69d2f69a6d.
2023-11-23 11:35:32 +01:00
Lucas Bordeau 02e60da923 Fixed activities for Person (#2658)
* Improved optimistic rendering

* Fixed activities for Person
2023-11-22 18:56:45 +01:00
Lucas Bordeau ac2fedb148 Improved optimistic rendering (#2649) 2023-11-22 17:08:32 +01:00
Lucas Bordeau 4b2d18c1d7 Fixed record inline cell fields on activity editor (#2634)
Created a generic useFieldContext hook to wrap RecordInlineCell anywhere in the app easily
2023-11-22 12:27:58 +01:00
Lucas Bordeau a67199e0c3 Fix Tasks and Activities - Part 1 (#2624)
Fixed
2023-11-21 23:29:40 +01:00
Lucas Bordeau b13d84fcda Fix/company team crud (#2614)
* Fixed basePathToShowPage

* Fixed company team list

* Fixed : create, update, delete and detach people from company.
2023-11-21 12:24:20 +01:00
Lucas Bordeau 189586830e Refactored useFindOneObjectMetadataItem and useFindManyObjectMetadataItems (#2600)
* Refactored useFindOneObjectMetadataItem and useFindManyObjectMetadataItems to rely on a recoil family selector

* Removed console.log

* Cleaned

* Removed unused hook

* Fixed seeds
2023-11-20 16:34:06 +01:00
Lucas BordeauandCharles Bochet 50d6ab52d7 Fix favorites add/remove from table context menu (#2571)
* Fix favorites add/remove from table context menu

* Fixed console.log

---------

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
2023-11-17 19:10:33 +01:00
Lucas Bordeau a6d8cdb116 Fix context menu and favorites (#2564) 2023-11-17 16:24:43 +01:00
Lucas Bordeau 7da18a13e8 Feat/filter available field definition v2 (#2547)
* Added react-dev-inspector

* Add field relation type parsing and filter available fields for record table and show page

* Revert "Added react-dev-inspector"

This reverts commit 7a78964c2c3996ce2e27f6f8d0c0b5e1f3283e17.
2023-11-16 17:09:50 +01:00
Lucas Bordeau 4acb7f41e1 Fix/company picker v2 (#2535)
Fixed company picker V2
Fixed picker search hook filters / where clause
Fixed OrderBy / SortOrder type
Fixed set relation to null
2023-11-16 12:34:23 +01:00
Lucas Bordeau 82142ab70e Added working peopleV2 table (#2527) 2023-11-15 19:17:20 +01:00
Lucas BordeauandCharles Bochet 8906c23c63 Fixed callback firing on clickoutside but mousedown inside. (#2434)
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-11-10 23:54:47 +01:00
Lucas Bordeau 6e7ad5eabc Update yarn-setup.mdx (#2424)
Added troubleshooting use case on SQL database init error.
2023-11-10 15:20:55 +01:00
Lucas Bordeau 9c29c436b9 Feat/pagination front (#2387)
* Finished renaming and scope

* wip

* WIP update

* Ok

* Cleaned

* Finished infinite scroll

* Clean

* Fixed V1 tables

* Fix post merge

* Removed ScrollWrapper

* Put back ScrollWrapper

* Put back in the right place
2023-11-10 12:43:14 +01:00
Lucas Bordeau b3d460eb75 Finished renaming and scope (#2378)
* Finished renaming and scope

* Less objectNamePlural as props
2023-11-06 19:42:46 +01:00
Lucas Bordeau b98d474308 Fix new field type enums in parseFieldType (#2361)
* Fix new field type enums in parseFieldType

* Fix with GraphQL enum
2023-11-06 17:24:47 +01:00
Lucas BordeauandCharles Bochet 53072298bc Feat/improve new views (#2298)
* POC new recoil injected scoped states

* Finished useViewScopedState refactor

* Finished refactor

* Renamed mappers

* Fixed update view fields bug

* Post merge

* Complete refactor

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-11-04 09:28:55 +01:00
Lucas Bordeau aba3fd454b Removed dead code (#2345) 2023-11-03 17:08:07 +01:00
Lucas Bordeau cf8840dfec Fix assert not null lint warning (#2324) 2023-11-03 11:08:14 +01:00
Lucas Bordeau 14ae8da424 Fix database experience (#2263) 2023-10-27 17:48:06 +02:00
Lucas Bordeau 1728045be4 Fixes (#2256) 2023-10-27 11:25:14 +02:00
Lucas BordeauandWeiko 3f2e1b622e Feat/show page metadata (#2234)
* Fix view fetch bug

* Finished types

* Removed console.log

* Fixed todo

* Working Object Show Page

* Minor fixes

* Fix custom object requests pending (#2240)

* Fix custom object requests pending

* fix typo

* Fix various bugs

* Typo

* Fix

* Fix

* Fix

---------

Co-authored-by: Weiko <corentin@twenty.com>
2023-10-27 11:06:07 +02:00
Lucas Bordeau c335d19c97 Feat/add other metadata types v2 (#2224)
* Fix view fetch bug

* Finished types

* Removed console.log

* Fixed todo

* Reactivate no console

* Change no-console to warn
2023-10-26 12:07:43 +02:00
Lucas BordeauandCharles Bochet f1670f0cf4 Feat/metadata datatable types (#2175)
* Handled new url v2 type

* Fixed refetch queries

* wip

* Ok delete but views bug

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-10-21 14:07:18 +02:00
Lucas BordeauandCharles Bochet c590300bf1 Feat/metadata with datatable v2 (#2110)
* Reworked metadata creation

* Wip

* Fix from PR

* Removed consolelog

* Post merge

* Fixed seeds

* Wip

* Added dynamic routing

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-10-18 19:41:02 +02:00
Lucas Bordeau 5bfb540e6a Fix graphql query import (#2108) 2023-10-18 18:31:47 +02:00
Lucas Bordeau 547a17b145 Feat/metadata add update and delete on frontend (#2102)
* Reworked metadata creation

* Wip

* Fix from PR

* Removed consolelog

* Post merge

* Fixed seeds
2023-10-18 16:48:11 +02:00
Lucas Bordeau a40516df83 Added metadata creation (#2086)
* Reworked metadata creation

* Fix from PR

* Removed consolelog
2023-10-17 20:59:41 +02:00
Lucas Bordeau d64f167b3b Feat/front temp seed custom objects (#2070)
* wip

* Fixed bugs

* Added flexible backend test
2023-10-16 22:04:41 +02:00
Lucas BordeauandCharles Bochet a35ea5e8f9 Feat/front forge graphql query (#2007)
* wip

* Wip

* Wip

* Finished v1

* Wip

* Fix from PR

* Removed unused fragment masking feature

* Fix from PR

* Removed POC from nav bar

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-10-13 22:27:57 +02:00
Lucas Bordeau cafcfdc95e Feat/front metadata request (#1977)
* wip

* Wip

* Wip

* Finished v1

* Fix from PR

* Removed unused fragment masking feature
2023-10-13 18:01:57 +02:00