feat: relation field and picker
This commit is contained in:
1 parent
b45c99be3b
commit
37a77c9c22
92 files changed
+6826
-80
No files matched your search
@@ -6,6 +6,7 @@ import EntryField from '@/components/EntryField.vue'
|
||||
import type { BuiltinField } from '@/lib/contentTypes'
|
||||
import type { EntryIssues, EntryValues } from '@/lib/entryForm'
|
||||
import type { MediaMap, MediaSummary } from '@/lib/mediaField'
|
||||
import type { RelationSummaries, RelationSummary } from '@/lib/relationField'
|
||||
import { groupFields } from '@/lib/entryLayout'
|
||||
|
||||
const FOCUSABLE =
|
||||
@@ -15,6 +16,8 @@ const props = defineProps<{
|
||||
fields: BuiltinField[]
|
||||
values: EntryValues
|
||||
images: MediaMap
|
||||
relations: RelationSummaries
|
||||
typeName: string
|
||||
issues: EntryIssues
|
||||
firstIssue: string | null
|
||||
focusToken: number
|
||||
@@ -28,7 +31,12 @@ const props = defineProps<{
|
||||
}>()
|
||||
|
||||
const emit = defineEmits<{
|
||||
update: [key: string, value: unknown, image?: MediaSummary | null]
|
||||
update: [
|
||||
key: string,
|
||||
value: unknown,
|
||||
image?: MediaSummary | null,
|
||||
relations?: RelationSummary[],
|
||||
]
|
||||
submit: []
|
||||
}>()
|
||||
|
||||
@@ -73,10 +81,14 @@ watch(() => props.focusToken, focusFirstIssue)
|
||||
:field="field"
|
||||
:value="values[field.key]"
|
||||
:image="images[field.key] ?? null"
|
||||
:relations="relations[field.key] ?? []"
|
||||
:type-name="typeName"
|
||||
:issue="issues[field.key]"
|
||||
:is-default="isDefault(field)"
|
||||
:disabled="locked"
|
||||
@update="(key, value, image) => emit('update', key, value, image)"
|
||||
@update="
|
||||
(key, value, image, summaries) => emit('update', key, value, image, summaries)
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in new issue
Block a user