Add Contact standard object, related lists, meilisearch, pagination, search, AI assistant
This commit is contained in:
@@ -21,11 +21,13 @@ interface Props {
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
baseUrl: '/central',
|
||||
// Default to runtime objects endpoint; override when consuming central entities
|
||||
baseUrl: '/runtime/objects',
|
||||
})
|
||||
|
||||
const emit = defineEmits<{
|
||||
'update:modelValue': [value: any]
|
||||
'update:relatedFields': [value: Record<string, any>]
|
||||
}>()
|
||||
|
||||
const { api } = useApi()
|
||||
@@ -39,6 +41,10 @@ const isReadOnly = computed(() => props.readonly || props.field.isReadOnly || pr
|
||||
const isEditMode = computed(() => props.mode === ViewMode.EDIT)
|
||||
const isListMode = computed(() => props.mode === ViewMode.LIST)
|
||||
const isDetailMode = computed(() => props.mode === ViewMode.DETAIL)
|
||||
const relationTypeValue = computed(() => {
|
||||
if (!props.field.relationTypeField) return null
|
||||
return props.recordData?.[props.field.relationTypeField] ?? null
|
||||
})
|
||||
|
||||
// Check if field is a relationship field
|
||||
const isRelationshipField = computed(() => {
|
||||
@@ -99,6 +105,13 @@ const formatValue = (val: any): string => {
|
||||
return String(val)
|
||||
}
|
||||
}
|
||||
|
||||
const handleRelationTypeUpdate = (value: string | null) => {
|
||||
if (!props.field.relationTypeField) return
|
||||
emit('update:relatedFields', {
|
||||
[props.field.relationTypeField]: value,
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -161,7 +174,9 @@ const formatValue = (val: any): string => {
|
||||
v-if="field.type === FieldType.BELONGS_TO"
|
||||
:field="field"
|
||||
v-model="value"
|
||||
:relation-type-value="relationTypeValue"
|
||||
:base-url="baseUrl"
|
||||
@update:relation-type-value="handleRelationTypeUpdate"
|
||||
/>
|
||||
|
||||
<!-- Text Input -->
|
||||
|
||||
Reference in New Issue
Block a user