c97c71762e
fix: Input fields to have expected behaviour in case of empty / only whitespaces string ( #6736 )
...
# ISSUE
- Closes #6734
- Closes #6633
- Closes #6733
- Closes #6816
# Description
- [x] Don't allow Empty (whitespaces) Objects to Create, all the
keyboard shortcuts are also handled for this.
https://github.com/user-attachments/assets/1c9add4e-f13f-458b-8f76-63bd868413a2
https://github.com/user-attachments/assets/e72b6ee3-74e4-4517-a230-3eb10db80dc7
Note: we do have one other issue with FullName field #6740 Inorder to
test use **shift**.
- [x] Api Keys Input Name Field -> New and Detail View Name field
shouldn't be empty or string with whitespaces, we won't able to have
whitespaces in both. **Try Entering just spaces**
https://github.com/user-attachments/assets/b521b49f-648c-4585-9d15-8ff4faed3c3a
- [x] Similar to above, Empty webhook endpoint url under
**/settings/developers/webhooks/new** won't be created. **Try Entering
just spaces**
- [x] New Functions or Updating Functions will not able to have
whitespaces, empty string as Name. **Try Entering just spaces**
https://github.com/user-attachments/assets/09fcf394-c6d9-4080-8efd-462b054a22d0
- [x] under **settings/workspace-members** changes will lead and solve
that user won't be able to enter Invite by email as just whitespaces +
button is now getting disabled when there is no correct email. **Try
Entering just spaces**
https://github.com/user-attachments/assets/b352edfa-113b-4645-80fd-db6f120ab5db
- [x] Text Input Field, will not allow to start entering with
whitespaces and won't take just whitespaces as value spaces between
words will work.
https://github.com/user-attachments/assets/8c1a0812-45be-4ed2-bd3d-bb4f92147976
- [x] Similarly Number works as per above including shortcuts.
https://github.com/user-attachments/assets/9f69cc87-5c3c-43ee-93c4-fa887bc0d7ee
- [x] Similarly FullName field works as per above including shortcuts
https://github.com/user-attachments/assets/7bb006b2-abf7-44cd-a214-7a2fc68df169
- [x] Pasting fullName is been Improved.
- Case 1 (Two Words): If there are exactly two words, return them as is.
- Case 2 (More than Two Words): If there are more than two words, return
the first two words only.
- Case 3 (One Word): If there is only one word, return it as the first
name, with an empty string as the last name.
- WhiteSpaces have been handled.
```
console.log(splitFullName("John Doe")); // ["John", "Doe"]
console.log(splitFullName(" ")); // ["", ""]
console.log(splitFullName("John")); // ["John", ""]
console.log(splitFullName(" John Doe ")); // ["John", "Doe"]
console.log(splitFullName("John Michael Andrew Doe")); // ["John", "Michael"]
```
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-09-20 21:25:50 +02:00
56f8091a42
Fix CI errored tasks for front ( #6806 )
...
In this PR:
- revert de-optimization of icons bundle for storybook. This was forcing
the browser to load ~3k files while running stories
- adding lazy loading on Settings route to improve developer experience
(some files will be loaded later)
- fix FE tests: unit, modules stories, pages stories
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-08-31 01:40:06 +02:00
94c2358c89
#6094 Prevent creating a custom field with an existing name ( #6100 )
...
Fixes #6094
Description: Added logic inside SettingsObjectNewFieldStep2.tsx to
prevent form submission
Current Behaviours:
<img width="947" alt="Screenshot 2024-07-03 at 1 45 31 PM"
src="https://github.com/twentyhq/twenty/assets/95612797/bef54bc4-fc83-48f3-894a-34445ec64723 ">
---------
Co-authored-by: Marie Stoppa <marie.stoppa@essec.edu >
2024-07-17 11:43:57 +02:00
6cd154aac6
Forbid names above 63 characters to comply with pg identifier limit ( #6095 )
...
Fixes #6032 .
Pg has a char limit on identifiers (= table, columns, enum names) of 63
bytes.
Let's limit the metadata names that will be converted to identifiers
(objects names, fields names, relation names, enum values) to 63 chars.
For the sake of simplicity in the FE we will limit the input length of
labels.
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-07-04 15:32:42 +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
e9d3ed99ca
5078 ability to invite team members ( #5750 )
...
## Added features
- update team member setting page
- add a section to send invitation by email
- add a new invitation email
- update email font to 'Trebuchet MS' as Google Inter font is not
working, we need to use a web safe font
https://templates.mailchimp.com/design/typography/
## Demo
https://github.com/twentyhq/twenty/assets/29927851/c731d883-1599-4281-87e3-0671f36994ae
## Invitation Email

2024-06-05 16:35:14 +02:00
1b2ed80c1c
[feat][Remote objects] Edit a connection (for pg) ( #5210 )
...
## Context
#4774
## How was it tested
Locally
## In further PRs
- Update connection status upon page change
- Adapt Info banner to dark mode
- placeholders for form
2024-04-30 17:46:30 +02:00
68662fa543
[refacto] Introduce stateless TextInputV2 ( #5013 )
...
## Context
As discussed with @lucasbordeau and @charlesBochet we are looking at
making low level UI components stateless when possible.
Therefore TextInput should not handle a hotkey state. Instead hotkeys
should be defined in the parent component (as done here in
CreateProfile).
Introducing here TextInputV2 that is stateless and that can already
replace TextInput without any behaviour change everywhere it is used
with `disableHotkey` prop.
## How was it tested?
Locally + Storybook
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-04-22 11:19:41 +02:00