feat: custom admin buttons (#2618)
Co-authored-by: Dan Ribbens <dan.ribbens@gmail.com>
This commit is contained in:
@@ -147,12 +147,12 @@ const DefaultAccount: React.FC<Props> = (props) => {
|
||||
{(preview && (!collection.versions?.drafts || collection.versions?.drafts?.autosave)) && (
|
||||
<PreviewButton
|
||||
generatePreviewURL={preview}
|
||||
CustomComponent={collection?.admin?.components?.elements?.PreviewButton}
|
||||
CustomComponent={collection?.admin?.components?.edit?.PreviewButton}
|
||||
/>
|
||||
)}
|
||||
{hasSavePermission && (
|
||||
<Save
|
||||
CustomComponent={collection?.admin?.components?.elements?.SaveButton}
|
||||
CustomComponent={collection?.admin?.components?.edit?.SaveButton}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -216,7 +216,7 @@ const DefaultEditView: React.FC<Props> = (props) => {
|
||||
{(isEditing && preview && (!collection.versions?.drafts || collection.versions?.drafts?.autosave)) && (
|
||||
<PreviewButton
|
||||
generatePreviewURL={preview}
|
||||
CustomComponent={collection?.admin?.components?.elements?.PreviewButton}
|
||||
CustomComponent={collection?.admin?.components?.edit?.PreviewButton}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -225,17 +225,15 @@ const DefaultEditView: React.FC<Props> = (props) => {
|
||||
{collection.versions?.drafts ? (
|
||||
<React.Fragment>
|
||||
{!collection.versions.drafts.autosave && (
|
||||
<SaveDraft CustomComponent={collection?.admin?.components?.elements?.SaveDraftButton} />
|
||||
<SaveDraft CustomComponent={collection?.admin?.components?.edit?.SaveDraftButton} />
|
||||
)}
|
||||
|
||||
<Publish
|
||||
CustomComponent={collection?.admin?.components?.elements?.PublishButton}
|
||||
CustomComponent={collection?.admin?.components?.edit?.PublishButton}
|
||||
/>
|
||||
</React.Fragment>
|
||||
) : (
|
||||
<Save
|
||||
CustomComponent={collection?.admin?.components?.elements?.SaveButton}
|
||||
/>
|
||||
<Save CustomComponent={collection?.admin?.components?.edit?.SaveButton} />
|
||||
)}
|
||||
</React.Fragment>
|
||||
)}
|
||||
@@ -245,7 +243,7 @@ const DefaultEditView: React.FC<Props> = (props) => {
|
||||
{(isEditing && preview && (collection.versions?.drafts && !collection.versions?.drafts?.autosave)) && (
|
||||
<PreviewButton
|
||||
generatePreviewURL={preview}
|
||||
CustomComponent={collection?.admin?.components?.elements?.PreviewButton}
|
||||
CustomComponent={collection?.admin?.components?.edit?.PreviewButton}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ const collectionSchema = joi.object().keys({
|
||||
List: componentSchema,
|
||||
Edit: componentSchema,
|
||||
}),
|
||||
elements: joi.object({
|
||||
edit: joi.object({
|
||||
SaveButton: componentSchema,
|
||||
PublishButton: componentSchema,
|
||||
SaveDraftButton: componentSchema,
|
||||
|
||||
@@ -194,7 +194,10 @@ export type CollectionAdminOptions = {
|
||||
* Custom admin components
|
||||
*/
|
||||
components?: {
|
||||
elements?: {
|
||||
/**
|
||||
* Components within the edit view
|
||||
*/
|
||||
edit?: {
|
||||
/**
|
||||
* Replaces the "Save" button
|
||||
* + drafts must be disabled
|
||||
|
||||
Reference in New Issue
Block a user