diff --git a/app/src/interfaces/user/index.ts b/app/src/interfaces/user/index.ts index 7e382d311d..f6ee9512c4 100644 --- a/app/src/interfaces/user/index.ts +++ b/app/src/interfaces/user/index.ts @@ -7,5 +7,26 @@ export default defineInterface(({ i18n }) => ({ icon: 'person', component: InterfaceUser, types: ['uuid'], - options: [], + options: [ + { + field: 'selectMode', + name: i18n.t('select_mode'), + type: 'string', + meta: { + width: 'full', + interface: 'dropdown', + options: { + choices: [ + { text: 'Auto', value: 'auto' }, + { text: 'Dropdown', value: 'dropdown' }, + { text: 'Modal', value: 'modal' }, + ], + }, + }, + schema: { + default_value: 'auto', + }, + }, + ], + recommendedDisplays: ['user'], })); diff --git a/app/src/interfaces/user/user.vue b/app/src/interfaces/user/user.vue index b49df61fe7..c24869f1da 100644 --- a/app/src/interfaces/user/user.vue +++ b/app/src/interfaces/user/user.vue @@ -102,7 +102,7 @@ export default defineComponent({ components: { ModalDetail, ModalBrowse }, props: { value: { - type: [Number, Object], + type: [String, Object], default: null, }, template: { @@ -162,7 +162,7 @@ export default defineComponent({ (newValue) => { // When the newly configured value is a primitive, assume it's the primary key // of the item and fetch it from the API to render the preview - if (newValue !== null && newValue !== currentUser.value?.id && typeof newValue === 'number') { + if (newValue !== null && newValue !== currentUser.value?.id && typeof newValue === 'string') { fetchCurrent(); } diff --git a/app/src/lang/en-US/index.json b/app/src/lang/en-US/index.json index ef0fb5644d..94b1e05831 100644 --- a/app/src/lang/en-US/index.json +++ b/app/src/lang/en-US/index.json @@ -314,6 +314,7 @@ "slug": "Slug", "repeater": "Repeater", "max-amount": "Max Amount", + "select_mode": "Select Mode", "months": { "january": "January",