PublicationSelection() — supabase Function Reference
Architecture documentation for the PublicationSelection() function in PublicationSelection.tsx from the supabase codebase.
Entity Profile
Relationship Graph
Source Code
apps/studio/components/interfaces/Database/Replication/DestinationPanel/DestinationForm/PublicationSelection.tsx lines 19–68
export const PublicationSelection = ({
form,
sourceId,
visible,
onSelectNewPublication,
}: PublicationSelectionProps) => {
const { ref: projectRef } = useParams()
const { publicationName } = form.watch()
const {
data: publications = [],
isPending: isLoadingPublications,
isSuccess: isSuccessPublications,
} = useReplicationPublicationsQuery({ projectRef, sourceId })
const publicationNames = useMemo(() => publications?.map((pub) => pub.name) ?? [], [publications])
const isSelectedPublicationMissing =
isSuccessPublications && !!publicationName && !publicationNames.includes(publicationName)
return (
<FormField_Shadcn_
control={form.control}
name="publicationName"
render={({ field }) => (
<FormItemLayout
layout="horizontal"
label="Publication"
description="Tables in the selected publication will be replicated to this destination"
>
<FormControl_Shadcn_>
<PublicationsComboBox
publications={publications}
isLoadingPublications={isLoadingPublications}
field={field}
onNewPublicationClick={() => onSelectNewPublication()}
/>
</FormControl_Shadcn_>
{isSelectedPublicationMissing && (
<Admonition type="warning" className="mt-2">
<p className="!leading-normal">
The publication <strong className="text-foreground">{publicationName}</strong> was
not found, it may have been renamed or deleted, please select another one.
</p>
</Admonition>
)}
</FormItemLayout>
)}
/>
)
}
Domain
Subdomains
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free