@progress/sitefinity-nextjs-sdk
Version:
Provides OOB widgets developed using the Next.js framework, which includes an abstraction layer for Sitefinity communication. Additionally, it offers an expanded API, typings, and tools for further development and integration.
718 lines (717 loc) • 24.9 kB
JavaScript
import { ContentBlock } from './content-block/content-block';
import { ContentList } from './content-list/content-list';
import { CallToAction } from './call-to-action/call-to-action';
import { Classification } from './classification/classification';
import { Image } from './image/image';
import { Breadcrumb } from './breadcrumb/breadcrumb';
import { Navigation } from './navigation/navigation';
import { SearchBox } from './search-box/search-box';
import { LoginForm } from './login-form/login-form';
import { ChangePassword } from './change-password/change-password';
import { ResetPassword } from './reset-password/reset-password';
import { Registration } from './registration/registration';
import { LanguageSelector } from './language-selector/language-selector';
import { Section } from './section/section';
import { DocumentList } from './document-list/document-list';
import { SearchResults } from './search-results/search-results';
import { SearchFacets } from './search-facets/search-facets';
import { Form } from './form/form';
import { FormSection } from './form-widgets/section/section';
import { Checkboxes } from './form-widgets/checkboxes/checkboxes';
import { FormContentBlock } from './form-widgets/content-block/content-block';
import { Dropdown } from './form-widgets/dropdown/dropdown';
import { DynamicList } from './form-widgets/dynamic-list/dynamic-list';
import { FileUpload } from './form-widgets/file-upload/file-upload';
import { MultipleChoice } from './form-widgets/multiple-choice/multiple-choice';
import { Paragraph } from './form-widgets/paragraph/paragraph';
import { SubmitButton } from './form-widgets/submit-button/submit-button';
import { TextField } from './form-widgets/textfield/textfield';
import { ClassificationEntity } from './classification/classification-entity';
import { ContentListEntity } from './content-list/content-list-entity';
import { SectionEntity } from './section/section.entity';
import { ImageEntity } from './image/image.entity';
import { ContentBlockEntity } from './content-block/content-block.entity';
import { SearchFacetsEntity } from './search-facets/search-facets.entity';
import { BreadcrumbEntity } from './breadcrumb/breadcrumb.entity';
import { DocumentListEntity } from './document-list/document-list-entity';
import { NavigationEntity } from './navigation/navigation.entity';
import { LoginFormEntity } from './login-form/login-form.entity';
import { ResetPasswordEntity } from './reset-password/reset-password.entity';
import { RegistrationEntity } from './registration/registration.entity';
import { ChangePasswordEntity } from './change-password/change-password.entity';
import { FormEntity } from './form/form.entity';
import { SearchResultsEntity } from './search-results/search-results.entity';
import { SearchBoxEntity } from './search-box/search-box.entity';
import { CallToActionEntity } from './call-to-action/call-to-action.entity';
import { CheckboxesEntity } from './form-widgets/checkboxes/checkboxes.entity';
import { DropdownEntity } from './form-widgets/dropdown/dropdown.entity';
import { FileUploadEntity } from './form-widgets/file-upload/file-upload.entity';
import { MultipleChoiceEntity } from './form-widgets/multiple-choice/multiple-choice.entity';
import { SubmitButtonEntity } from './form-widgets/submit-button/submit-button.entity';
import { ParagraphEntity } from './form-widgets/paragraph/paragraph.entity';
import { TextFieldEntity } from './form-widgets/textfield/text-field.entity';
import { FormSectionEntity } from './form-widgets/section/section.entity';
import { FormContentBlockEntity } from './form-widgets/content-block/content-block.entity';
import { DynamicListEntity } from './form-widgets/dynamic-list/dynamic-list.entity';
import { BlogPostDetailView } from './content-list/detail/content-list-detail.blog-post.view';
import { DynamicDetailView } from './content-list/detail/content-list-detail.dynamic.view';
import { EventDetailView } from './content-list/detail/content-list-detail.event.view';
import { ListItemDetailView } from './content-list/detail/content-list-detail.list-item.view';
import { NewsItemDetailView } from './content-list/detail/content-list-detail.news.view';
import { CardsListView } from './content-list/master/cards-list/cards-list.view';
import { ListWithImageView } from './content-list/master/list-with-image/list-with-image.view';
import { ListWithSummaryView } from './content-list/master/list-with-summary/list-with-summary.view';
import { DocumentDetailItemView } from './document-list/document-list-detail-item.view';
import { DocumentListGridView } from './document-list/document-list-grid.view';
import { DocumentListListView } from './document-list/document-list-list.view';
import { FormCSR } from './form/form.csr';
import { DynamicListCSR } from './form-widgets/dynamic-list/dynamic-list.csr';
import { LanguageSelectorEntity } from './language-selector/language-selector-entity';
import { ProfileEntity } from './profile/profile.entity';
import { Profile } from './profile/profile';
export const CSRFormComponents = {
'SitefinityForm': {
entity: FormEntity,
componentType: FormCSR,
editorMetadata: {
Title: 'Form',
EmptyIcon: 'plus-circle',
EmptyIconAction: 'Edit',
EmptyIconText: 'Select a form',
Category: 'Content',
Section: 'Basic',
HasQuickEditOperation: true,
InitialProperties: {
ContentViewDisplayMode: 'Detail'
}
},
ssr: false
},
'SitefinityFormSection': {
entity: FormSectionEntity,
componentType: FormSection,
editorMetadata: {
Title: 'Section',
Toolbox: 'Forms',
Category: 'Layout',
InitialProperties: {
SfFieldType: 'FormSection'
}
},
ssr: false
},
'SitefinityTextField': {
entity: TextFieldEntity,
componentType: TextField,
editorMetadata: {
Title: 'Textbox',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Basic',
InitialProperties: {
SfFieldType: 'ShortText'
}
},
ssr: false
},
'SitefinityParagraph': {
entity: ParagraphEntity,
componentType: Paragraph,
editorMetadata: {
Title: 'Paragraph',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Basic',
InitialProperties: {
SfFieldType: 'Paragraph'
}
},
ssr: false
},
'SitefinitySubmitButton': {
entity: SubmitButtonEntity,
componentType: SubmitButton,
editorMetadata: {
Title: 'Submit button',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Basic',
InitialProperties: {
SfFieldType: 'SubmitButton'
}
},
ssr: false
},
'SitefinityMultipleChoice': {
entity: MultipleChoiceEntity,
componentType: MultipleChoice,
editorMetadata: {
Title: 'Multiple choice',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'MultipleChoice'
}
},
ssr: false
},
'SitefinityCheckboxes': {
entity: CheckboxesEntity,
componentType: Checkboxes,
editorMetadata: {
Title: 'Checkboxes',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'Checkboxes'
}
},
ssr: false
},
'SitefinityDropdown': {
entity: DropdownEntity,
componentType: Dropdown,
editorMetadata: {
Title: 'Dropdown',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'Dropdown'
}
},
ssr: false
},
'SitefinityDynamicList': {
entity: DynamicListEntity,
componentType: DynamicListCSR,
editorMetadata: {
Title: 'Dynamic list',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'Checkboxes'
}
},
ssr: false
},
'SitefinityFileField': {
entity: FileUploadEntity,
componentType: FileUpload,
editorMetadata: {
Title: 'File upload',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Other',
InitialProperties: {
SfFieldType: 'File'
}
},
ssr: false
},
'SitefinityFormContentBlock': {
entity: FormContentBlockEntity,
componentType: FormContentBlock,
editorMetadata: {
Title: 'Content block',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Other',
InitialProperties: {
SfFieldType: 'ContentBlock'
},
IconName: 'content-block'
},
ssr: false
}
};
export const SSRFormComponents = {
'SitefinityForm': {
entity: FormEntity,
componentType: Form,
editorMetadata: {
Title: 'Form',
EmptyIcon: 'plus-circle',
EmptyIconAction: 'Edit',
EmptyIconText: 'Select a form',
Category: 'Content',
Section: 'Basic',
HasQuickEditOperation: true,
IconName: 'form',
InitialProperties: {
ContentViewDisplayMode: 'Detail'
}
},
ssr: true
},
'SitefinityFormSection': {
entity: FormSectionEntity,
componentType: FormSection,
editorMetadata: {
Title: 'Section',
Toolbox: 'Forms',
Category: 'Layout',
InitialProperties: {
SfFieldType: 'FormSection'
},
IconName: 'section'
},
ssr: true
},
'SitefinityTextField': {
entity: TextFieldEntity,
componentType: TextField,
editorMetadata: {
Title: 'Textbox',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Basic',
InitialProperties: {
SfFieldType: 'ShortText'
},
IconName: 'textbox'
},
ssr: true
},
'SitefinityParagraph': {
entity: ParagraphEntity,
componentType: Paragraph,
editorMetadata: {
Title: 'Paragraph',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Basic',
InitialProperties: {
SfFieldType: 'Paragraph'
},
IconName: 'paragraph'
},
ssr: true
},
'SitefinitySubmitButton': {
entity: SubmitButtonEntity,
componentType: SubmitButton,
editorMetadata: {
Title: 'Submit button',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Basic',
InitialProperties: {
SfFieldType: 'SubmitButton'
},
IconName: 'button'
},
ssr: true
},
'SitefinityMultipleChoice': {
entity: MultipleChoiceEntity,
componentType: MultipleChoice,
editorMetadata: {
Title: 'Multiple choice',
Toolbox: 'Forms',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'MultipleChoice'
},
IconName: 'multiple-choice'
},
ssr: true
},
'SitefinityCheckboxes': {
entity: CheckboxesEntity,
componentType: Checkboxes,
editorMetadata: {
Title: 'Checkboxes',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'Checkboxes'
},
IconName: 'checkboxes'
},
ssr: true
},
'SitefinityDropdown': {
entity: DropdownEntity,
componentType: Dropdown,
editorMetadata: {
Title: 'Dropdown',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'Dropdown'
},
IconName: 'dropdown'
},
ssr: true
},
'SitefinityDynamicList': {
entity: DynamicListEntity,
componentType: DynamicList,
editorMetadata: {
Title: 'Dynamic list',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Choices',
InitialProperties: {
SfFieldType: 'Checkboxes'
},
IconName: 'dropdown'
},
ssr: true
},
'SitefinityFileField': {
entity: FileUploadEntity,
componentType: FileUpload,
editorMetadata: {
Title: 'File upload',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Other',
InitialProperties: {
SfFieldType: 'File'
},
IconName: 'file-upload'
},
ssr: true
},
'SitefinityFormContentBlock': {
entity: FormContentBlockEntity,
componentType: FormContentBlock,
editorMetadata: {
Title: 'Content block',
Toolbox: 'Forms',
Category: 'Content',
Section: 'Other',
InitialProperties: {
SfFieldType: 'ContentBlock'
},
IconName: 'content-block'
},
ssr: true
}
};
export const defaultWidgetRegistry = {
widgets: {
'SitefinityContentBlock': {
entity: ContentBlockEntity,
componentType: ContentBlock,
editorMetadata: {
Title: 'Content block',
Category: 'Content',
Section: 'Basic',
HasQuickEditOperation: true,
IconName: 'content-block'
},
ssr: true
},
'SitefinityImage': {
entity: ImageEntity,
componentType: Image,
editorMetadata: {
Title: 'Image',
Category: 'Content',
Section: 'Basic',
EmptyIcon: 'picture-o',
EmptyIconAction: 'Edit',
EmptyIconText: 'Select image',
HasQuickEditOperation: true,
IconName: 'image'
},
ssr: true
},
'SitefinityButton': {
entity: CallToActionEntity,
componentType: CallToAction,
editorMetadata: {
Title: 'Call to action',
Category: 'Content',
Section: 'Basic',
EmptyIconText: 'Create call to action',
HasQuickEditOperation: true,
IconName: 'call-to-action'
},
ssr: true
},
'SitefinityContentList': {
entity: ContentListEntity,
componentType: ContentList,
editorMetadata: {
Title: 'Content list',
Category: 'Content',
Section: 'Lists',
EmptyIconText: 'Select content',
EmptyIcon: 'plus-circle',
IconName: 'content-list',
WidgetBehavior: {
IsContentLocation: true
}
},
ssr: true,
views: {
'ListWithImage': {
Title: 'List with image',
ViewFunction: ListWithImageView
},
'ListWithSummary': {
Title: 'List with summary',
ViewFunction: ListWithSummaryView
},
'CardsList': {
Title: 'Cards list',
ViewFunction: CardsListView
},
'Details.BlogPosts.Default': {
Title: 'Details.Blog posts.Default',
ViewFunction: BlogPostDetailView
},
'Details.Dynamic.Default': DynamicDetailView,
'Details.Events.Default': EventDetailView,
'Details.ListItems.Default': {
Title: 'Details.List items.Default',
ViewFunction: ListItemDetailView
},
'Details.News.Default': NewsItemDetailView
}
},
'SitefinityDocumentList': {
entity: DocumentListEntity,
componentType: DocumentList,
editorMetadata: {
Title: 'Document list',
EmptyIconText: 'Select documents',
EmptyIcon: 'plus-circle',
Category: 'Content',
Section: 'Lists',
EmptyIconAction: 'Edit',
HasQuickEditOperation: true,
IconName: 'document',
WidgetBehavior: {
IsContentLocation: true
}
},
ssr: true,
views: {
'DocumentList': {
Title: 'Document list',
ViewFunction: DocumentListListView
},
'DocumentTable': {
Title: 'Document table',
ViewFunction: DocumentListGridView
},
'Details.DocumentDetails': {
Title: 'Details.Document details',
ViewFunction: DocumentDetailItemView
}
}
},
'SitefinityNavigation': {
entity: NavigationEntity,
componentType: Navigation,
editorMetadata: {
Title: 'Navigation',
Category: 'Content',
Section: 'Navigation and search',
EmptyIcon: 'tag',
EmptyIconAction: 'None',
EmptyIconText: 'No pages have been published',
HasQuickEditOperation: true,
IconName: 'navigation'
},
ssr: true
},
'SitefinityBreadcrumb': {
entity: BreadcrumbEntity,
componentType: Breadcrumb,
editorMetadata: {
Title: 'Breadcrumb',
Category: 'Content',
Section: 'Navigation and search',
HasQuickEditOperation: true,
IconName: 'breadcrumb'
},
ssr: true
},
'SitefinitySearchBox': {
entity: SearchBoxEntity,
componentType: SearchBox,
editorMetadata: {
Title: 'Search box',
Category: 'Content',
Section: 'Navigation and search',
EmptyIcon: 'search',
EmptyIconText: 'Set where to search',
HasQuickEditOperation: true,
IconName: 'search'
},
ssr: true
},
'SitefinitySearchResults': {
entity: SearchResultsEntity,
componentType: SearchResults,
editorMetadata: {
Title: 'Search results',
EmptyIconText: 'Search results',
EmptyIcon: 'search',
Category: 'Content',
Section: 'Navigation and search',
HasQuickEditOperation: true,
IconName: 'search',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityFacets': {
entity: SearchFacetsEntity,
componentType: SearchFacets,
editorMetadata: {
Title: 'Search facets',
EmptyIconText: 'Select search facets',
EmptyIcon: 'search',
Category: 'Content',
Section: 'Navigation and search',
HasQuickEditOperation: true,
IconName: 'search',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityClassification': {
entity: ClassificationEntity,
componentType: Classification,
editorMetadata: {
Title: 'Classification',
Category: 'Content',
Section: 'Navigation and search',
EmptyIconText: 'Select classification',
HasQuickEditOperation: true,
IconName: 'classification',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityLanguageSelector': {
entity: LanguageSelectorEntity,
componentType: LanguageSelector,
editorMetadata: {
Title: 'Language selector',
Category: 'Content',
Section: 'Navigation and search',
HasQuickEditOperation: true,
HideEmptyVisual: true,
IconName: 'language',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityLoginForm': {
entity: LoginFormEntity,
componentType: LoginForm,
editorMetadata: {
Title: 'Login form',
Section: 'Login and users',
Category: 'Content',
EmptyIconAction: 'Edit',
HasQuickEditOperation: true,
IconName: 'login',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityRegistration': {
entity: RegistrationEntity,
componentType: Registration,
editorMetadata: {
Title: 'Registration form',
Section: 'Login and users',
Category: 'Content',
EmptyIconAction: 'Edit',
HasQuickEditOperation: true,
IconName: 'registration',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityProfile': {
entity: ProfileEntity,
componentType: Profile,
editorMetadata: {
Title: 'Profile',
Section: 'Login and users',
Category: 'Content',
EmptyIconAction: 'Edit',
HasQuickEditOperation: true,
IconName: 'profile',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityResetPassword': {
entity: ResetPasswordEntity,
componentType: ResetPassword,
editorMetadata: {
Title: 'Reset password',
Section: 'Login and users',
Category: 'Content',
EmptyIconAction: 'Edit',
HasQuickEditOperation: true,
IconName: 'password',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinityChangePassword': {
entity: ChangePasswordEntity,
componentType: ChangePassword,
editorMetadata: {
Title: 'Change password',
Section: 'Login and users',
Category: 'Content',
EmptyIconAction: 'Edit',
HasQuickEditOperation: true,
IconName: 'password',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
'SitefinitySection': {
entity: SectionEntity,
componentType: Section,
editorMetadata: {
Title: 'Section',
Category: 'Layout',
Section: 'Empty section',
IconName: 'section',
WidgetBehavior: {
NotPersonalizable: true
}
},
ssr: true
},
...SSRFormComponents
}
};