Files
zeekay 09c5e16c5c feat: rebrand all packages to @hanzo/cms scope (Payload v3.85.2 fork)
- payload -> @hanzo/cms (core), bin payload -> hanzo-cms
- create-payload-app -> @hanzo/create-cms-app
- @payloadcms/<x> -> @hanzo/cms-<x> across the whole dependency graph
- 3545 files, 72 package.json, 4419 scoped refs, 3852 core import specifiers, 82 scss imports
- MIT attribution to Payload CMS Inc. preserved (LICENSE.md, author emails)

Upstream: github.com/payloadcms/payload @ v3.85.2 (MIT)
2026-07-01 17:56:00 -07:00

58 lines
1.5 KiB
TypeScript

'use client'
import { useField } from '@hanzo/cms-ui'
import * as React from 'react'
import { collection1Slug } from '../slugs.js'
export const PopulateFieldButton: React.FC<{
hasMany?: boolean
hasMultipleRelations?: boolean
path?: string
targetFieldPath: string
}> = ({ hasMany = true, hasMultipleRelations = false, targetFieldPath }) => {
const { setValue } = useField({ path: targetFieldPath })
const addDefaults = React.useCallback(() => {
const fetchRelationDocs = async () => {
const res = await fetch(
`/api/${collection1Slug}?limit=20&where[name][contains]=relationship-test`,
)
const json = await res.json()
if (hasMany) {
const docIDs = json.docs.map((doc) => {
if (hasMultipleRelations) {
return {
relationTo: collection1Slug,
value: doc.id,
}
}
return doc.id
})
setValue(docIDs)
} else {
// value that does not appear in first 10 docs fetch
setValue(json.docs[6].id)
}
}
// eslint-disable-next-line @typescript-eslint/no-floating-promises
fetchRelationDocs()
}, [setValue, hasMultipleRelations, hasMany])
return (
<div
className="pre-populate-field-ui"
style={{
alignItems: 'center',
display: 'flex',
justifyContent: 'center',
}}
>
<button onClick={addDefaults} style={{}} type="button">
Add default items
</button>
</div>
)
}