Custom section
3 |This section is just a Blazor Component.
4 |├── src
├── RapidCMS.Core.Tests
│ ├── .editorconfig
│ └── Services
│ │ └── Dispatchers
│ │ └── TestClasses.cs
├── RapidCMS.UI
│ ├── Components
│ │ ├── Preview
│ │ │ ├── NoPreview.razor
│ │ │ └── BasePreview.cs
│ │ ├── App.razor
│ │ ├── Displays
│ │ │ ├── LabelDisplay.razor
│ │ │ ├── PreDisplay.razor
│ │ │ └── LinkDisplay.razor
│ │ ├── Shared
│ │ │ ├── EmptyLayout.razor
│ │ │ ├── MainLayout.razor
│ │ │ ├── Tree
│ │ │ │ ├── Page.razor
│ │ │ │ └── Page.razor.cs
│ │ │ ├── Login.razor
│ │ │ ├── TopBar.razor
│ │ │ └── NavMenu.razor
│ │ ├── Panes
│ │ │ ├── SidePane.razor
│ │ │ └── BaseSidePane.cs
│ │ ├── Editors
│ │ │ ├── ReadonlyEditor.razor
│ │ │ ├── BaseMultiplePickerEditor.cs
│ │ │ ├── BaseRelationEditor.cs
│ │ │ ├── TextBoxEditor.razor
│ │ │ ├── BaseDataEditor.cs
│ │ │ ├── TextAreaEditor.razor
│ │ │ ├── CheckboxEditor.razor
│ │ │ └── DateEditor.razor
│ │ ├── Pages
│ │ │ ├── UnauthorizedPage.razor
│ │ │ ├── CmsPage.razor
│ │ │ └── CmsPage.razor.cs
│ │ ├── Icons
│ │ │ └── Icon.razor
│ │ ├── Sections
│ │ │ ├── UnauthorizedSection.razor
│ │ │ ├── BaseSection.cs
│ │ │ ├── BasePageContextSection.cs
│ │ │ └── BaseEditContextSection.cs
│ │ ├── Forms
│ │ │ ├── CascadingPageContext.razor
│ │ │ └── CascadingEditContext.razor
│ │ ├── Buttons
│ │ │ └── DefaultButton.razor
│ │ └── Parts
│ │ │ ├── ButtonBar.razor
│ │ │ └── ButtonCell.razor
│ ├── wwwroot
│ │ └── js
│ │ │ └── interop.js
│ ├── Models
│ │ └── ButtonClickEventArgs.cs
│ └── Extensions
│ │ ├── DisplayTypeExtensions.cs
│ │ ├── CustomRegistrationRenderFragmentExtensions.cs
│ │ └── SectionUIExtensions.cs
├── RapidCMS.Core
│ ├── Models
│ │ ├── Setup
│ │ │ ├── RelationSetup.cs
│ │ │ ├── TypeRegistrationSetup.cs
│ │ │ ├── ResolvedSetup.cs
│ │ │ ├── ValidationSetup.cs
│ │ │ ├── PageSetup.cs
│ │ │ ├── ConcreteDataProviderRelationSetup.cs
│ │ │ ├── DataProviderRelationSetup.cs
│ │ │ ├── RelatedCollectionListSetup.cs
│ │ │ ├── RelationDataProviderRelationSetup.cs
│ │ │ ├── SubCollectionListSetup.cs
│ │ │ ├── ElementSetup.cs
│ │ │ ├── TreeElementSetup.cs
│ │ │ ├── PropertyFieldSetup.cs
│ │ │ ├── CustomPropertyFieldSetup.cs
│ │ │ ├── CustomExpressionFieldSetup.cs
│ │ │ └── ButtonSetup.cs
│ │ ├── Config
│ │ │ ├── RelationConfig.cs
│ │ │ ├── DefaultButtonConfig.cs
│ │ │ ├── Api
│ │ │ │ ├── ApiAdvancedConfig.cs
│ │ │ │ ├── FileUploadHandlerConfig.cs
│ │ │ │ ├── ApiDataViewBuilderConfig.cs
│ │ │ │ └── ApiRepositoryConfig.cs
│ │ │ ├── ReferencedCollectionListConfig.cs
│ │ │ ├── CmsAdvancedConfig.cs
│ │ │ ├── NavigationButtonConfig.cs
│ │ │ ├── PaneButtonConfig.cs
│ │ │ ├── ValidationConfig.cs
│ │ │ ├── ReferencedCollectionConfig.cs
│ │ │ ├── TreeViewConfig.cs
│ │ │ ├── ConcreteDataProviderRelationConfig.cs
│ │ │ ├── NodeConfig.cs
│ │ │ ├── DataProviderRelationConfig.cs
│ │ │ ├── Convention
│ │ │ │ ├── ConventionNodeEditorConfig.cs
│ │ │ │ ├── ConventionNodeViewConfig.cs
│ │ │ │ ├── ConventionListEditorConfig.cs
│ │ │ │ └── ConventionListViewConfig.cs
│ │ │ ├── EntityVariantConfig.cs
│ │ │ ├── CustomButtonConfig.cs
│ │ │ ├── RelationDataProviderRelationConfig.cs
│ │ │ ├── CollectionListConfig.cs
│ │ │ ├── ElementConfig.cs
│ │ │ ├── CustomTypeRegistrationConfig.cs
│ │ │ ├── ButtonConfig.cs
│ │ │ └── ListConfig.cs
│ │ ├── Configuration
│ │ │ ├── Link.cs
│ │ │ └── Picker.cs
│ │ ├── Response
│ │ │ ├── ApiCommandResponseModel.cs
│ │ │ ├── ListViewCommandResponseModel.cs
│ │ │ ├── NodeViewCommandResponseModel.cs
│ │ │ ├── ListEditorCommandResponseModel.cs
│ │ │ ├── FileUploadResponseModel.cs
│ │ │ ├── NodeInListViewCommandResponseModel.cs
│ │ │ ├── FileUploadValidationResponseModel.cs
│ │ │ ├── ViewCommandResponseModel.cs
│ │ │ ├── EntitiesResponseModel.cs
│ │ │ └── ApiPersistEntityResponseModel.cs
│ │ ├── Request
│ │ │ ├── Api
│ │ │ │ ├── DeleteEntityRequestModel.cs
│ │ │ │ ├── PersistReorderRequestModel.cs
│ │ │ │ ├── GetEntitiesOfParentRequestModel.cs
│ │ │ │ ├── GetEntityRequestModel.cs
│ │ │ │ ├── GetEntitiesOfRelationRequestModel.cs
│ │ │ │ ├── GetEntitiesRequestModel.cs
│ │ │ │ ├── PersistRelatedEntityRequestModel.cs
│ │ │ │ ├── PersistEntityRequestModel.cs
│ │ │ │ └── EntityDescriptor.cs
│ │ │ └── Form
│ │ │ │ ├── GetEntitiesOfParentRequestModel.cs
│ │ │ │ ├── GetEntitiesOfRelationRequestModel.cs
│ │ │ │ ├── PersistRelatedEntityRequestModel.cs
│ │ │ │ ├── GetEntityOfPageRequestModel.cs
│ │ │ │ ├── GetEntityRequestModel.cs
│ │ │ │ ├── GetEntitiesRequestModel.cs
│ │ │ │ ├── PersistEntityRequestModel.cs
│ │ │ │ ├── PersistEntityCollectionRequestModel.cs
│ │ │ │ └── PersistEntitiesRequestModel.cs
│ │ ├── ApiBridge
│ │ │ ├── Request
│ │ │ │ ├── EntityDescriptorModel.cs
│ │ │ │ ├── RelationContainerModel.cs
│ │ │ │ ├── OrderModel.cs
│ │ │ │ ├── DeleteModel.cs
│ │ │ │ ├── RelationModel.cs
│ │ │ │ ├── ReorderModel.cs
│ │ │ │ ├── RelateModel.cs
│ │ │ │ ├── UploadFileModel.cs
│ │ │ │ ├── OrderByModel.cs
│ │ │ │ └── RelatedQueryModel.cs
│ │ │ └── Response
│ │ │ │ └── EntitiesModel.cs
│ │ ├── Data
│ │ │ ├── Element.cs
│ │ │ ├── ParentEntity.cs
│ │ │ ├── RelatedEntity.cs
│ │ │ └── OrderBy.cs
│ │ ├── UI
│ │ │ ├── TabUI.cs
│ │ │ ├── TreeRootUI.cs
│ │ │ ├── CustomExpressionFieldUI.cs
│ │ │ ├── ExpressionFieldUI.cs
│ │ │ ├── CustomPropertyFieldUI.cs
│ │ │ ├── TreeNodesUI.cs
│ │ │ ├── ElementUI.cs
│ │ │ ├── PropertyFieldUI.cs
│ │ │ ├── SectionUI.cs
│ │ │ ├── SubCollectionUI.cs
│ │ │ ├── RelatedCollectionUI.cs
│ │ │ └── TreePageUI.cs
│ │ ├── EventArgs
│ │ │ ├── Mediators
│ │ │ │ ├── ExceptionEventArgs.cs
│ │ │ │ ├── PaneResponseEventArgs.cs
│ │ │ │ ├── MessageEventArgs.cs
│ │ │ │ ├── NavigationEventArgs.cs
│ │ │ │ ├── RepositoryEventArgs.cs
│ │ │ │ └── PaneRequestEventArgs.cs
│ │ │ └── RowDragEventArgs.cs
│ │ ├── Metadata
│ │ │ ├── ExpressionMetadata.cs
│ │ │ └── FullPropertyMetadata.cs
│ │ └── CompositeValidationResult.cs
│ ├── Enums
│ │ ├── RelationType.cs
│ │ ├── ListType.cs
│ │ ├── EntityState.cs
│ │ ├── EntityVisibilty.cs
│ │ ├── ReorderedState.cs
│ │ ├── CollectionRootVisibility.cs
│ │ ├── EmptyVariantColumnVisibility.cs
│ │ ├── MessageType.cs
│ │ ├── OrderByType.cs
│ │ ├── DisplayType.cs
│ │ ├── PageType.cs
│ │ ├── ValidationState.cs
│ │ ├── Features.cs
│ │ ├── CollectionConvention.cs
│ │ ├── CrudType.cs
│ │ └── UsageType.cs
│ ├── Abstractions
│ │ ├── Data
│ │ │ ├── IEntity.cs
│ │ │ ├── IRelated.cs
│ │ │ ├── IDataValidationProvider.cs
│ │ │ ├── IElement.cs
│ │ │ ├── IDataViewBuilder.cs
│ │ │ ├── IParent.cs
│ │ │ ├── IFileInfo.cs
│ │ │ ├── IRelation.cs
│ │ │ ├── IRelationDataCollection.cs
│ │ │ ├── IOrderBy.cs
│ │ │ └── IDataView.cs
│ │ ├── Mediators
│ │ │ ├── IMediatorEventArgs.cs
│ │ │ ├── IMediatorEventListener.cs
│ │ │ ├── IMediatorRequestEventArgs.cs
│ │ │ ├── IMediatorResponseEventArgs.cs
│ │ │ └── IMediator.cs
│ │ ├── Setup
│ │ │ └── ICms.cs
│ │ ├── UI
│ │ │ ├── IWantConfiguration.cs
│ │ │ ├── IRequireConfiguration.cs
│ │ │ └── IBaseUI.cs
│ │ ├── Resolvers
│ │ │ ├── ILanguageResolver.cs
│ │ │ ├── IResolvedSetup.cs
│ │ │ ├── IUserResolver.cs
│ │ │ ├── ICollectionAliasResolver.cs
│ │ │ ├── IButtonActionHandlerResolver.cs
│ │ │ ├── IEntityVariantResolver.cs
│ │ │ ├── IDataProviderResolver.cs
│ │ │ ├── IFieldConfigResolver.cs
│ │ │ ├── IRepositoryTypeResolver.cs
│ │ │ ├── IConventionBasedResolver.cs
│ │ │ ├── IDataViewResolver.cs
│ │ │ ├── IRepositoryResolver.cs
│ │ │ ├── ISetupResolver.cs
│ │ │ ├── INodeUIResolver.cs
│ │ │ └── IListUIResolver.cs
│ │ ├── Config
│ │ │ ├── IOrderByConfig.cs
│ │ │ ├── ITreeElementConfig.cs
│ │ │ ├── IIsConventionBased.cs
│ │ │ ├── IConventionConfig.cs
│ │ │ ├── IHasOrderBy.cs
│ │ │ ├── IFileUploadHandlerConfig.cs
│ │ │ ├── IApiDataViewBuilderConfig.cs
│ │ │ ├── ICollectionDetailPageEditorConfig.cs
│ │ │ ├── INodeViewConfig.cs
│ │ │ ├── INodeEditorConfig.cs
│ │ │ ├── ISupportReordering.cs
│ │ │ ├── IHasPageSize.cs
│ │ │ ├── IAdvancedApiConfig.cs
│ │ │ ├── IHasSearchBar.cs
│ │ │ ├── IApiRepositoryConfig.cs
│ │ │ ├── IHasPlaceholder.cs
│ │ │ ├── IListViewConfig.cs
│ │ │ ├── ISubCollectionListViewConfig.cs
│ │ │ ├── IAdvancedCmsConfig.cs
│ │ │ ├── ISubCollectionListEditorConfig.cs
│ │ │ ├── IHasColumnVisibility.cs
│ │ │ ├── IRelatedCollectionListViewConfig.cs
│ │ │ ├── IRelatedCollectionListEditorConfig.cs
│ │ │ ├── IListEditorConfig.cs
│ │ │ └── IHasNameDescription.cs
│ │ ├── Metadata
│ │ │ ├── IFullPropertyMetadata.cs
│ │ │ ├── IExpressionMetadata.cs
│ │ │ └── IPropertyMetadata.cs
│ │ ├── Services
│ │ │ ├── IInteractionService.cs
│ │ │ ├── IParentService.cs
│ │ │ ├── IConcurrencyService.cs
│ │ │ ├── IPresentationService.cs
│ │ │ └── ITreeService.cs
│ │ ├── Forms
│ │ │ ├── IRelatedViewContext.cs
│ │ │ ├── IViewContext.cs
│ │ │ └── IRelationContainer.cs
│ │ ├── Interactions
│ │ │ ├── IButtonInteractionRequestModel.cs
│ │ │ ├── IListButtonInteractionRequestModel.cs
│ │ │ ├── IEditorInListInteractionRequestModel.cs
│ │ │ ├── IDragInteraction.cs
│ │ │ └── IButtonInteraction.cs
│ │ ├── Dispatchers
│ │ │ ├── IInteractionDispatcher.cs
│ │ │ └── IPresentationDispatcher.cs
│ │ ├── Handlers
│ │ │ ├── INavigationHandler.cs
│ │ │ └── IFileUploadHandler.cs
│ │ ├── Factories
│ │ │ ├── IUIResolverFactory.cs
│ │ │ └── IEditContextResolver.cs
│ │ ├── Validators
│ │ │ ├── IEntityValidator.cs
│ │ │ ├── IValidatorContext.cs
│ │ │ └── IAsyncEntityValidator.cs
│ │ └── Plugins
│ │ │ └── IPlugin.cs
│ ├── Attributes
│ │ ├── ConfirmAttribute.cs
│ │ ├── ValidFormAttribute.cs
│ │ ├── RelationAttribute.cs
│ │ ├── ActionsAttribute.cs
│ │ ├── DefaultTypeAttribute.cs
│ │ └── DefaultIconLabelAttribute.cs
│ ├── Exceptions
│ │ ├── InvalidEntityException.cs
│ │ ├── NotFoundException.cs
│ │ ├── NotUniqueException.cs
│ │ ├── InvalidExpressionException.cs
│ │ └── InvalidPropertyExpressionException.cs
│ ├── Forms
│ │ ├── ModelStateDictionary.cs
│ │ ├── ValidationStateChangedEventArgs.cs
│ │ ├── FieldChangedEventArgs.cs
│ │ ├── ButtonContext.cs
│ │ ├── RelatedViewContext.cs
│ │ ├── PageContext.cs
│ │ └── ViewContext.cs
│ ├── Resolvers
│ │ ├── Language
│ │ │ └── LanguageResolver.cs
│ │ ├── Repositories
│ │ │ ├── CollectionAliasResolver.cs
│ │ │ ├── RepositoryTypeResolverBase.cs
│ │ │ └── EntityVariantResolver.cs
│ │ ├── Setup
│ │ │ ├── PluginTreeElementsSetupResolver.cs
│ │ │ ├── ElementSetupResolver.cs
│ │ │ └── TreeViewSetupResolver.cs
│ │ └── Buttons
│ │ │ └── ButtonActionHandlerResolver.cs
│ ├── Extensions
│ │ ├── ObjectExtensions.cs
│ │ ├── ButtonSetupExtensions.cs
│ │ ├── PropertyMetadataExtensions.cs
│ │ └── ServiceProviderExtensions.cs
│ ├── Helpers
│ │ ├── EnumHelper.cs
│ │ ├── UriHelper.cs
│ │ └── EditorTypeHelper.cs
│ ├── EqualityComparers
│ │ └── FieldUIEqualityComparer.cs
│ ├── Data
│ │ └── DataViewBuilder.cs
│ ├── Navigation
│ │ └── CollectionState.cs
│ ├── Authorization
│ │ ├── AnonymousAuthenticationStateProvider.cs
│ │ └── AllowAllAuthorizationHandler.cs
│ ├── Validators
│ │ ├── BaseEntityValidator.cs
│ │ └── AsyncEntityValidator.cs
│ ├── General.cs
│ ├── Handlers
│ │ └── OpenPaneButtonActionHandler.cs
│ └── Services
│ │ └── Interaction
│ │ └── InteractionService.cs
├── RapidCMS.Api.WebApi
│ ├── Controllers
│ │ └── IFunctionExecutionContextAccessor.cs
│ ├── Resolvers
│ │ └── UserResolver.cs
│ ├── Providers
│ │ └── CollectionControllerFeatureProvider.cs
│ ├── Extensions
│ │ └── ApiResponseModelExtensions.cs
│ └── Conventions
│ │ └── CollectionControllerRouteConvention.cs
├── RapidCMS.Repositories
│ └── IConverter.cs
└── RapidCMS.Api.Core
│ ├── Abstractions
│ ├── IApiHandlerResolver.cs
│ ├── IFileHandlerResolver.cs
│ └── IFileHandler.cs
│ ├── Models
│ ├── ApiRequestModel.cs
│ └── ApiResponseModel.cs
│ ├── General.cs
│ └── Resolvers
│ └── AnonymousUserResolver.cs
├── examples
├── RapidCMS.Example.Github
│ ├── App.razor
│ ├── _Imports.razor
│ ├── Entities
│ │ ├── Country.cs
│ │ ├── Person.cs
│ │ ├── Relatable2Person.cs
│ │ ├── CountryPerson.cs
│ │ ├── RelatablePerson.cs
│ │ └── ValidationPerson.cs
│ ├── DataViewBuilders
│ │ └── CountryDataViewBuilder.cs
│ ├── Attributes
│ │ └── BioValidationAttribute.cs
│ └── wwwroot
│ │ └── index.html
├── RapidCMS.Example.Server
│ ├── App.razor
│ ├── Pages
│ │ ├── SignIn.cshtml
│ │ ├── SignOut.cshtml
│ │ ├── SignIn.cshtml.cs
│ │ ├── SignOut.cshtml.cs
│ │ └── _Host.cshtml
│ ├── Components
│ │ ├── LandingPage.razor
│ │ ├── LoginScreen.razor
│ │ └── LoginStatus.razor
│ ├── appsettings.Development.json
│ ├── Program.cs
│ ├── RapidCMS.Example.Server.csproj
│ └── _Imports.razor
├── RapidCMS.Example.WebAssembly
│ ├── App.razor
│ └── Components
│ │ ├── LoginScreen.razor
│ │ └── LoginStatus.razor
├── images
│ ├── mm1.png
│ ├── mm2.png
│ ├── mm3.png
│ ├── mm4.png
│ ├── mm5.png
│ ├── mm6.png
│ ├── mm7.png
│ ├── mm8.png
│ ├── mm9.png
│ ├── docs1.png
│ ├── docs2.png
│ ├── docs3.png
│ ├── mm10.png
│ ├── mm11.png
│ ├── mm12.png
│ ├── mm13.png
│ ├── listview.png
│ ├── nodeview.png
│ ├── listeditor.png
│ └── nodeeditor.png
├── RapidCMS.Example.Shared
│ ├── Components
│ │ ├── CustomSection.razor
│ │ ├── DashboardSection.razor
│ │ ├── ImagePreview.razor
│ │ ├── CustomButton.razor
│ │ └── CustomPageSection.razor
│ ├── Handlers
│ │ ├── IImageUploadHandler.cs
│ │ ├── ITextUploadHandler.cs
│ │ ├── Base64ApiImageUploadHandler.cs
│ │ ├── Base64ApiTextUploadHandler.cs
│ │ └── NavigateToPersonHandler.cs
│ ├── Data
│ │ ├── MappedEntity.cs
│ │ ├── DatabaseEntity.cs
│ │ ├── Counter.cs
│ │ └── Mapper.cs
│ └── AuthorizationHandlers
│ │ └── VeryPermissiveAuthorizationHandler.cs
└── RapidCMS.Example.WebAssembly.API
│ ├── appsettings.Development.json
│ ├── Program.cs
│ └── RapidCMS.Example.WebAssembly.API.csproj
└── SETUP_SERVERSIDE.md
/src/RapidCMS.Core.Tests/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
--------------------------------------------------------------------------------
/src/RapidCMS.UI/Components/Preview/NoPreview.razor:
--------------------------------------------------------------------------------
1 | @inherits BasePreview
--------------------------------------------------------------------------------
/src/RapidCMS.UI/Components/App.razor:
--------------------------------------------------------------------------------
1 | @layout RapidCMS.UI.Components.Shared.MainLayout
--------------------------------------------------------------------------------
/examples/RapidCMS.Example.Github/App.razor:
--------------------------------------------------------------------------------
1 |
This section is just a Blazor Component.
4 |This dashboard is custom blazor component.
4 |Welcome! Please wait until someone gives you the proper clearance.
5 |Unauthorized
6 |You are not authorized to view this data.
7 | -------------------------------------------------------------------------------- /src/RapidCMS.Core/Abstractions/Resolvers/ILanguageResolver.cs: -------------------------------------------------------------------------------- 1 | namespace RapidCMS.Core.Abstractions.Resolvers; 2 | 3 | public interface ILanguageResolver 4 | { 5 | string ResolveText(string originalText); 6 | } 7 | -------------------------------------------------------------------------------- /src/RapidCMS.Core/Enums/OrderByType.cs: -------------------------------------------------------------------------------- 1 | namespace RapidCMS.Core.Enums; 2 | 3 | public enum OrderByType 4 | { 5 | Disabled = 0, 6 | Ascending = 1, 7 | Descending = 2, 8 | None = 99 9 | } 10 | -------------------------------------------------------------------------------- /src/RapidCMS.Core/Models/Response/FileUploadResponseModel.cs: -------------------------------------------------------------------------------- 1 | namespace RapidCMS.Core.Models.Response; 2 | 3 | public class FileUploadResponseModel 4 | { 5 | public object Result { get; set; } = default!; 6 | } 7 | -------------------------------------------------------------------------------- /src/RapidCMS.Core/Models/Response/NodeInListViewCommandResponseModel.cs: -------------------------------------------------------------------------------- 1 | namespace RapidCMS.Core.Models.Response; 2 | 3 | public class NodeInListViewCommandResponseModel : ViewCommandResponseModel 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /examples/RapidCMS.Example.Server/Components/LoginScreen.razor: -------------------------------------------------------------------------------- 1 |Please sign in to access the CMS.
4 | 5 |