MM-62699 Add additional property types to user profile form (#30317)

* fix for testing with server

* revert feature flag

* user settings to handle other property types

* lint fixes

* update css so container will grow with several multiselect values

* change CPASelectOption to PropertyFieldOption

* lint fix

* lint and style fix

* review fixes

* fixes for change in UserPropertyFields

* update url validation

* update url validation

* update unit test

* Update webapp/channels/src/components/user_settings/general/user_settings_general.tsx

Co-authored-by: Caleb Roseland <caleb@calebroseland.com>

* fix: Handle missing options in user settings attribute rendering

* update handling of single/multi values

* remove unused file

* partially update properties

* make attrs property required

* revert change to user_properties_utils.ts

* fix bad merge

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
Этот коммит содержится в:
Scott Bishel
2025-04-02 15:15:14 -06:00
коммит произвёл GitHub
родитель 65343f84a7
Коммит c417ac1b57
10 изменённых файлов: 403 добавлений и 60 удалений

Просмотреть файл

@@ -2106,8 +2106,8 @@ export default class Client4 {
);
};
updateCustomProfileAttributeValues = (attributeValues: Record<string, string>) => {
return this.doFetch<Record<string, string>>(
updateCustomProfileAttributeValues = (attributeValues: Record<string, string | string[]>) => {
return this.doFetch<Record<string, string | string[]>>(
`${this.getCustomProfileAttributeValuesRoute()}`,
{method: 'PATCH', body: JSON.stringify(attributeValues)},
);

Просмотреть файл

@@ -34,7 +34,9 @@ export type PropertyValue<T> = {
delete_at: number;
}
export type UserPropertyFieldType = 'text' | 'select' | 'multiselect';
export type UserPropertyFieldGroupID = 'custom_profile_attributes';
export type UserPropertyValueType = 'phone' | 'url' | '';
export type FieldVisibility = 'always' | 'hidden' | 'when_set';
export type FieldValueType =

Просмотреть файл

@@ -61,7 +61,7 @@ export type UserProfile = {
remote_id?: string;
status?: string;
failed_attempts?: number;
custom_profile_attributes?: Record<string, string>;
custom_profile_attributes?: Record<string, string | string[]>;
};
export type UserProfileWithLastViewAt = UserProfile & {