├── tests ├── BlazorForms.Platform.Tests │ ├── Usings.cs │ └── HighStore │ │ └── Model │ │ ├── UserRoleLink.cs │ │ └── Role.cs ├── BlazorForms.Proxyma.Tests │ └── Usings.cs ├── BlazorForms.Shared.Tests │ ├── Usings.cs │ └── Models │ │ ├── EmailModel.cs │ │ └── PhoneModel.cs ├── BlazorForms.IntegrationTests.Server │ ├── appsettings.Development.json │ └── WeatherForecast.cs ├── BlazorForms.Tests.Framework │ ├── Crm │ │ ├── Artel │ │ │ └── ArtelMemberEditFlow.cs │ │ ├── BusinessObjects │ │ │ ├── AuthUser.cs │ │ │ └── FrequencyTypeDetails.cs │ │ ├── Models │ │ │ ├── ArtelMemberModel.cs │ │ │ ├── ArtelTeamListModel.cs │ │ │ └── ArtelProjectListModel.cs │ │ └── Definitions │ │ │ ├── IAccessService.cs │ │ │ └── IEmailService.cs │ └── Core │ │ ├── MockNavigationManager.cs │ │ └── MockObjectCloner.cs └── FastReflectionBenchmarkApp │ └── Program.cs ├── seed ├── CrmLightDemoApp │ ├── Pages │ │ ├── Index.razor │ │ ├── PersonList.razor │ │ ├── UserList.razor │ │ ├── CompanyList.razor │ │ ├── ClientCompanyList.razor │ │ ├── UserEdit.razor │ │ ├── CompanyEdit.razor │ │ ├── PersonEdit.razor │ │ ├── TenantSettings.razor │ │ ├── PersonCompanyListType.razor │ │ ├── RegisteredFlows.razor │ │ ├── ClientCompanyEdit.razor │ │ └── StaticTypeEdit.razor │ ├── wwwroot │ │ ├── favicon.png │ │ ├── assets │ │ │ └── blackAsset-2@4x.png │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json │ ├── Onion │ │ ├── Services │ │ │ ├── Model │ │ │ │ ├── ResolutionModel.cs │ │ │ │ ├── UserListModel.cs │ │ │ │ ├── CompanyListModel.cs │ │ │ │ ├── PersonListModel.cs │ │ │ │ ├── ClientCompanyListModel.cs │ │ │ │ ├── PersonCompanyLinkDetailsModel.cs │ │ │ │ └── TenantAccountModel.cs │ │ │ └── Abstractions │ │ │ │ ├── IAppAuthState.cs │ │ │ │ └── IUserService.cs │ │ ├── Domain │ │ │ ├── Entities │ │ │ │ ├── IEntity.cs │ │ │ │ ├── LeadSourceType.cs │ │ │ │ ├── UserRoleLink.cs │ │ │ │ ├── Role.cs │ │ │ │ ├── Board.cs │ │ │ │ ├── PersonCompanyLink.cs │ │ │ │ ├── PersonCompanyLinkType.cs │ │ │ │ └── ClientCompany.cs │ │ │ ├── Repositories │ │ │ │ ├── IRoleRepository.cs │ │ │ │ ├── ICompanyRepository.cs │ │ │ │ ├── IPersonRepository.cs │ │ │ │ ├── IBoardCardRepository.cs │ │ │ │ ├── IPersonCompanyLinkTypeRepository.cs │ │ │ │ ├── IUserRoleLinkRepository.cs │ │ │ │ ├── ITenantAccountRepository.cs │ │ │ │ ├── IBoardCardHistoryRepository.cs │ │ │ │ ├── IPersonCompanyRepository.cs │ │ │ │ └── IUserRepository.cs │ │ │ ├── UserDetails.cs │ │ │ ├── TenantAccountDetails.cs │ │ │ └── BoardCardHistoryDetails.cs │ │ └── Infrastructure │ │ │ └── RepositoryBase.cs │ ├── appsettings.Development.json │ ├── cicd │ │ ├── bicep │ │ │ ├── my-environment.bicep │ │ │ ├── key-vault.bicep │ │ │ ├── service-identity.bicep │ │ │ └── law.bicep │ │ ├── yml │ │ │ ├── variables.yml │ │ │ └── build.yml │ │ └── config-Production.json │ ├── .idea │ │ └── .idea.CrmLightDemoApp │ │ │ └── .idea │ │ │ ├── encodings.xml │ │ │ ├── vcs.xml │ │ │ ├── indexLayout.xml │ │ │ └── .gitignore │ ├── .dockerignore │ └── App.razor ├── CrmLightDemoApp.Store │ ├── Pages │ │ ├── Index.razor │ │ ├── CompanyList.razor │ │ ├── PersonList.razor │ │ ├── UserList.razor │ │ ├── ClientCompanyList.razor │ │ ├── PersonEdit.razor │ │ ├── UserEdit.razor │ │ ├── CompanyEdit.razor │ │ ├── TenantSettings.razor │ │ ├── RegisteredFlows.razor │ │ ├── PersonCompanyListType.razor │ │ ├── StaticTypeEdit.razor │ │ └── ClientCompanyEdit.razor │ ├── wwwroot │ │ ├── favicon.png │ │ ├── assets │ │ │ └── blackAsset-2@4x.png │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json │ ├── appsettings.Development.json │ ├── cicd │ │ ├── bicep │ │ │ ├── my-environment.bicep │ │ │ ├── key-vault.bicep │ │ │ ├── service-identity.bicep │ │ │ └── law.bicep │ │ ├── yml │ │ │ ├── variables.yml │ │ │ └── build.yml │ │ └── config-Production.json │ ├── .idea │ │ └── .idea.CrmLightDemoApp │ │ │ └── .idea │ │ │ ├── encodings.xml │ │ │ ├── vcs.xml │ │ │ ├── indexLayout.xml │ │ │ └── .gitignore │ ├── Onion │ │ └── Services │ │ │ ├── Model │ │ │ ├── UserListModel.cs │ │ │ ├── PersonListModel.cs │ │ │ ├── CompanyListModel.cs │ │ │ ├── ClientCompanyListModel.cs │ │ │ ├── ResolutionModel.cs │ │ │ ├── LeadSourceTypeModel.cs │ │ │ └── RoleModel.cs │ │ │ └── Abstractions │ │ │ ├── IAppAuthState.cs │ │ │ └── IUserService.cs │ ├── .dockerignore │ └── App.razor ├── BlazorFormsSeed │ ├── wwwroot │ │ ├── favicon.png │ │ ├── assets │ │ │ └── blackAsset-2@4x.png │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json │ ├── appsettings.Development.json │ ├── Pages │ │ └── Sample.razor │ ├── App.razor │ └── _Imports.razor └── BlazorFormsSandpit │ ├── wwwroot │ ├── favicon.png │ ├── assets │ │ └── blackAsset-2@4x.png │ └── css │ │ └── open-iconic │ │ └── font │ │ └── fonts │ │ ├── open-iconic.eot │ │ ├── open-iconic.otf │ │ ├── open-iconic.ttf │ │ └── open-iconic.woff │ ├── appsettings.json │ ├── appsettings.Development.json │ ├── Pages │ └── Sample.razor │ └── App.razor ├── src ├── .idea │ └── .idea.BlazorForms.Framework │ │ └── .idea │ │ ├── .name │ │ ├── encodings.xml │ │ ├── vcs.xml │ │ ├── indexLayout.xml │ │ ├── riderPublish.xml │ │ └── .gitignore ├── rendering │ ├── BlazorForms.Rendering.Flows │ │ ├── _Imports.razor │ │ ├── Georgia.ttf │ │ ├── Verdana.ttf │ │ ├── Roboto-Regular.ttf │ │ ├── wwwroot │ │ │ ├── background.png │ │ │ └── exampleJsInterop.js │ │ └── BlazorFormsFlowDiagram.razor.css │ ├── BlazorForms.Rendering.Standard │ │ ├── wwwroot │ │ │ ├── background.png │ │ │ ├── exampleJsInterop.js │ │ │ └── styles.css │ │ ├── Component1.razor │ │ ├── _Imports.razor │ │ └── Components │ │ │ ├── HeaderControl.razor │ │ │ └── LoginPageButton.razor │ ├── BlazorForms.Rendering.MudBlazorUI │ │ ├── wwwroot │ │ │ ├── background.png │ │ │ └── exampleJsInterop.js │ │ ├── Nuspec │ │ │ └── cmd.bat │ │ ├── _Imports.razor │ │ ├── Logic │ │ │ ├── BoardFormOptions.cs │ │ │ ├── EditFormOptions.cs │ │ │ └── FormOptions.cs │ │ └── Components │ │ │ ├── FlowEditForm.razor.css │ │ │ └── HeaderControl.razor │ ├── BlazorForms.Rendering.MaterialBlazor │ │ ├── Component1.razor │ │ ├── wwwroot │ │ │ ├── background.png │ │ │ ├── exampleJsInterop.js │ │ │ └── styles.css │ │ ├── _Imports.razor │ │ ├── Nuspec │ │ │ ├── cmd-old.bat │ │ │ └── cmd.bat │ │ └── Components │ │ │ ├── Dashboard.razor.css │ │ │ ├── LayoutForm.razor.css │ │ │ ├── HeaderControl.razor │ │ │ └── LoginPageButton.razor │ ├── BlazorForms.Rendering.RadzenBlazor │ │ ├── Components │ │ │ ├── HeaderControl.razor │ │ │ ├── SubtitleControl.razor │ │ │ └── LoginPageButton.razor │ │ └── _Imports.razor │ └── BlazorForms.Rendering │ │ ├── Types │ │ ├── ComponentTypes.cs │ │ ├── DynamicListFormRowContextMenuItemClickArgs.cs │ │ ├── DashboardParams.cs │ │ └── FormOptionsBase.cs │ │ ├── Interfaces │ │ ├── IClientDateService.cs │ │ ├── ICustomFlowFormController.cs │ │ └── IClientBrowserService.cs │ │ └── Model │ │ └── FormSubmittedArgs.cs ├── wasm │ └── BlazorForms.Wasm.InlineFlows │ │ ├── _Imports.razor │ │ ├── wwwroot │ │ ├── background.png │ │ └── exampleJsInterop.js │ │ ├── Component1.razor │ │ ├── Component1.razor.css │ │ └── Mocks │ │ ├── MockTenantedScope.cs │ │ └── MockObjectCloner.cs ├── platform │ ├── BlazorForms.Platform.Cosmos │ │ ├── Nuspec │ │ │ └── contentFiles │ │ │ │ └── any │ │ │ │ └── any │ │ │ │ └── Platz.Cosmos.Link │ │ │ │ └── appsettings.cosmos.json │ │ └── Configuration │ │ │ └── CosmosDbOptions.cs │ ├── BlazorForms.Platform.PostgreSql │ │ └── Nuspec │ │ │ └── contentFiles │ │ │ └── any │ │ │ └── any │ │ │ ├── Platz.Cosmos.Link │ │ │ └── appsettings.cosmos.json │ │ │ └── Platz.PostgreSql.Link │ │ │ └── appsettings.postresql.json │ ├── BlazorForms.Platform.Core.Examples │ │ └── wwwroot │ │ │ ├── background.png │ │ │ ├── exampleJsInterop.js │ │ │ └── styles.css │ ├── BlazorForms.Platform │ │ ├── Interfaces │ │ │ └── IUniqueIdGenerator.cs │ │ ├── Nuspec │ │ │ ├── contentFiles │ │ │ │ └── any │ │ │ │ │ └── any │ │ │ │ │ ├── Georgia.ttf │ │ │ │ │ ├── Verdana.ttf │ │ │ │ │ ├── Roboto-Regular.ttf │ │ │ │ │ └── Platz.Config.Link │ │ │ │ │ ├── appsettings.mssql.json │ │ │ │ │ └── appsettings.localdb.json │ │ │ └── cmdTemp.bat │ │ ├── CustomConfig │ │ │ ├── Model │ │ │ │ └── CustomItemStoreConfig.cs │ │ │ └── CustomModelConfig1.json │ │ ├── ProcessFlow │ │ │ ├── Dto │ │ │ │ ├── FormBusinessRulesDto.cs │ │ │ │ └── FormDefinitionResponse.cs │ │ │ └── Models │ │ │ │ └── FieldRuleDetails.cs │ │ └── Stubs │ │ │ └── MockTenantedScope.cs │ ├── BlazorForms.Platform.Shared │ │ ├── Attributes │ │ │ ├── ProxyScopeAttribute.cs │ │ │ └── ResolveTableDataAttribute.cs │ │ ├── Interfaces │ │ │ └── IAutoMapperConfiguration.cs │ │ └── Exceptions │ │ │ ├── AuthStateException.cs │ │ │ └── ConfigurationException.cs │ ├── BlazorForms.Platform.Definitions │ │ ├── IReflectionProvider.cs │ │ ├── Wrappers │ │ │ └── JsonModelWrapper.cs │ │ ├── IApplicationPart.cs │ │ ├── Model │ │ │ ├── FlowRunUserViewDetails.cs │ │ │ └── SelectableListItem.cs │ │ ├── Shared │ │ │ └── PlatformConstants.cs │ │ └── IAuthState.cs │ └── BlazorForms.Platform.BackgroundService │ │ ├── Interfaces │ │ └── IBackgroundTaskQueue.cs │ │ └── HostedService │ │ └── HostedFeaturesToggle.cs ├── admin │ ├── BlazorForms.Admin.BusinessObjects │ │ ├── Class1.cs │ │ ├── Model │ │ │ └── FlowDataOptions.cs │ │ └── BlazorForms.Admin.BusinessObjects.csproj │ └── BlazorForms.Admin.App │ │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ │ ├── Pages │ │ ├── Index.razor │ │ ├── _Host.cshtml │ │ ├── RegisteredFlowsItemView.razor │ │ └── StoredFlows.razor │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── Shared │ │ └── MainLayout.razor ├── proxy │ └── BlazorForms.Proxyma │ │ ├── Interfaces │ │ ├── IProxymaInterceptor.cs │ │ ├── IModelProxyInterceptor.cs │ │ ├── IProxyPropertyBagStore.cs │ │ └── IProxyScopeConfiguration.cs │ │ └── Model │ │ ├── ProxyPropertyBagStore.cs │ │ └── ProxyPropertyBag.cs ├── flows │ ├── BlazorForms.Flows.Definitions │ │ ├── InternalVisible.cs │ │ ├── Interfaces │ │ │ ├── IFlowForm.cs │ │ │ ├── ITenantedScope.cs │ │ │ ├── IFlowParams.cs │ │ │ ├── IFlowContext.cs │ │ │ ├── IObjectCloner.cs │ │ │ ├── IFlowRunIdGenerator.cs │ │ │ ├── IFlowModelListItem.cs │ │ │ ├── IFlowTask.cs │ │ │ ├── IFlowModel.cs │ │ │ └── ITaskExecutor.cs │ │ ├── Model │ │ │ ├── FormTaskStateEnum.cs │ │ │ ├── FlowConstants.cs │ │ │ ├── StateFlows │ │ │ │ ├── FormDef.cs │ │ │ │ └── StateDef.cs │ │ │ ├── FlowTaskDetails.cs │ │ │ ├── UserViewModelPageResult.cs │ │ │ ├── FlowDetails.cs │ │ │ ├── TaskExecutionResultStateEnum.cs │ │ │ ├── FlowSettings.cs │ │ │ ├── ClientKeptContext.cs │ │ │ ├── TaskExecutionFlowStateEnum.cs │ │ │ └── FlowEvent.cs │ │ ├── Exceptions │ │ │ ├── FlowStopException.cs │ │ │ ├── FlowFailedException.cs │ │ │ ├── FlowCreateException.cs │ │ │ ├── InvalidFlowException.cs │ │ │ ├── InvalidStateException.cs │ │ │ └── FlowInvalidDependencyException.cs │ │ └── Binding │ │ │ └── RepeaterParameters.cs │ └── BlazorForms.Flows.Engine │ │ ├── Fluent │ │ └── IFluentFlowRunEngine.cs │ │ └── StateFlow │ │ └── FlowContextExtensions.cs ├── forms │ └── BlazorForms.Forms.Definitions │ │ ├── BaseComponents │ │ ├── Checkbox.cs │ │ ├── Button.cs │ │ ├── Header.cs │ │ ├── Label.cs │ │ ├── Table.cs │ │ ├── DateEdit.cs │ │ ├── DropDown.cs │ │ ├── MoneyEdit.cs │ │ ├── Repeater.cs │ │ ├── Subtitle.cs │ │ ├── TextArea.cs │ │ ├── TextEdit.cs │ │ ├── Autocomplete.cs │ │ ├── DatePicker.cs │ │ ├── FileUpload.cs │ │ ├── PercentEdit.cs │ │ ├── DropDownSearch.cs │ │ ├── SelectableList.cs │ │ ├── TextSearchEdit.cs │ │ ├── FormComponentBase.cs │ │ └── CustomComponent.cs │ │ ├── FluentForms │ │ ├── Controls │ │ │ ├── DefaultCheckboxControl.cs │ │ │ ├── DefaultDateEditControl.cs │ │ │ ├── DefaultDropdownControl.cs │ │ │ ├── DefaultNumberEditControl.cs │ │ │ ├── DefaultTextEditControl.cs │ │ │ ├── DefaultFormattedViewControl.cs │ │ │ ├── DefaultDropdownReadonlyControl.cs │ │ │ └── DefaultReadonlyCheckboxControl.cs │ │ ├── Model │ │ │ ├── FormLayout.cs │ │ │ ├── FieldRule.cs │ │ │ ├── FormAllowAccess.cs │ │ │ └── ConfirmationDetails.cs │ │ └── Interfaces │ │ │ └── IDataFieldProcessor.cs │ │ ├── Interfaces │ │ ├── IFormComponent.cs │ │ └── IFormDefinitionParser.cs │ │ ├── JsonForms │ │ └── IStoreObject.cs │ │ ├── Parser │ │ ├── FormAccessDetails.cs │ │ └── FormFlowRuleDetails.cs │ │ └── Attributes │ │ └── ComponentGroupAttribute.cs ├── expressions │ └── BlazorForms.Expressions │ │ └── BlazorForms.Expressions.csproj ├── store │ ├── BlazorForms.Storage │ │ └── Interfaces │ │ │ ├── IEntity.cs │ │ │ └── IContextQuery.cs │ └── BlazorForms.ItemStore │ │ ├── Interfaces │ │ ├── IStoreSchemaEngine.cs │ │ ├── IStoreObjectResolver.cs │ │ └── IStoreCodeGenerator.cs │ │ ├── Exceptions │ │ └── SqlJsonQueryBuildException.cs │ │ ├── Engine │ │ └── QueryParameter.cs │ │ └── Mappings │ │ └── ModelMapping.cs ├── shared │ └── BlazorForms.Shared │ │ ├── Extensions │ │ ├── SortDirection.cs │ │ ├── StatusList.cs │ │ ├── Dates.cs │ │ └── HashSetExtensions.cs │ │ ├── BindingModel │ │ ├── IBindingContextMenu.cs │ │ ├── BindingParameters.cs │ │ ├── IBindingControlType.cs │ │ ├── TableCountBindingControlType.cs │ │ ├── BindingControlType.cs │ │ ├── RepeaterBindingControlType.cs │ │ ├── SelectableListBindingControlType.cs │ │ └── ListBindingControlType.cs │ │ ├── DataStructures │ │ ├── Currency.cs │ │ └── FileDetails.cs │ │ ├── Logging │ │ └── ILogStreamer.cs │ │ ├── Reflection │ │ ├── IAssemblyRegistrator.cs │ │ ├── InvalidDependencyException.cs │ │ └── IKnownTypesBinder.cs │ │ └── Types │ │ └── Confirmations.cs ├── dynamic-code │ └── BlazorForms.DynamicCode │ │ ├── Interfaces │ │ ├── IDynamicCodeEngine.cs │ │ ├── IDynamicFlowRepository.cs │ │ ├── IDynamicCodeValidationEngine.cs │ │ ├── IDynamicFlowProvider.cs │ │ └── IDynamicCodeValidationRule.cs │ │ └── Engine │ │ └── SqlDynamicFlowRepository.cs └── rules │ ├── BlazorForms.FlowRules │ └── Exceptions │ │ └── RuleExecutionInfiniteLoopException.cs │ └── BlazorForms.FlowRules.Definition │ ├── Model │ ├── RuleExecutionContext.cs │ ├── ExecutableRuleDetails.cs │ ├── AccessRuleModel.cs │ ├── RuleTypes.cs │ ├── RuleValidationResult.cs │ └── FieldDetails.cs │ ├── Interfaces │ ├── ITaskRulesDefinition.cs │ ├── IRuleExecutionEngine.cs │ └── IRuleDefinitionParser.cs │ └── TaskRulesDefinition.cs ├── demo ├── StateFlow │ └── DemoStateFlowObjects │ │ ├── _Imports.razor │ │ ├── Component1.razor │ │ ├── wwwroot │ │ ├── background.png │ │ └── exampleJsInterop.js │ │ └── Component1.razor.css ├── BlazorFormsDemoModels │ ├── Class1.cs │ └── Models │ │ ├── FrequencyTypeDetails.cs │ │ └── NavigationModel1.cs ├── MudBlazorUIDemo │ ├── wwwroot │ │ ├── favicon.png │ │ ├── assets │ │ │ └── blackAsset-2@4x.png │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json │ ├── appsettings.Development.json │ ├── Pages │ │ ├── ToolBar.razor │ │ └── Customer │ │ │ └── CustomerList.razor │ ├── App.razor │ ├── Flows │ │ └── Customer │ │ │ └── ICustomerService.cs │ └── _Imports.razor ├── BlazorFormsDemoBlazorApp │ ├── wwwroot │ │ ├── favicon.ico │ │ ├── img │ │ │ └── 20191005-BMNT-104.jpg │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Widgets │ │ ├── ImageWidget.razor │ │ └── TableDataWidget.razor │ ├── appsettings.Development.json │ ├── Pages │ │ ├── _Host.cshtml │ │ ├── Counter.razor │ │ ├── DemoFormV2.razor │ │ ├── ListV2Exception.razor │ │ ├── EditFormMudUI.razor │ │ └── StartFlowFormV2Generic.razor │ ├── appsettings.json │ ├── Data │ │ └── WeatherForecast.cs │ ├── Shared │ │ └── MainLayout.razor │ └── App.razor ├── BlazorFormsDemoRadzenApp │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Pages │ │ ├── Index.razor │ │ ├── _Host.cshtml │ │ ├── DemoForm.razor │ │ └── StartFlowFormGeneric.razor │ ├── appsettings.Development.json │ ├── appsettings.json │ └── App.razor ├── BlazorFormsStateFlowDemoApp │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.Development.json │ ├── Pages │ │ └── _Host.cshtml │ ├── Shared │ │ └── MainLayout.razor │ ├── appsettings.json │ └── _Imports.razor ├── BlazorFormsDemoFastDesignApp │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json │ ├── Pages │ │ ├── Index.razor │ │ ├── _Host.cshtml │ │ ├── DemoFormV2.razor │ │ ├── Counter.razor │ │ └── StartFlowFormGeneric.razor │ ├── appsettings.Development.json │ ├── Data │ │ └── WeatherForecast.cs │ └── Shared │ │ └── MainLayout.razor ├── BlazorFormsDemoWasmNew │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ ├── icon-192.png │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ ├── Pages │ │ │ ├── ListItemView.razor │ │ │ ├── StartFlowFormGeneric.razor │ │ │ └── Index.razor │ │ └── Shared │ │ │ └── MainLayout.razor │ ├── Server │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ └── Shared │ │ └── WeatherForecast.cs ├── BlazorFormsStateFlowDemoAppNuget │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── FodyWeavers.xml │ ├── appsettings.Development.json │ ├── Pages │ │ └── _Host.cshtml │ ├── Shared │ │ └── MainLayout.razor │ └── appsettings.json └── BlazorFormsDemoFlows │ └── Mocks │ └── MockTenantedScope.cs └── README.md /tests/BlazorForms.Platform.Tests/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /tests/BlazorForms.Proxyma.Tests/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /tests/BlazorForms.Shared.Tests/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/.idea/.idea.BlazorForms.Framework/.idea/.name: -------------------------------------------------------------------------------- 1 | BlazorForms.Framework -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 | 4 | -------------------------------------------------------------------------------- /demo/StateFlow/DemoStateFlowObjects/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Flows/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | -------------------------------------------------------------------------------- /src/wasm/BlazorForms.Wasm.InlineFlows/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Cosmos/Nuspec/contentFiles/any/any/Platz.Cosmos.Link/appsettings.cosmos.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoModels/Class1.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorFormsDemoModels 2 | { 3 | public class Class1 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/MudBlazorUIDemo/wwwroot/favicon.png -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSeed/wwwroot/favicon.png -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp/wwwroot/favicon.png -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSandpit/wwwroot/favicon.png -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp.Store/wwwroot/favicon.png -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.PostgreSql/Nuspec/contentFiles/any/any/Platz.Cosmos.Link/appsettings.cosmos.json: -------------------------------------------------------------------------------- 1 | { 2 | "CosmosDb": { 3 | }, 4 | } 5 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoBlazorApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoRadzenApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.BusinessObjects/Class1.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Admin.BusinessObjects 2 | { 3 | public class Class1 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/admin/BlazorForms.Admin.App/wwwroot/favicon.ico -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoFastDesignApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoWasmNew/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/wwwroot/icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoWasmNew/Client/wwwroot/icon-192.png -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/wwwroot/assets/blackAsset-2@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/MudBlazorUIDemo/wwwroot/assets/blackAsset-2@4x.png -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/wwwroot/assets/blackAsset-2@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSeed/wwwroot/assets/blackAsset-2@4x.png -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/wwwroot/assets/blackAsset-2@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp/wwwroot/assets/blackAsset-2@4x.png -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Flows/Georgia.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/rendering/BlazorForms.Rendering.Flows/Georgia.ttf -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Flows/Verdana.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/rendering/BlazorForms.Rendering.Flows/Verdana.ttf -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/proxy/BlazorForms.Proxyma/Interfaces/IProxymaInterceptor.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Proxyma 2 | { 3 | public interface IProxymaInterceptor 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /demo/StateFlow/DemoStateFlowObjects/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This component is defined in the DemoStateFlowObjects library. 3 |
4 | -------------------------------------------------------------------------------- /demo/StateFlow/DemoStateFlowObjects/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/StateFlow/DemoStateFlowObjects/wwwroot/background.png -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/wwwroot/assets/blackAsset-2@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSandpit/wwwroot/assets/blackAsset-2@4x.png -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Flows/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/rendering/BlazorForms.Rendering.Flows/Roboto-Regular.ttf -------------------------------------------------------------------------------- /src/wasm/BlazorForms.Wasm.InlineFlows/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/wasm/BlazorForms.Wasm.InlineFlows/wwwroot/background.png -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/wwwroot/assets/blackAsset-2@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp.Store/wwwroot/assets/blackAsset-2@4x.png -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/InternalVisible.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using System; 3 | 4 | [assembly: InternalsVisibleTo("BlazorForms.Flows.Engine")] 5 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Checkbox.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace BlazorForms.Forms 3 | { 4 | public class Checkbox : FormComponentBase 5 | { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/wwwroot/img/20191005-BMNT-104.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoBlazorApp/wwwroot/img/20191005-BMNT-104.jpg -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Flows/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/rendering/BlazorForms.Rendering.Flows/wwwroot/background.png -------------------------------------------------------------------------------- /src/wasm/BlazorForms.Wasm.InlineFlows/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This component is defined in the BlazorForms.Wasm.InlineFlows library. 3 |
4 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Standard/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/rendering/BlazorForms.Rendering.Standard/wwwroot/background.png -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Core.Examples/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/platform/BlazorForms.Platform.Core.Examples/wwwroot/background.png -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/rendering/BlazorForms.Rendering.MudBlazorUI/wwwroot/background.png -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /demo/StateFlow/DemoStateFlowObjects/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the BlazorForms.Rendering package. 3 |
4 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Standard/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the BlazorForms.Rendering.Standard package. 3 |
4 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Widgets/ImageWidget.razor: -------------------------------------------------------------------------------- 1 |

ImageWidget

2 | some image 3 | 4 | @code { 5 | 6 | } -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Interfaces/IUniqueIdGenerator.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Platform.ProcessFlow 2 | { 3 | public interface IUniqueIdGenerator 4 | { 5 | int NextId(); 6 | } 7 | } -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Georgia.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Georgia.ttf -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Verdana.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Verdana.ttf -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/rendering/BlazorForms.Rendering.MaterialBlazor/wwwroot/background.png -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.RadzenBlazor/Components/HeaderControl.razor: -------------------------------------------------------------------------------- 1 | @using BlazorForms.Shared 2 | 3 | @inherits ValueControl 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/wasm/BlazorForms.Wasm.InlineFlows/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Roboto-Regular.ttf -------------------------------------------------------------------------------- /tests/BlazorForms.IntegrationTests.Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /src/expressions/BlazorForms.Expressions/BlazorForms.Expressions.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Flows/BlazorFormsFlowDiagram.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Model/ResolutionModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace CrmLightDemoApp.Onion.Services.Model 4 | { 5 | public class ResolutionModel : IFlowModel 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using MatBlazor 3 | @using BlazorForms.Rendering.MaterialBlazor.Components 4 | @using BlazorForms.Rendering.Interfaces -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/Nuspec/cmd.bat: -------------------------------------------------------------------------------- 1 | rem 2 | cd C:\repos\BlazorForms\src\rendering\BlazorForms.Rendering.MudBlazorUI\ 3 | dotnet pack BlazorForms.Rendering.MudBlazorUI.csproj --output c:\temp\Nuget 4 | pause -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using MudBlazor 3 | @using BlazorForms.Rendering.MudBlazorUI.Components 4 | @using BlazorForms.Rendering.Interfaces 5 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /src/.idea/.idea.BlazorForms.Framework/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/store/BlazorForms.Storage/Interfaces/IEntity.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Storage 2 | { 3 | public interface IEntity 4 | { 5 | public int Id { get; set; } 6 | public bool Deleted { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*", 9 | } 10 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 | Index 4 | 5 |

Hello, world!

6 | 7 | Welcome to your new app. 8 | 9 | 10 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/HEAD/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/PersonList.razor: -------------------------------------------------------------------------------- 1 | @page "/person-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/UserList.razor: -------------------------------------------------------------------------------- 1 | @page "/user-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/cicd/bicep/my-environment.bicep: -------------------------------------------------------------------------------- 1 | param environment string 2 | 3 | var environments = { 4 | Production: loadJsonContent('../config-Production.json') 5 | } 6 | 7 | output config object = environments[environment] 8 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 | Index 4 | 5 |

Hello, world!

6 | 7 | Welcome to your new app. 8 | 9 | 10 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 | Index 4 | 5 |

Hello, world!

6 | 7 | Welcome to your new app. 8 | 9 | 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/cicd/bicep/my-environment.bicep: -------------------------------------------------------------------------------- 1 | param environment string 2 | 3 | var environments = { 4 | Production: loadJsonContent('../config-Production.json') 5 | } 6 | 7 | output config object = environments[environment] 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/CompanyList.razor: -------------------------------------------------------------------------------- 1 | @page "/company-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Standard/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.Fast.Components.FluentUI 2 | @using Microsoft.AspNetCore.Components.Web 3 | @using BlazorForms.Rendering.Standard.Components 4 | @using BlazorForms.Rendering.Interfaces -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Types/ComponentTypes.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Rendering.Types 2 | { 3 | public struct ContextMenuItemClickArgs 4 | { 5 | public string Pk; 6 | public string Action; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Extensions/SortDirection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BlazorForms.Shared 4 | { 5 | public enum SortDirection 6 | { 7 | None, 8 | Asc, 9 | Desc, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/.idea/.idea.CrmLightDemoApp/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Engine/Fluent/IFluentFlowRunEngine.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace BlazorForms.Flows 4 | { 5 | public interface IFluentFlowRunEngine : IFlowRunEngine 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Server/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*", 9 | 10 | } 11 | 12 | 13 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft.AspNetCore": "Warning" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/.idea/.idea.CrmLightDemoApp/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/CompanyList.razor: -------------------------------------------------------------------------------- 1 | @page "/company-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/PersonList.razor: -------------------------------------------------------------------------------- 1 | @page "/person-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/UserList.razor: -------------------------------------------------------------------------------- 1 | @page "/user-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/IEntity.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public interface IEntity 4 | { 5 | public int Id { get; set; } 6 | public bool Deleted { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/.idea/.idea.BlazorForms.Framework/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/.idea/.idea.CrmLightDemoApp/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IRoleRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IRoleRepository : IRepository 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/ClientCompanyList.razor: -------------------------------------------------------------------------------- 1 | @page "/client-company-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IFlowForm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public interface IFlowForm 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/proxy/BlazorForms.Proxyma/Interfaces/IModelProxyInterceptor.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Proxyma 2 | { 3 | public interface IModelProxyInterceptor 4 | { 5 | bool InterceptSetter(IProxyPropertyBagStore obj, string prop, object val); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Extensions/StatusList.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Shared.Extensions 2 | { 3 | public class StatusList 4 | { 5 | public virtual string Code { get; set; } 6 | public virtual string CodeName { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/ITenantedScope.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BlazorForms.Flows.Definitions 4 | { 5 | public interface ITenantedScope 6 | { 7 | Task GetTenantId(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Button.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class Button : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Header.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class Header : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Label.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class Label : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Table.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class Table : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/IBindingContextMenu.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public interface IBindingContextMenu 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/store/BlazorForms.ItemStore/Interfaces/IStoreSchemaEngine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.ItemStore 6 | { 7 | public interface IStoreSchemaEngine 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/.idea/.idea.CrmLightDemoApp/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/ClientCompanyList.razor: -------------------------------------------------------------------------------- 1 | @page "/client-company-list" 2 | 3 | 4 | 5 | @code { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/ICompanyRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface ICompanyRepository : IRepository 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IPersonRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IPersonRepository : IRepository 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/UserDetails.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain 4 | { 5 | public class UserDetails : User 6 | { 7 | public virtual string? PersonFullName { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/DateEdit.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DateEdit : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/DropDown.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DropDown : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/MoneyEdit.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class MoneyEdit : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Repeater.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class Repeater : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Subtitle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class Subtitle : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/TextArea.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class TextArea : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/TextEdit.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class TextEdit : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/BindingParameters.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared.BindingModel 6 | { 7 | public class BindingParameters 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Pages/_Host.cshtml: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @namespace BlazorFormsDemoBlazorApp.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | @{ 5 | Layout = "_Layout"; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/Pages/_Host.cshtml: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @namespace BlazorFormsDemoRadzenApp.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | @{ 5 | Layout = "_Layout"; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IBoardCardRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IBoardCardRepository : IRepository 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/Pages/_Host.cshtml: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @namespace BlazorForms.Admin.App.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | @{ 5 | Layout = "_Layout"; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/Autocomplete.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class Autocomplete : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/DatePicker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DatePicker : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/FileUpload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class FileUpload : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/PercentEdit.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class PercentEdit : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/Pages/_Host.cshtml: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @namespace BlazorFormsDemoFastDesignApp.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | @{ 5 | Layout = "_Layout"; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/Pages/_Host.cshtml: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @namespace BlazorFormsStateFlowDemoApp.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | @{ 5 | Layout = "_Layout"; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/TenantAccountDetails.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain 4 | { 5 | public class TenantAccountDetails : TenantAccount 6 | { 7 | public Company Company { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/.idea/.idea.BlazorForms.Framework/.idea/indexLayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/DropDownSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DropDownSearch : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/SelectableList.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class SelectableList : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/TextSearchEdit.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class TextSearchEdit : FormComponentBase 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/Artel/ArtelMemberEditFlow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Crm.Business.Artel 6 | { 7 | public class ArtelMemberEditFlow 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultCheckboxControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultCheckboxControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultDateEditControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultDateEditControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultDropdownControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultDropdownControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultNumberEditControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultNumberEditControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultTextEditControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultTextEditControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/Pages/_Host.cshtml: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @namespace BlazorFormsStateFlowDemoAppNuget.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | @{ 5 | Layout = "_Layout"; 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/.idea/.idea.CrmLightDemoApp/.idea/indexLayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/.idea/.idea.CrmLightDemoApp/.idea/indexLayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultFormattedViewControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultFormattedViewControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/Interfaces/IFormComponent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public interface IFormComponent 8 | { 9 | string GetFullName(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Widgets/TableDataWidget.razor: -------------------------------------------------------------------------------- 1 |

TableDataWidget

2 |

This is a table widget with parameters

3 | 4 |

DataSource: @DataSource

5 | 6 | @code { 7 | 8 | [Parameter] 9 | public string DataSource { get; set; } = ""; 10 | 11 | } -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Model/UserListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace CrmLightDemoApp.Onion.Services.Model 4 | { 5 | public class UserListModel : IFlowModel 6 | { 7 | public virtual List? Data { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultDropdownReadonlyControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultDropdownReadonlyControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Controls/DefaultReadonlyCheckboxControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class DefaultReadonlyCheckboxControl 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.PostgreSql/Nuspec/contentFiles/any/any/Platz.PostgreSql.Link/appsettings.postresql.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "PostgresNoSqlConnection": "Server=(Server);Database=(Database);Port=5432;User Id=(Login);Password=(Password);Ssl Mode=Require;" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Shared/Attributes/ProxyScopeAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Shared.Attributes 6 | { 7 | public class ProxyScopeAttribute : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.RadzenBlazor/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components 2 | @using Microsoft.AspNetCore.Components.Web 3 | @using MatBlazor 4 | @using BlazorForms.Rendering.RadzenBlazor.Components 5 | @using BlazorForms.Rendering.Interfaces 6 | @using Radzen 7 | @using Radzen.Blazor -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Interfaces/IClientDateService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace BlazorForms.Rendering 5 | { 6 | public interface IClientDateService 7 | { 8 | ValueTask GetLocalDateTime(DateTime? dateTime); 9 | } 10 | } -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/IBindingControlType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public interface IBindingControlType 8 | { 9 | string Binding { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Definitions/IReflectionProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform 6 | { 7 | public interface IReflectionProvider 8 | { 9 | T CloneObject(T source); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/Nuspec/cmd-old.bat: -------------------------------------------------------------------------------- 1 | rem 2 | cd C:\repos\BlazorForms\src\rendering\BlazorForms.Rendering.MaterialBlazor\Nuspec 3 | nuget.exe pack BlazorForms.Rendering.MaterialBlazor.nuspec -NonInteractive -OutputDirectory c:\temp\Nuget -Verbosity Detailed -version 0.1.310 4 | pause -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/Pages/Sample.razor: -------------------------------------------------------------------------------- 1 | @page "/sample" 2 | 3 | 4 | 5 | @code { 6 | EditFormOptions Options = new EditFormOptions { MudBlazorProvidersDefined = true, Variant=Variant.Filled }; 7 | } -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Model/UserListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Model 4 | { 5 | public class UserListModel : IFlowModel 6 | { 7 | public virtual List? Data { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IPersonCompanyLinkTypeRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IPersonCompanyLinkTypeRepository : IRepository 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Shared/Attributes/ResolveTableDataAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Shared.Attributes 6 | { 7 | public class ResolveTableDataAttribute : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /demo/StateFlow/DemoStateFlowObjects/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/Pages/Sample.razor: -------------------------------------------------------------------------------- 1 | @page "/sample" 2 | 3 | 4 | 5 | @code { 6 | EditFormOptions Options = new EditFormOptions { MudBlazorProvidersDefined = true, Variant=Variant.Filled }; 7 | } -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Model/PersonListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Model 4 | { 5 | public class PersonListModel : IFlowModel 6 | { 7 | public virtual List? Data { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/BoardCardHistoryDetails.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain 4 | { 5 | public class BoardCardHistoryDetails : BoardCardHistory 6 | { 7 | public virtual string? PersonFullName { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/Interfaces/IFormDefinitionParser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public interface IFormDefinitionParser 8 | { 9 | FormDetails Parse(Type formType); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/TableCountBindingControlType.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Shared 2 | { 3 | public class TableCountBindingControlType : IBindingControlType 4 | { 5 | public string Binding { get; set; } 6 | 7 | public string TableBinding { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Model/CompanyListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Model 4 | { 5 | public class CompanyListModel : IFlowModel 6 | { 7 | public virtual List? Data { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IFlowParams.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Flows.Definitions 2 | { 3 | public interface IFlowParams 4 | { 5 | string this[string index] { get; set;} 6 | string AssignedUser { get; set; } 7 | string AssignedTeam { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Definitions/Wrappers/JsonModelWrapper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform 6 | { 7 | public class JsonModelWrapper 8 | { 9 | public string ModelFullName { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/wasm/BlazorForms.Wasm.InlineFlows/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Flows/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Standard/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This file is to show how a library package may provide JavaScript interop features 2 | // wrapped in a .NET API 3 | 4 | window.exampleJsFunctions = { 5 | showPrompt: function (message) { 6 | return prompt(message, 'Type anything here'); 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/BindingControlType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public class BindingControlType : IBindingControlType 8 | { 9 | public string Binding { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/LeadSourceType.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public class LeadSourceType : IEntity 4 | { 5 | public int Id { get; set; } 6 | public bool Deleted { get; set; } 7 | public virtual string? Name { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/dynamic-code/BlazorForms.DynamicCode/Interfaces/IDynamicCodeEngine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.DynamicCode 8 | { 9 | public interface IDynamicCodeEngine 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IFlowContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public interface IFlowContext : IFlowContextNoModel 8 | { 9 | IFlowModel Model { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Core.Examples/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This file is to show how a library package may provide JavaScript interop features 2 | // wrapped in a .NET API 3 | 4 | window.exampleJsFunctions = { 5 | showPrompt: function (message) { 6 | return prompt(message, 'Type anything here'); 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules/Exceptions/RuleExecutionInfiniteLoopException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BlazorForms.FlowRules 4 | { 5 | public class RuleExecutionInfiniteLoopException : Exception 6 | { 7 | public RuleExecutionInfiniteLoopException(string message) : base(message) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/store/BlazorForms.Storage/Interfaces/IContextQuery.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Storage.Interfaces 8 | { 9 | public interface IContextQuery 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Model/ClientCompanyListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Model 4 | { 5 | public class ClientCompanyListModel : IFlowModel 6 | { 7 | public virtual List? Data { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/cicd/yml/variables.yml: -------------------------------------------------------------------------------- 1 | variables: 2 | azureSubscription: 'pc-partner-subscription' 3 | dockerRegistryServiceConnection: 'pc-container-registry' 4 | containerRegistry: 'procoders.azurecr.io' 5 | dockerfilePath: '**/Dockerfile' 6 | location: 'australiaeast' 7 | major: 1 8 | minor: $[counter(variables['major'], 1)] -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IObjectCloner.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Threading.Tasks; 5 | 6 | namespace BlazorForms.Flows 7 | { 8 | public interface IObjectCloner 9 | { 10 | Task CloneObject(T source); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This file is to show how a library package may provide JavaScript interop features 2 | // wrapped in a .NET API 3 | 4 | window.exampleJsFunctions = { 5 | showPrompt: function (message) { 6 | return prompt(message, 'Type anything here'); 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/cicd/yml/variables.yml: -------------------------------------------------------------------------------- 1 | variables: 2 | azureSubscription: 'pc-partner-subscription' 3 | dockerRegistryServiceConnection: 'pc-container-registry' 4 | containerRegistry: 'procoders.azurecr.io' 5 | dockerfilePath: '**/Dockerfile' 6 | location: 'australiaeast' 7 | major: 1 8 | minor: $[counter(variables['major'], 1)] -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Abstractions/IAppAuthState.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Services.Model; 2 | 3 | namespace CrmLightDemoApp.Onion.Services.Abstractions 4 | { 5 | public interface IAppAuthState 6 | { 7 | UserModel GetCurrentUser(); 8 | TenantAccountModel GetCurrentTenantAccount(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Model/CompanyListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using CrmLightDemoApp.Onion.Domain; 3 | 4 | namespace CrmLightDemoApp.Onion.Services.Model 5 | { 6 | public class CompanyListModel : IFlowModel 7 | { 8 | public virtual List? Data { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IFlowRunIdGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Threading.Tasks; 5 | 6 | namespace BlazorForms.Flows 7 | { 8 | public interface IFlowRunIdGenerator 9 | { 10 | Task GetNextFlowRunId(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Definitions/IApplicationPart.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform 6 | { 7 | public interface IApplicationPart 8 | { 9 | void Register(RegistrationContext context); 10 | void Initialize(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/proxy/BlazorForms.Proxyma/Model/ProxyPropertyBagStore.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Proxyma.Model 6 | { 7 | public class ProxyPropertyBagStore : IProxyPropertyBagStore 8 | { 9 | public ProxyPropertyBag PropertyBag { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Interfaces/ICustomFlowFormController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Rendering.State 8 | { 9 | public interface ICustomFlowFormController 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IUserRoleLinkRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IUserRoleLinkRepository : IRepository 6 | { 7 | Task> GetAllByUserIdAsync(int userId); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Model/PersonListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using CrmLightDemoApp.Onion.Domain.Entities; 3 | 4 | namespace CrmLightDemoApp.Onion.Services.Model 5 | { 6 | public class PersonListModel : IFlowModel 7 | { 8 | public virtual List? Data { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/cicd/config-Production.json: -------------------------------------------------------------------------------- 1 | { 2 | "environmentName": "prod", 3 | "blazor-forms-demo-service": { 4 | "serviceName": "blazor-forms-demo-service", 5 | "certificateName": "crmlight-platz-app", 6 | "domainName": "crmlight.platz.app" 7 | }, 8 | 9 | "cpu": "0.25", 10 | "memory": "0.5Gi" 11 | } -------------------------------------------------------------------------------- /src/dynamic-code/BlazorForms.DynamicCode/Interfaces/IDynamicFlowRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.DynamicCode.Interfaces 8 | { 9 | public interface IDynamicFlowRepository 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Model/RuleExecutionContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.FlowRules.Model 6 | { 7 | public class RuleExecutionContext 8 | { 9 | public RuleExecutionParameters ExecutionParameters { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Pages/Counter.razor: -------------------------------------------------------------------------------- 1 | @page "/counter" 2 | @using BlazorForms.Rendering.Flows 3 | 4 | 5 | 6 | @code { 7 | private int currentCount = 0; 8 | 9 | private void IncrementCount() 10 | { 11 | currentCount++; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Abstractions/IAppAuthState.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Store.Onion.Services.Model; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Abstractions 4 | { 5 | public interface IAppAuthState 6 | { 7 | UserModel GetCurrentUser(); 8 | TenantAccountModel GetCurrentTenantAccount(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/cicd/config-Production.json: -------------------------------------------------------------------------------- 1 | { 2 | "environmentName": "prod", 3 | "blazor-forms-demo-service": { 4 | "serviceName": "blazor-forms-demo-service", 5 | "certificateName": "crmlight-platz-app", 6 | "domainName": "crmlight.platz.app" 7 | }, 8 | 9 | "cpu": "0.25", 10 | "memory": "0.5Gi" 11 | } -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Model/FormLayout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Forms 8 | { 9 | public enum FormLayout 10 | { 11 | Default, 12 | TwoColumns, 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/proxy/BlazorForms.Proxyma/Interfaces/IProxyPropertyBagStore.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Proxyma.Model; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Proxyma 7 | { 8 | public interface IProxyPropertyBagStore 9 | { 10 | ProxyPropertyBag PropertyBag { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tests/FastReflectionBenchmarkApp/Program.cs: -------------------------------------------------------------------------------- 1 | using BenchmarkDotNet.Running; 2 | using FastReflectionBenchmarkApp; 3 | 4 | BenchmarkRunner.Run(); 5 | //string s = ReflectionUsage.GetValuePropertyDictionary(); 6 | //s = ReflectionUsage.GetValueNestedObjectDictionary(); 7 | //var s = ReflectionUsage.NestedEmitterFastGet(); 8 | Console.ReadLine(); -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/Pages/ListItemView.razor: -------------------------------------------------------------------------------- 1 | @page "/ListItemView/{pk}" 2 | 3 | Form V2 4 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Abstractions/IUserService.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Services.Model; 2 | 3 | namespace CrmLightDemoApp.Onion.Services.Abstractions 4 | { 5 | public interface IUserService 6 | { 7 | Task> GetAllUserDetailsAsync(); 8 | Task GetUserDetailsAsync(int id); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/Pages/RegisteredFlowsItemView.razor: -------------------------------------------------------------------------------- 1 | @page "/_BlazorForms/admin/registered-flows/{item}" 2 | @using BlazorForms.Rendering.Interfaces 3 | @using BlazorForms.Flows.Definitions 4 | @using BlazorForms.Rendering.State 5 | 6 | 7 | 8 | @code { 9 | [Parameter] 10 | public string Item { get; set; } 11 | } 12 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/CustomConfig/Model/CustomItemStoreConfig.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.ItemStore; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Platform 7 | { 8 | public class CustomItemStoreConfig 9 | { 10 | public StoreSchema Schema { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/proxy/BlazorForms.Proxyma/Interfaces/IProxyScopeConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Proxyma 6 | { 7 | public interface IProxyScopeConfiguration 8 | { 9 | IEnumerable GetScopeTypes(); 10 | string GetProxyEngineType(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/Components/Dashboard.razor.css: -------------------------------------------------------------------------------- 1 | .grid-layout { 2 | display: grid; 3 | grid-template-columns: repeat(10, 160px); 4 | grid-template-rows: repeat(10, 160px); 5 | grid-gap: 10px; 6 | } 7 | 8 | .grid-item { 9 | min-width: 160px; 10 | min-height: 160px; 11 | overflow-wrap: anywhere; 12 | } -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Interfaces/ITaskRulesDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.FlowRules 6 | { 7 | public interface ITaskRulesDefinition 8 | { 9 | string Name { get; } 10 | string ProcessTaskTypeFullName { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/store/BlazorForms.ItemStore/Interfaces/IStoreObjectResolver.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.ItemStore; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace BlazorForms.ItemStore 7 | { 8 | public interface IStoreObjectResolver 9 | { 10 | string ResolveField(StoreFieldReference field); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFlows/Mocks/MockTenantedScope.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using System.Threading.Tasks; 3 | 4 | namespace BlazorFormsDemoFlows 5 | { 6 | public class MockTenantedScope : ITenantedScope 7 | { 8 | public async Task GetTenantId() 9 | { 10 | return "1"; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/ITenantAccountRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface ITenantAccountRepository : IRepository 6 | { 7 | Task GetTenantAccountDetailsAsync(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Model/ClientCompanyListModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using CrmLightDemoApp.Onion.Domain; 3 | 4 | namespace CrmLightDemoApp.Onion.Services.Model 5 | { 6 | public class ClientCompanyListModel : IFlowModel 7 | { 8 | public virtual List? Data { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/Components/LayoutForm.razor.css: -------------------------------------------------------------------------------- 1 | .grid-layout { 2 | display: grid; 3 | grid-template-columns: repeat(10, 160px); 4 | grid-template-rows: repeat(10, 160px); 5 | grid-gap: 10px; 6 | } 7 | 8 | .grid-item { 9 | min-width: 160px; 10 | min-height: 160px; 11 | overflow-wrap: anywhere; 12 | } 13 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/Logic/BoardFormOptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Rendering.MudBlazorUI.Components 8 | { 9 | public class BoardFormOptions : FormOptions 10 | { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/Logic/EditFormOptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Rendering.MudBlazorUI.Components 8 | { 9 | public class EditFormOptions : FormOptions 10 | { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/DataStructures/Currency.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared.DataStructures 6 | { 7 | public class Currency 8 | { 9 | public virtual string ShortName { get; set; } 10 | public virtual string Name { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/UserEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/user-edit/{pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Engine/StateFlow/FlowContextExtensions.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | 3 | namespace BlazorForms.Flows 4 | { 5 | public static class FlowContextExtensions 6 | { 7 | public static string GetState(this IFlowContext context) 8 | { 9 | return context.CurrentTask; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Core.Examples/wwwroot/styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | This file is to show how CSS and other static resources (such as images) can be 3 | used from a library project/package. 4 | */ 5 | 6 | .my-component { 7 | border: 2px dashed red; 8 | padding: 1em; 9 | margin: 1em 0; 10 | background-image: url('background.png'); 11 | } 12 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Standard/wwwroot/styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | This file is to show how CSS and other static resources (such as images) can be 3 | used from a library project/package. 4 | */ 5 | 6 | .my-component { 7 | border: 2px dashed red; 8 | padding: 1em; 9 | margin: 1em 0; 10 | background-image: url('background.png'); 11 | } 12 | -------------------------------------------------------------------------------- /src/store/BlazorForms.ItemStore/Exceptions/SqlJsonQueryBuildException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.ItemStore 6 | { 7 | public class SqlJsonQueryBuildException: Exception 8 | { 9 | public SqlJsonQueryBuildException(string msg) : base(msg) 10 | { } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/CompanyEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/company-edit/{pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/PersonEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/person-edit/{pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.BusinessObjects/Model/FlowDataOptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Admin.BusinessObjects.Model 8 | { 9 | public class FlowDataOptions 10 | { 11 | public bool? ShowNamespaces; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Shared/Interfaces/IAutoMapperConfiguration.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Platform.Shared.Interfaces 7 | { 8 | public interface IAutoMapperConfiguration 9 | { 10 | MapperConfiguration Configuration { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/wwwroot/styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | This file is to show how CSS and other static resources (such as images) can be 3 | used from a library project/package. 4 | */ 5 | 6 | .my-component { 7 | border: 2px dashed red; 8 | padding: 1em; 9 | margin: 1em 0; 10 | background-image: url('background.png'); 11 | } 12 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/Components/FlowEditForm.razor.css: -------------------------------------------------------------------------------- 1 | .pz-grid-align { 2 | align-items: center; 3 | } 4 | 5 | .pz-clean-margin { 6 | margin: 0px; 7 | } 8 | 9 | .pz-group-grid { 10 | margin-top: 1rem; 11 | margin-bottom: 1rem; 12 | } 13 | 14 | .pz-progress { 15 | margin-top: 0.5rem; 16 | margin-bottom: 0.5rem; 17 | } 18 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoModels/Models/FrequencyTypeDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Crm.Domain.Models.Artel 6 | { 7 | public class FrequencyTypeDetails 8 | { 9 | public virtual string Code { get; set; } 10 | public virtual string Name { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Abstractions/IUserService.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Store.Onion.Services.Model; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Abstractions 4 | { 5 | public interface IUserService 6 | { 7 | Task> GetAllUserDetailsAsync(); 8 | Task GetUserDetailsAsync(int id); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Model/ResolutionModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using BlazorForms.Storage; 3 | 4 | namespace CrmLightDemoApp.Store.Onion.Services.Model 5 | { 6 | public class ResolutionModel : IEntity, IFlowModel 7 | { 8 | public int Id { get; set; } 9 | public bool Deleted { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/TenantSettings.razor: -------------------------------------------------------------------------------- 1 | @page "/tenant-settings" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/FormTaskStateEnum.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public enum FormTaskStateEnum 8 | { 9 | Initialized = 0, 10 | Loaded, 11 | Saved, 12 | Submitted, 13 | Rejected 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/Nuspec/cmd.bat: -------------------------------------------------------------------------------- 1 | rem 2 | cd C:\repos\BlazorForms\src\rendering\BlazorForms.Rendering.MaterialBlazor\ 3 | rem nuget.exe pack BlazorForms.Rendering.MaterialBlazor.nuspec -NonInteractive -OutputDirectory c:\temp\Nuget -Verbosity Detailed -version 0.1.304 4 | dotnet pack BlazorForms.Rendering.MaterialBlazor.csproj --output c:\temp\Nuget 5 | pause -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.RadzenBlazor/Components/SubtitleControl.razor: -------------------------------------------------------------------------------- 1 | @using BlazorForms.Shared 2 | 3 | @inherits ValueControl 4 | 5 | 12 | 13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Model/LeadSourceTypeModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Storage; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Model 4 | { 5 | public class LeadSourceTypeModel : IEntity 6 | { 7 | public int Id { get; set; } 8 | public bool Deleted { get; set; } 9 | public virtual string? Name { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/PersonEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/person-edit/{pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/UserEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/user-edit/{pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IBoardCardHistoryRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IBoardCardHistoryRepository : IRepository 6 | { 7 | Task> GetListByCardIdAsync(int cardId); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/wasm/BlazorForms.Wasm.InlineFlows/Mocks/MockTenantedScope.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using System.Threading.Tasks; 3 | 4 | namespace BlazorForms.Wasm.InlineFlows 5 | { 6 | public class MockTenantedScope : ITenantedScope 7 | { 8 | public async Task GetTenantId() 9 | { 10 | return "1"; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/CompanyEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/company-edit/{pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/TenantSettings.razor: -------------------------------------------------------------------------------- 1 | @page "/tenant-settings" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/UserRoleLink.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public class UserRoleLink : IEntity 4 | { 5 | public virtual int Id { get; set; } 6 | public virtual bool Deleted { get; set; } 7 | public virtual int UserId { get; set; } 8 | public virtual int RoleId { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/PersonCompanyListType.razor: -------------------------------------------------------------------------------- 1 | @page "/person-company-list-type/{Pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/RegisteredFlows.razor: -------------------------------------------------------------------------------- 1 | @page "/_BlazorForms/admin/registered-flows" 2 | @using BlazorForms.Rendering.Interfaces 3 | @using BlazorForms.Flows.Definitions 4 | @using BlazorForms.Rendering.State 5 | 6 | 7 | 8 | @code { 9 | } 10 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/FlowConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Flows.Definitions 8 | { 9 | public class FlowConstants 10 | { 11 | public const string SecondPass = "__FlowConstants:SecondPass"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/StateFlows/FormDef.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Flows.Definitions 8 | { 9 | public class FormDef 10 | { 11 | public string State { get; set; } 12 | public string FormType { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Definitions/Model/FlowRunUserViewDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform 6 | { 7 | public class FlowRunUserViewDetails 8 | { 9 | public string UserViewName { get; set; } 10 | public string UserViewCallbackTaskName { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*", 9 | 10 | "ConnectionStrings": { 11 | "SqlFlowRepositoryConnection": "Server=(local);Database=pcdev;Trusted_Connection=True;MultipleActiveResultSets=true" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/Pages/DemoForm.razor: -------------------------------------------------------------------------------- 1 | @page "/demoForm/{store:bool}" 2 | 3 | Form 4 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public bool Store { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*", 9 | 10 | "ConnectionStrings": { 11 | "SqlFlowRepositoryConnection": "Server=(local);Database=pcdev;Trusted_Connection=True;MultipleActiveResultSets=true", 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | BlazorFormsStateFlowDemoApp 4 | 5 |
6 | @**@ 9 | 10 |
11 | 12 |
13 | @Body 14 |
15 |
16 |
17 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/RegisteredFlows.razor: -------------------------------------------------------------------------------- 1 | @page "/_BlazorForms/admin/registered-flows" 2 | @using BlazorForms.Rendering.Interfaces 3 | @using BlazorForms.Flows.Definitions 4 | @using BlazorForms.Rendering.State 5 | 6 | 7 | 8 | @code { 9 | } 10 | -------------------------------------------------------------------------------- /src/.idea/.idea.BlazorForms.Framework/.idea/riderPublish.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*", 9 | 10 | "ConnectionStrings": { 11 | "SqlFlowRepositoryConnection": "Server=(local);Database=pcdev;Trusted_Connection=True;MultipleActiveResultSets=true" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BlazorForms 2 | Modern low-code framework that simplifies creation of flows, forms and rules. 3 | 4 | Pro Coders PTY LTD developers worked hard to bring it to open-source community. 5 | 6 | Our main contributors: Ev Uklad euklad@gmail.com and Michael Shmalko mutabot@gmail.com 7 | 8 | Please contact us if you need any help with BlazorForms 9 | 10 | We are based in Sydney, Australia 11 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Data/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorFormsDemoBlazorApp.Data 2 | { 3 | public class WeatherForecast 4 | { 5 | public DateTime Date { get; set; } 6 | 7 | public int TemperatureC { get; set; } 8 | 9 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 10 | 11 | public string? Summary { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Pages/DemoFormV2.razor: -------------------------------------------------------------------------------- 1 | @page "/demoFormV2/{store:bool}" 2 | 3 | Form V2 4 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public bool Store { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Shared/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorFormsDemoWasmNew.Shared 2 | { 3 | public class WeatherForecast 4 | { 5 | public DateTime Date { get; set; } 6 | 7 | public int TemperatureC { get; set; } 8 | 9 | public string? Summary { get; set; } 10 | 11 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 12 | } 13 | } -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*", 9 | 10 | "ConnectionStrings": { 11 | "SqlFlowRepositoryConnection": "Server=(local);Database=pcdev;Trusted_Connection=True;MultipleActiveResultSets=true" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | BlazorFormsStateFlowDemoApp 4 | 5 |
6 | @**@ 9 | 10 |
11 | 12 |
13 | @Body 14 |
15 |
16 |
17 | -------------------------------------------------------------------------------- /src/.idea/.idea.BlazorForms.Framework/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Rider ignored files 5 | /contentModel.xml 6 | /projectSettingsUpdater.xml 7 | /.idea.BlazorForms.Framework.iml 8 | /modules.xml 9 | # Editor-based HTTP Client requests 10 | /httpRequests/ 11 | # Datasource local storage ignored files 12 | /dataSources/ 13 | /dataSources.local.xml 14 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/FlowTaskDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class FlowTaskDetails 8 | { 9 | public string Name { get; set; } 10 | public bool IsBegin { get; set; } 11 | public bool IsEnd { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/ProcessFlow/Dto/FormBusinessRulesDto.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using BlazorForms.Platform; 3 | 4 | namespace BlazorForms.Platform.ProcessFlow.Dto 5 | { 6 | public class FormBusinessRulesDto 7 | { 8 | public FieldDisplayDetails[] DisplayProperties { get; set; } 9 | public IFlowModel Model { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Standard/Components/HeaderControl.razor: -------------------------------------------------------------------------------- 1 | @using BlazorForms.Rendering.State 2 | @using BlazorForms.Forms 3 | @using BlazorForms.FlowRules 4 | @using BlazorForms.Rendering.Validation 5 | @using BlazorForms.Shared 6 | 7 |
@ObjectValue.AsString()
8 | 9 | @code { 10 | [Parameter] 11 | public object ObjectValue { get; set; } 12 | } 13 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Interfaces/IRuleExecutionEngine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Threading.Tasks; 5 | 6 | namespace BlazorForms.FlowRules 7 | { 8 | public interface IRuleExecutionEngine 9 | { 10 | Task Execute(RuleExecutionParameters parameters); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/RepeaterBindingControlType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public class RepeaterBindingControlType : IBindingControlType 8 | { 9 | public string Binding { get; set; } 10 | 11 | public string TableBinding { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/BusinessObjects/AuthUser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Claims; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Platform.Crm.Domain.Models 7 | { 8 | public class AuthUser 9 | { 10 | public ClaimsPrincipal User { get; set; } 11 | public string Email { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/BusinessObjects/FrequencyTypeDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Crm.Domain.Models.Artel 6 | { 7 | public class FrequencyTypeDetails 8 | { 9 | public virtual string Code { get; set; } 10 | public virtual string Name { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Pages/ListV2Exception.razor: -------------------------------------------------------------------------------- 1 | @page "/list2exc" 2 | @using BlazorForms.Rendering.Interfaces 3 | @using BlazorForms.Flows.Definitions 4 | @using BlazorForms.Rendering.State 5 | 6 | @inject IDialogFormViewModel DialogVM 7 | 8 | 9 | 10 | @code { 11 | } 12 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/Data/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorFormsDemoFastDesignApp.Data 2 | { 3 | public class WeatherForecast 4 | { 5 | public DateTime Date { get; set; } 6 | 7 | public int TemperatureC { get; set; } 8 | 9 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 10 | 11 | public string? Summary { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/Pages/DemoFormV2.razor: -------------------------------------------------------------------------------- 1 | @page "/demoFormV2/{store:bool}" 2 | 3 | Form V2 4 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public bool Store { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoAppNuget/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*", 9 | 10 | "ConnectionStrings": { 11 | "SqlFlowRepositoryConnection": "Server=(local);Database=pcdev;Trusted_Connection=True;MultipleActiveResultSets=true" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/PersonCompanyListType.razor: -------------------------------------------------------------------------------- 1 | @page "/person-company-list-type/{Pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/.idea/.idea.CrmLightDemoApp/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Rider ignored files 5 | /modules.xml 6 | /.idea.CrmLightDemoApp.iml 7 | /projectSettingsUpdater.xml 8 | /contentModel.xml 9 | # Editor-based HTTP Client requests 10 | /httpRequests/ 11 | # Datasource local storage ignored files 12 | /dataSources/ 13 | /dataSources.local.xml 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/ClientCompanyEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/client-company-edit/{pk}" 2 | 3 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string Pk { get; set; } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Pages/StaticTypeEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/static-type-edit/{entityType}" 2 | @inject NavigationManager NavigationManager; 3 | 4 | @code { 5 | [Parameter] 6 | public string entityType { get; set; } 7 | 8 | protected override void OnAfterRender(bool firstRender) 9 | { 10 | NavigationManager.NavigateTo($"/static-type-edit-internal/{entityType}"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/UserViewModelPageResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class UserViewModelPageResult 8 | { 9 | public IFlowModel Model { get; set; } 10 | public IEnumerable MethodTaskAttributes { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/.idea/.idea.CrmLightDemoApp/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Rider ignored files 5 | /modules.xml 6 | /.idea.CrmLightDemoApp.iml 7 | /projectSettingsUpdater.xml 8 | /contentModel.xml 9 | # Editor-based HTTP Client requests 10 | /httpRequests/ 11 | # Datasource local storage ignored files 12 | /dataSources/ 13 | /dataSources.local.xml 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/StaticTypeEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/static-type-edit/{entityType}" 2 | @inject NavigationManager NavigationManager; 3 | 4 | @code { 5 | [Parameter] 6 | public string entityType { get; set; } 7 | 8 | protected override void OnAfterRender(bool firstRender) 9 | { 10 | NavigationManager.NavigateTo($"/static-type-edit-internal/{entityType}"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IFlowModelListItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Flows.Definitions 8 | { 9 | public interface IFlowModelListItem 10 | { 11 | public bool Changed { get; set; } 12 | public bool Deleted { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/FormComponentBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class FormComponentBase : IFormComponent 8 | { 9 | public virtual string GetFullName() 10 | { 11 | throw new NotImplementedException(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Cosmos/Configuration/CosmosDbOptions.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Platform.Cosmos.Configuration; 2 | 3 | public class CosmosDbOptions 4 | { 5 | public string Database { get; set; } 6 | public string Uri { get; set; } 7 | public string Key { get; set; } 8 | public string EnvironmentTag { get; set; } 9 | public string FlowCollection { get; set; } 10 | } -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Definitions/Shared/PlatformConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Definitions.Shared 6 | { 7 | public static class PlatformConstants 8 | { 9 | public static string BaseUri = "BaseUri"; 10 | public static string BaseDateFormat = "dd/MM/yyyy"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tests/BlazorForms.IntegrationTests.Server/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Integration.Tests.Server 2 | { 3 | public class WeatherForecast 4 | { 5 | public DateTime Date { get; set; } 6 | 7 | public int TemperatureC { get; set; } 8 | 9 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 10 | 11 | public string? Summary { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/dynamic-code/BlazorForms.DynamicCode/Engine/SqlDynamicFlowRepository.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.DynamicCode.Interfaces; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace BlazorForms.DynamicCode.Engine 9 | { 10 | public class SqlDynamicFlowRepository : IDynamicFlowRepository 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/SelectableListBindingControlType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public class SelectableListBindingControlType : IBindingControlType 8 | { 9 | public string Binding { get; set; } 10 | 11 | public string TargetBinding { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Logging/ILogStreamer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms 6 | { 7 | public interface ILogStreamer 8 | { 9 | void TrackMetric(string name, long time); 10 | void TrackMetric(string name, long time, string operationName); 11 | void TrackException(Exception exc); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/Role.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public class Role : IEntity 4 | { 5 | public virtual int Id { get; set; } 6 | public virtual bool Deleted { get; set; } 7 | public virtual string Name { get; set; } 8 | 9 | // FK 10 | public List RefUserRoleLink { get; } = new(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/JsonForms/IStoreObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Forms 8 | { 9 | public interface IStoreObject 10 | { 11 | public string Name { get; set; } 12 | public bool Validated { get; set; } 13 | } 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/Parser/FormAccessDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class FormAccessDetails 8 | { 9 | public bool OnlyAssignee { get; set; } 10 | public string Roles { get; set; } 11 | public FormFlowRuleDetails CustomRule { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Types/DynamicListFormRowContextMenuItemClickArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Rendering.Types 8 | { 9 | public class DynamicListFormRowContextMenuItemClickArgs 10 | { 11 | public string Pk; 12 | 13 | public string Action; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/Board.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public class Board : IEntity 4 | { 5 | public virtual int Id { get; set; } 6 | public virtual bool Deleted { get; set; } 7 | 8 | public virtual string Name { get; set; } 9 | 10 | // FK 11 | public List RefBoardCard { get; } = new(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/ProcessFlow/Models/FieldRuleDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform 6 | { 7 | public class FieldRuleDetails 8 | { 9 | public string RuleCode { get; set; } 10 | public string RuleTypeCode { get; set; } 11 | public string RuleTriggerTypeCode { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Model/ExecutableRuleDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.FlowRules 6 | { 7 | public class ExecutableRuleDetails 8 | { 9 | public Type RuleClassType { get; set; } 10 | public IFlowRule Instance { get; set; } 11 | public string RuleCode { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/store/BlazorForms.ItemStore/Engine/QueryParameter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.ItemStore 6 | { 7 | public class QueryParameter 8 | { 9 | public string Name { get; set; } 10 | // int, string, date, etc. 11 | public string Type { get; set; } 12 | public object Value { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/CustomConfig/CustomModelConfig1.json: -------------------------------------------------------------------------------- 1 | { 2 | "FlowName": "Platform.Crm.Business.Clients.ProjectListEditFlow", 3 | "TaskName": "PopulateDetailsAsync", 4 | "Models": [ 5 | { 6 | "Name": "ExtraProject", 7 | "PkJsonPath": "$.Project.Id", 8 | "Query": { 9 | "SchemaName": "_pc1", 10 | "TableName": "ExtraProjectTable" 11 | } 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/DataStructures/FileDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Shared.DataStructures 8 | { 9 | public class FileDetails 10 | { 11 | public virtual string Name { get; set; } 12 | public virtual byte[] Content { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/store/BlazorForms.ItemStore/Mappings/ModelMapping.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.ItemStore 6 | { 7 | public class ModelMapping 8 | { 9 | public string LeftModelName { get; set; } 10 | public string RightModelName { get; set; } 11 | public Dictionary FieldMappings { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/Pages/StoredFlows.razor: -------------------------------------------------------------------------------- 1 | @page "/_BlazorForms/admin/stored-flows" 2 | @using BlazorForms.Rendering.Interfaces 3 | @using BlazorForms.Flows.Definitions 4 | @using BlazorForms.Rendering.State 5 | 6 | @inject IDialogFormViewModel DialogVM 7 | 8 | 9 | 10 | @code { 11 | } 12 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/FlowDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class FlowDetails 8 | { 9 | public string Name { get; set; } 10 | public Type ClassType { get; set; } 11 | public Dictionary Tasks { get; internal set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/Components/HeaderControl.razor: -------------------------------------------------------------------------------- 1 | @using BlazorForms.Rendering.State 2 | @using MudBlazor 3 | @using BlazorForms.Forms 4 | @using BlazorForms.FlowRules 5 | @using BlazorForms.Rendering.Validation 6 | @using BlazorForms.Shared 7 | 8 | @ObjectValue.AsString() 9 | 10 | @code { 11 | [Parameter] 12 | public object ObjectValue { get; set; } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/cicd/yml/build.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | - name: 'dockerfilePath' 3 | 4 | jobs: 5 | - job: Build 6 | displayName: Build 7 | 8 | steps: 9 | - task: Docker@2 10 | inputs: 11 | containerRegistry: $(dockerRegistryServiceConnection) 12 | repository: '$(imageName)' 13 | tags: '$(imageTag)' 14 | command: 'buildAndPush' 15 | Dockerfile: '${{ parameters.dockerfilePath }}' -------------------------------------------------------------------------------- /src/dynamic-code/BlazorForms.DynamicCode/Interfaces/IDynamicCodeValidationEngine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.DynamicCode.Interfaces 8 | { 9 | public interface IDynamicCodeValidationEngine 10 | { 11 | public void Validate(Type ruleInterface, DynamicCodeContext ctx); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IFlowTask.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Shared; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Flows.Definitions 8 | { 9 | public interface IFlowTask 10 | { 11 | Task Execute(IFlowContext context, Type taskType, ILogStreamer logStreamer); 12 | //void Skip(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/TaskExecutionResultStateEnum.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Flows.Definitions 7 | { 8 | public enum TaskExecutionResultStateEnum 9 | { 10 | [Description("Failed")] 11 | Fail = 0, 12 | [Description("Success")] 13 | Success 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Definitions/IAuthState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Security.Claims; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Platform 8 | { 9 | public interface IAuthState 10 | { 11 | Task User(); 12 | Task UserLogin(); 13 | Task SetLogin(string login); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/Components/HeaderControl.razor: -------------------------------------------------------------------------------- 1 | @using BlazorForms.Rendering.State 2 | @using MatBlazor 3 | @using BlazorForms.Forms 4 | @using BlazorForms.FlowRules 5 | @using BlazorForms.Rendering.Validation 6 | @using BlazorForms.Shared 7 | 8 | @ObjectValue.AsString() 9 | 10 | 11 | @code { 12 | [Parameter] 13 | public object ObjectValue { get; set; } 14 | } 15 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Model/FormSubmittedArgs.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Rendering.State 8 | { 9 | public class FormSubmittedArgs 10 | { 11 | public IFlowContext Context { get; set; } 12 | public IFlowModel Model { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/Pages/Counter.razor: -------------------------------------------------------------------------------- 1 | @page "/counter" 2 | 3 | Counter 4 | 5 |

Counter

6 | 7 |

Current count: @currentCount

8 | 9 | 10 | 11 | @code { 12 | private int currentCount = 0; 13 | 14 | private void IncrementCount() 15 | { 16 | currentCount++; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/cicd/yml/build.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | - name: 'dockerfilePath' 3 | 4 | jobs: 5 | - job: Build 6 | displayName: Build 7 | 8 | steps: 9 | - task: Docker@2 10 | inputs: 11 | containerRegistry: $(dockerRegistryServiceConnection) 12 | repository: '$(imageName)' 13 | tags: '$(imageTag)' 14 | command: 'buildAndPush' 15 | Dockerfile: '${{ parameters.dockerfilePath }}' -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/BaseComponents/CustomComponent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class CustomComponent : IFormComponent 8 | where T : class, IFormComponent 9 | { 10 | public string GetFullName() 11 | { 12 | throw new NotImplementedException(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/store/BlazorForms.ItemStore/Interfaces/IStoreCodeGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.ItemStore 6 | { 7 | public interface IStoreCodeGenerator 8 | { 9 | void GenerateStoreModel(); 10 | void GenerateDomainModel(); 11 | void GenerateStoreToDomainMapping(); 12 | void GenerateDomainToStoreMapping(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/Models/ArtelMemberModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using BlazorForms.Flows.Definitions; 5 | using BlazorForms.Platform.Crm.Domain.Models.Artel; 6 | 7 | namespace BlazorForms.Platform.Crm.Artel 8 | { 9 | public class ArtelMemberModel : FlowModelBase 10 | { 11 | public virtual ArtelMemberDetails Member { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Model/PersonCompanyLinkDetailsModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using CrmLightDemoApp.Onion.Domain; 3 | 4 | namespace CrmLightDemoApp.Onion.Services.Model 5 | { 6 | public class PersonCompanyLinkDetailsModel : PersonCompanyLinkDetails, IFlowModelListItem 7 | { 8 | public virtual bool Changed { get; set; } 9 | public virtual bool Deleted { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Platz.Config.Link/appsettings.mssql.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "SqlFlowRepositoryConnection": "Server=(local);Database=;Trusted_Connection=True;MultipleActiveResultSets=true;" 4 | }, 5 | 6 | "SqlJsonDatabaseDriver": { 7 | "ConnectionString": "Server=(local);Database=;Trusted_Connection=True;MultipleActiveResultSets=true" 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/cicd/bicep/key-vault.bicep: -------------------------------------------------------------------------------- 1 | param keyVaultName string 2 | param location string 3 | 4 | resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = { 5 | name: keyVaultName 6 | location: location 7 | properties: { 8 | enabledForTemplateDeployment: true 9 | tenantId: tenant().tenantId 10 | accessPolicies: [ 11 | ] 12 | sku: { 13 | name: 'standard' 14 | family: 'A' 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Shared/Exceptions/AuthStateException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Shared.Exceptions 6 | { 7 | public class AuthStateException : Exception 8 | { 9 | public AuthStateException() : base() 10 | { } 11 | 12 | public AuthStateException(string message) : base(message) 13 | { } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.Standard/Components/LoginPageButton.razor: -------------------------------------------------------------------------------- 1 | @name 2 | 3 | @inject NavigationManager NavigationManager 4 | 5 | @code { 6 | 7 | [Parameter] 8 | public string name { get; set; } 9 | 10 | private async Task LoginPageOnclick() 11 | { 12 | var url = "/"; 13 | NavigationManager.NavigateTo(url, forceLoad: true); 14 | } 15 | } -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Reflection/IAssemblyRegistrator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Shared 7 | { 8 | public interface IAssemblyRegistrator 9 | { 10 | IEnumerable GetConsideredAssemblies(); 11 | void InjectAssembly(Assembly assembly); 12 | void RemoveAssembly(Assembly assembly); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/Models/ArtelTeamListModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using BlazorForms.Flows.Definitions; 5 | using BlazorForms.Platform.Crm.Domain.Models.Artel; 6 | 7 | namespace BlazorForms.Platform.Crm.Artel 8 | { 9 | public class ArtelTeamListModel : FlowModelBase 10 | { 11 | public virtual List Members { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/Pages/StartFlowFormGeneric.razor: -------------------------------------------------------------------------------- 1 | @page "/start-flow-form-generic/{flowName}/{Pk}" 2 | 3 | 4 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string FlowName { get; set; } 10 | 11 | [Parameter] 12 | public string Pk { get; set; } 13 | 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/cicd/bicep/key-vault.bicep: -------------------------------------------------------------------------------- 1 | param keyVaultName string 2 | param location string 3 | 4 | resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = { 5 | name: keyVaultName 6 | location: location 7 | properties: { 8 | enabledForTemplateDeployment: true 9 | tenantId: tenant().tenantId 10 | accessPolicies: [ 11 | ] 12 | sku: { 13 | name: 'standard' 14 | family: 'A' 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/.dockerignore: -------------------------------------------------------------------------------- 1 | **/.classpath 2 | **/.dockerignore 3 | **/.env 4 | **/.git 5 | **/.gitignore 6 | **/.project 7 | **/.settings 8 | **/.toolstarget 9 | **/.vs 10 | **/.vscode 11 | **/*.*proj.user 12 | **/*.dbmdl 13 | **/*.jfm 14 | **/azds.yaml 15 | **/bin 16 | **/charts 17 | **/docker-compose* 18 | **/Dockerfile* 19 | **/node_modules 20 | **/npm-debug.log 21 | **/obj 22 | **/secrets.dev.yaml 23 | **/values.dev.yaml 24 | LICENSE 25 | README.md -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Infrastructure/RepositoryBase.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows; 2 | using BlazorForms.Shared; 3 | using CrmLightDemoApp.Onion.Domain.Entities; 4 | using CrmLightDemoApp.Onion.Domain.Repositories; 5 | using Microsoft.EntityFrameworkCore; 6 | 7 | namespace CrmLightDemoApp.Onion.Infrastructure 8 | { 9 | public class RepositoryBase : LocalCacheRepository 10 | where T : class, IEntity 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/cicd/bicep/service-identity.bicep: -------------------------------------------------------------------------------- 1 | param location string 2 | param tags object 3 | 4 | 5 | /////////////////////////////////// 6 | // Resource names 7 | 8 | param svcUserName string 9 | 10 | 11 | /////////////////////////////////// 12 | // New resources 13 | 14 | resource svcUser 'Microsoft.ManagedIdentity/userAssignedIdentities@2022-01-31-preview' = { 15 | name: svcUserName 16 | location: location 17 | tags: tags 18 | } 19 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Definitions/Model/SelectableListItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform 6 | { 7 | public class SelectableListItem 8 | { 9 | public int Id { get; set; } 10 | public string PrimaryText { get; set; } 11 | public string SecondaryText { get; set; } 12 | public object Object { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Nuspec/cmdTemp.bat: -------------------------------------------------------------------------------- 1 | rem 2 | rem nuget.exe pack BlazorForms.Rendering.Flows.nuspec -NonInteractive -OutputDirectory c:\temp\Nuget -Verbosity Detailed -version 1.9.5 3 | rem nuget.exe pack BlazorForms.Cosmos.nuspec -NonInteractive -OutputDirectory c:\temp\Nuget -Verbosity Detailed -version 1.9.0 4 | nuget.exe pack BlazorForms.Shared.nuspec -NonInteractive -OutputDirectory c:\temp\Nuget -Verbosity Detailed -version 1.11.0 5 | 6 | pause -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MaterialBlazor/Components/LoginPageButton.razor: -------------------------------------------------------------------------------- 1 | @name 2 | 3 | @inject NavigationManager NavigationManager 4 | 5 | @code { 6 | 7 | [Parameter] 8 | public string name { get; set; } 9 | 10 | private async Task LoginPageOnclick() 11 | { 12 | var url = "/"; 13 | NavigationManager.NavigateTo(url, forceLoad: true); 14 | } 15 | } -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Interfaces/IClientBrowserService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace BlazorForms.Rendering 5 | { 6 | public interface IClientBrowserService 7 | { 8 | ValueTask GetBrowserLanguage(); 9 | ValueTask GetLocalDateTimeOffset(); 10 | ValueTask GetLocalDateTimezone(); 11 | ValueTask GetWindowOrigin(); 12 | } 13 | } -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/.dockerignore: -------------------------------------------------------------------------------- 1 | **/.classpath 2 | **/.dockerignore 3 | **/.env 4 | **/.git 5 | **/.gitignore 6 | **/.project 7 | **/.settings 8 | **/.toolstarget 9 | **/.vs 10 | **/.vscode 11 | **/*.*proj.user 12 | **/*.dbmdl 13 | **/*.jfm 14 | **/azds.yaml 15 | **/bin 16 | **/charts 17 | **/docker-compose* 18 | **/Dockerfile* 19 | **/node_modules 20 | **/npm-debug.log 21 | **/obj 22 | **/secrets.dev.yaml 23 | **/values.dev.yaml 24 | LICENSE 25 | README.md -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/cicd/bicep/service-identity.bicep: -------------------------------------------------------------------------------- 1 | param location string 2 | param tags object 3 | 4 | 5 | /////////////////////////////////// 6 | // Resource names 7 | 8 | param svcUserName string 9 | 10 | 11 | /////////////////////////////////// 12 | // New resources 13 | 14 | resource svcUser 'Microsoft.ManagedIdentity/userAssignedIdentities@2022-01-31-preview' = { 15 | name: svcUserName 16 | location: location 17 | tags: tags 18 | } 19 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/PersonCompanyLink.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public class PersonCompanyLink : IEntity 4 | { 5 | public virtual int Id { get; set; } 6 | public virtual int PersonId { get; set; } 7 | public virtual int CompanyId { get; set; } 8 | public virtual int LinkTypeId { get; set; } 9 | public virtual bool Deleted { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/PersonCompanyLinkType.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public class PersonCompanyLinkType : IEntity 4 | { 5 | public virtual int Id { get; set; } 6 | public virtual string? Name { get; set; } 7 | public virtual bool Deleted { get; set; } 8 | 9 | // FK 10 | public List RefPersonCompanyLink { get; } = new(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IPersonCompanyRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IPersonCompanyRepository : IRepository 6 | { 7 | Task> GetByPersonIdAsync(int personId); 8 | Task> GetByCompanyIdAsync(int companyId); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Exceptions/FlowStopException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class FlowStopException : Exception 8 | { 9 | public FlowStopException() : base() 10 | { 11 | } 12 | 13 | public FlowStopException(string message) : base(message) 14 | { 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/FlowSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows 6 | { 7 | public class FlowSettings 8 | { 9 | public FlowExecutionStoreModel StoreModel { get; set; } 10 | } 11 | 12 | public enum FlowExecutionStoreModel 13 | { 14 | Full = 1, 15 | FullNoHistory, 16 | NoStoreTillStop 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.Shared/Exceptions/ConfigurationException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Platform.Shared.Exceptions 6 | { 7 | public class ConfigurationException : Exception 8 | { 9 | public ConfigurationException() : base() 10 | { } 11 | 12 | public ConfigurationException(string message) : base(message) 13 | { } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Model/AccessRuleModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.FlowRules 6 | { 7 | public class AccessRuleModel 8 | { 9 | public string AssignedUser { get; set; } 10 | public string AssignedTeam { get; set; } 11 | 12 | public bool Allow { get; set; } 13 | //public IFlowModel Model { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/Pages/StartFlowFormGeneric.razor: -------------------------------------------------------------------------------- 1 | @page "/start-flow-form-generic/{flowName}/{Pk}" 2 | 3 | 4 | 5 | 6 | 7 | @code { 8 | [Parameter] 9 | public string FlowName { get; set; } 10 | 11 | [Parameter] 12 | public string Pk { get; set; } 13 | 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.BusinessObjects/BlazorForms.Admin.BusinessObjects.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | enable 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Exceptions/FlowFailedException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class FlowFailedException : Exception 8 | { 9 | public FlowFailedException() : base() 10 | { 11 | } 12 | 13 | public FlowFailedException(string message) : base(message) 14 | { 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Model/RuleTypes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Text; 5 | 6 | namespace BlazorForms.FlowRules 7 | { 8 | public enum RuleTypes 9 | { 10 | [Description("display")] 11 | DisplayRule = 1, 12 | [Description("validation")] 13 | ValidationRule, 14 | [Description("access")] 15 | AccessRule 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Model/RuleValidationResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Text; 5 | 6 | namespace BlazorForms.FlowRules 7 | { 8 | public enum RuleValidationResult 9 | { 10 | [Description("ok")] 11 | Ok = 0, 12 | [Description("warning")] 13 | Warning = 1, 14 | [Description("error")] 15 | Error = 2, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Types/Confirmations.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Shared 8 | { 9 | public enum ConfirmType 10 | { 11 | ChangesWillBeLost, 12 | Delete, 13 | DeleteItem, 14 | } 15 | 16 | public enum ConfirmButtons 17 | { 18 | OkCancel, 19 | YesNo, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 |
4 | 7 | 8 |
9 |
10 | About 11 |
12 | 13 |
14 | @Body 15 |
16 |
17 |
18 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Pages/ClientCompanyEdit.razor: -------------------------------------------------------------------------------- 1 | @page "/client-company-edit/{pk}" 2 | 3 | @using BlazorForms.Rendering.MudBlazorUI.Components 4 | 5 | 7 | 8 | 9 | @code { 10 | [Parameter] 11 | public string Pk { get; set; } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Interfaces/IDataFieldProcessor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public interface IDataFieldProcessor 8 | { 9 | List PrepareFields(List list, Type type); 10 | void ResolveLabel(Type type, DataField field); 11 | void ResolveControlType(Type type, DataField field); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/Parser/FormFlowRuleDetails.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | public class FormFlowRuleDetails 8 | { 9 | public string FormRuleCode { get; set; } 10 | public string FormRuleType { get; set; } 11 | public string FormRuleTriggerType { get; set; } 12 | public bool IsOuterProperty { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/Onion/Services/Model/RoleModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Storage; 2 | 3 | namespace CrmLightDemoApp.Store.Onion.Services.Model 4 | { 5 | public class RoleModel : IEntity 6 | { 7 | public virtual int Id { get; set; } 8 | public virtual bool Deleted { get; set; } 9 | public virtual string Name { get; set; } 10 | 11 | // FK 12 | public List RefUserRoleLink { get; } = new(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Binding/RepeaterParameters.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Shared.BindingModel; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Flows.Definitions 7 | { 8 | public class RepeaterParameters : BindingParameters 9 | { 10 | public bool IsFixedList { get; set; } 11 | public int? CurrentRow { get; set; } 12 | public bool IsLineEditing { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Exceptions/FlowCreateException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class FlowCreateException : Exception 8 | { 9 | public FlowCreateException() : base() 10 | { 11 | 12 | } 13 | 14 | public FlowCreateException(string message) : base(message) 15 | { 16 | 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/ClientKeptContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using BlazorForms.Flows.Definitions; 4 | 5 | namespace BlazorForms.Flows 6 | { 7 | public class ClientKeptContext : FlowContextNoModel 8 | { 9 | public ClientKeptContext() 10 | { 11 | } 12 | 13 | public bool IsEmpty() 14 | { 15 | return string.IsNullOrEmpty(RefId); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Platz.Config.Link/appsettings.localdb.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "SqlFlowRepositoryConnection": "Server=(localdb)\\mssqllocaldb;Database=BlazorForms;Trusted_Connection=True;MultipleActiveResultSets=true;" 4 | }, 5 | 6 | "SqlJsonDatabaseDriver": { 7 | "ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=BlazorForms;Trusted_Connection=True;MultipleActiveResultSets=true;" 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/Stubs/MockTenantedScope.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace BlazorForms.Platform.Stubs 9 | { 10 | public class MockTenantedScope : ITenantedScope 11 | { 12 | public async Task GetTenantId() 13 | { 14 | return "1"; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.RadzenBlazor/Components/LoginPageButton.razor: -------------------------------------------------------------------------------- 1 | @name 2 | 3 | @inject NavigationManager NavigationManager 4 | 5 | @code { 6 | 7 | [Parameter] 8 | public string name { get; set; } 9 | 10 | private async Task LoginPageOnclick() 11 | { 12 | var url = "/"; 13 | NavigationManager.NavigateTo(url, forceLoad: true); 14 | } 15 | } -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Model/FieldDetails.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Shared; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Collections.ObjectModel; 5 | using System.Text; 6 | 7 | namespace BlazorForms.FlowRules 8 | { 9 | public class FieldDetails 10 | { 11 | public Collection Rules { get; set; } 12 | 13 | // new binding concept 14 | public FieldBinding Binding { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/TaskRulesDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | using System.Text; 5 | 6 | namespace BlazorForms.FlowRules 7 | { 8 | public class TaskRulesDefinition 9 | { 10 | public string Name { get; set; } 11 | public string ProcessTaskTypeFullName { get; set; } 12 | 13 | public Collection Fields { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Extensions/Dates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public static class DateTimeExtensions 8 | { 9 | public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek) 10 | { 11 | int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7; 12 | return dt.AddDays(-1 * diff).Date; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/Definitions/IAccessService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | namespace BlazorForms.Platform.Crm.Definitions.Services 5 | { 6 | public interface IAccessService 7 | { 8 | Task> GetUserClaims(string email); 9 | Task CheckClaim(string email, string claim); 10 | Task UpdateUserClaims(string email, IEnumerable claims); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Exceptions/InvalidFlowException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class InvalidFlowException : Exception 8 | { 9 | public InvalidFlowException() : base() 10 | { 11 | 12 | } 13 | 14 | public InvalidFlowException(string message) : base(message) 15 | { 16 | 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Model/FieldRule.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Shared; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Forms 7 | { 8 | public class FieldRule 9 | { 10 | public Type RuleType { get; set; } 11 | public FormRuleTriggers Trigger { get; set; } 12 | public Type EntityType { get; set; } 13 | public bool IsOuterProperty { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.BackgroundService/Interfaces/IBackgroundTaskQueue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace BlazorForms.Platform.BackgroundTasks 6 | { 7 | public interface IBackgroundTaskQueue 8 | { 9 | void QueueBackgroundWorkItem(Func workItem); 10 | 11 | Task> DequeueAsync(CancellationToken cancellationToken); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering.MudBlazorUI/Logic/FormOptions.cs: -------------------------------------------------------------------------------- 1 | using MudBlazor; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace BlazorForms.Rendering.MudBlazorUI 9 | { 10 | public abstract class FormOptions : FormOptionsBase 11 | { 12 | public Variant Variant { get; set; } 13 | public bool MudBlazorProvidersDefined { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tests/BlazorForms.Platform.Tests/HighStore/Model/UserRoleLink.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using BlazorForms.Storage; 3 | 4 | namespace BlazorForms.Platform.Tests.HighStore 5 | { 6 | public class UserRoleLink : IEntity, IFlowModel 7 | { 8 | public virtual int Id { get; set; } 9 | public virtual bool Deleted { get; set; } 10 | public virtual int UserId { get; set; } 11 | public virtual int RoleId { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/Definitions/IEmailService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Threading.Tasks; 5 | using BlazorForms.Platform.Crm.Domain.Models.Messages; 6 | 7 | namespace BlazorForms.Platform.Crm.Definitions.Services 8 | { 9 | public interface IEmailService 10 | { 11 | Task SendMessage(EmailMessage message); 12 | Task IsValidAddress(string email); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Repositories/IUserRepository.cs: -------------------------------------------------------------------------------- 1 | using CrmLightDemoApp.Onion.Domain.Entities; 2 | 3 | namespace CrmLightDemoApp.Onion.Domain.Repositories 4 | { 5 | public interface IUserRepository : IRepository 6 | { 7 | Task> GetAllUserDetailsAsync(); 8 | ContextQuery GetAllDetailsContextQuery(); 9 | Task> RunAllDetailsContextQueryAsync(ContextQuery ctx); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Exceptions/InvalidStateException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class InvalidStateException : Exception 8 | { 9 | public InvalidStateException() : base() 10 | { 11 | 12 | } 13 | 14 | public InvalidStateException(string message) : base(message) 15 | { 16 | 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Reflection/InvalidDependencyException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public class InvalidDependencyException : Exception 8 | { 9 | public InvalidDependencyException() : base() 10 | { 11 | 12 | } 13 | 14 | public InvalidDependencyException(string message) : base(message) 15 | { 16 | 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Core/MockNavigationManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Microsoft.AspNetCore.Components; 5 | 6 | namespace BlazorForms.Tests.Framework.Core 7 | { 8 | public class MockNavigationManager : NavigationManager 9 | { 10 | protected override void NavigateToCore(string uri, bool forceLoad) 11 | { 12 | throw new NotImplementedException(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /demo/BlazorFormsStateFlowDemoApp/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.AspNetCore.Components.Web.Virtualization 8 | @using Microsoft.JSInterop 9 | @using BlazorFormsStateFlowDemoApp 10 | @using BlazorFormsStateFlowDemoApp.Shared 11 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/TaskExecutionFlowStateEnum.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Flows.Definitions 7 | { 8 | public enum TaskExecutionFlowStateEnum 9 | { 10 | [Description("Stop")] 11 | Stop = 0, 12 | [Description("In progress")] 13 | Continue, 14 | [Description("Finished")] 15 | Finished 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/BlazorForms.Shared.Tests/Models/EmailModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared.Tests.Models 6 | { 7 | public class EmailModel 8 | { 9 | public virtual int? EmailId { get; set; } 10 | 11 | public virtual string EmailAddress { get; set; } 12 | 13 | public virtual string EmailTypeCode { get; set; } 14 | 15 | public virtual bool IsPrimary { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/BlazorForms.Shared.Tests/Models/PhoneModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared.Tests.Models 6 | { 7 | public class PhoneModel 8 | { 9 | public virtual int? PhoneId { get; set; } 10 | 11 | public virtual string PhoneNumber { get; set; } 12 | 13 | public virtual string PhoneTypeCode { get; set; } 14 | 15 | public virtual bool IsPrimary { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/dynamic-code/BlazorForms.DynamicCode/Interfaces/IDynamicFlowProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.DynamicCode 8 | { 9 | public interface IDynamicFlowProvider 10 | { 11 | DynamicCodeContext GetFlow(string fullName); 12 | void RemoveFlow(string fullName); 13 | DynamicCodeContext CompileFlow(DynamicCodeParameters ps); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform/ProcessFlow/Dto/FormDefinitionResponse.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Platform; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Collections.ObjectModel; 5 | using System.Text; 6 | 7 | namespace BlazorForms.Platform.ProcessFlow.Dto 8 | { 9 | public class FormDefinitionResponse 10 | { 11 | public Collection Fields { get; set; } 12 | public Collection DisplayProperties { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/rules/BlazorForms.FlowRules.Definition/Interfaces/IRuleDefinitionParser.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | using System.Text; 5 | 6 | namespace BlazorForms.FlowRules 7 | { 8 | public interface IRuleDefinitionParser 9 | { 10 | TaskRulesDefinition Parse(Type taskType); 11 | IEnumerable FindAllRules(IEnumerable assemblies); 12 | IFlowRule CreateRuleInstance(Type t); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/BindingModel/ListBindingControlType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public class ListBindingControlType : IBindingControlType 8 | { 9 | public string Binding { get; set; } 10 | 11 | public string ItemsBinding { get; set; } 12 | 13 | public string IdBinding { get; set; } 14 | 15 | public string NameBinding { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/wasm/BlazorForms.Wasm.InlineFlows/Mocks/MockObjectCloner.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using BlazorForms.Flows; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace BlazorForms.Wasm.InlineFlows 9 | { 10 | public class MockObjectCloner : IObjectCloner 11 | { 12 | public async Task CloneObject(T source) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Core/MockObjectCloner.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using BlazorForms.Flows; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace BlazorForms.Tests.Framework.Core 9 | { 10 | public class MockObjectCloner : IObjectCloner 11 | { 12 | public async Task CloneObject(T source) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Pages/EditFormMudUI.razor: -------------------------------------------------------------------------------- 1 | @page "/demoForm3/{store:bool}" 2 | 3 | @using BlazorForms.Rendering.MudBlazorUI.Components 4 | 5 | Form V2 6 | 7 | 9 | 10 | @code { 11 | [Parameter] 12 | public bool Store { get; set; } 13 | } 14 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/IFlowModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Shared; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Dynamic; 5 | using System.Text; 6 | 7 | namespace BlazorForms.Flows.Definitions 8 | { 9 | public interface IFlowModel 10 | { 11 | } 12 | 13 | public interface IFlowModelExtended : IFlowModel 14 | { 15 | ExpandoObject Bag { get; } 16 | 17 | Dictionary Ext { get; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Model/FormAllowAccess.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Forms 8 | { 9 | public class FormAllowAccess 10 | { 11 | public bool Allow { get; set; } 12 | public bool OnlyAssignee { get; set; } 13 | public string Roles { get; set; } 14 | public Type CustomRule { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/platform/BlazorForms.Platform.BackgroundService/HostedService/HostedFeaturesToggle.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Platform.Config; 2 | 3 | namespace BlazorForms.Platform.BackgroundTasks.HostedService 4 | { 5 | public class HostedFeaturesToggle 6 | { 7 | public static EnvironmentFeatureToggle DisableBackgroundServiceFeature { get; set; } = new DisableBackgroundService(); 8 | 9 | private class DisableBackgroundService : EnvironmentFeatureToggle 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Extensions/HashSetExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Shared 6 | { 7 | public static class HashSetExtensions 8 | { 9 | //HashSet 10 | 11 | public static void Set(this HashSet s, T value) where T: class 12 | { 13 | if(!s.Contains(value)) 14 | { 15 | s.Add(value); 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tests/BlazorForms.Tests.Framework/Crm/Models/ArtelProjectListModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using BlazorForms.Flows.Definitions; 5 | using BlazorForms.Platform.Crm.Domain.Models; 6 | using BlazorForms.Platform.Crm.Domain.Models.Artel; 7 | 8 | namespace BlazorForms.Platform.Crm.Artel 9 | { 10 | public class ArtelProjectListModel : FlowModelBase 11 | { 12 | public virtual List Projects { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoModels/Models/NavigationModel1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using BlazorForms.Flows.Definitions; 7 | 8 | namespace BlazorFormsDemoModels.Models 9 | { 10 | public class NavigationModel1 : FlowModelBase 11 | { 12 | public string? WelcomeText { get; set; } 13 | public string? UserName { get; set; } 14 | public bool Continue { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/Pages/StartFlowFormGeneric.razor: -------------------------------------------------------------------------------- 1 | @page "/start-flow-form-generic/{flowName}/{Pk}" 2 | @using BlazorForms.Rendering.MaterialBlazor.Components 3 | 4 | 5 | 6 | 7 | 8 | @code { 9 | [Parameter] 10 | public string FlowName { get; set; } 11 | 12 | [Parameter] 13 | public string Pk { get; set; } 14 | 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /tests/BlazorForms.Platform.Tests/HighStore/Model/Role.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using BlazorForms.Storage; 3 | 4 | namespace BlazorForms.Platform.Tests.HighStore 5 | { 6 | public class Role : IEntity, IFlowModel 7 | { 8 | public virtual int Id { get; set; } 9 | public virtual bool Deleted { get; set; } 10 | public virtual string Name { get; set; } 11 | 12 | // FK 13 | public List RefUserRoleLink { get; } = new(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoWasmNew/Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 | Index 4 | 5 |

Hello, world!

6 | 7 | Welcome to your new app. 8 | 9 | @* 10 | *@ 11 | @code { 12 | private int currentCount = 0; 13 | private string RefId { get; set; } 14 | 15 | private void IncrementCount() 16 | { 17 | currentCount++; 18 | } 19 | } -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/Pages/ToolBar.razor: -------------------------------------------------------------------------------- 1 | @using MudBlazor 2 | 3 | @Caption 4 | 5 | 7 | 8 | @code { 9 | [Parameter] 10 | public string Caption { get; set; } 11 | 12 | [Parameter] 13 | public EventCallback OnSearch { get; set; } 14 | } 15 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/cicd/bicep/law.bicep: -------------------------------------------------------------------------------- 1 | param location string 2 | param name string 3 | 4 | resource law 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' = { 5 | name: name 6 | location: location 7 | properties: any({ 8 | retentionInDays: 30 9 | features: { 10 | searchVersion: 1 11 | } 12 | sku: { 13 | name: 'PerGB2018' 14 | } 15 | }) 16 | } 17 | output clientId string = law.properties.customerId 18 | output clientSecret string = law.listKeys().primarySharedKey 19 | -------------------------------------------------------------------------------- /src/dynamic-code/BlazorForms.DynamicCode/Interfaces/IDynamicCodeValidationRule.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.DynamicCode.Interfaces 8 | { 9 | public interface IDynamicCodeValidationRule 10 | { 11 | void Validate(DynamicCodeContext ctx); 12 | } 13 | 14 | public interface IDynamicCodeFlowValidationRule : IDynamicCodeValidationRule 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Interfaces/ITaskExecutor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Threading.Tasks; 5 | 6 | namespace BlazorForms.Flows.Definitions 7 | { 8 | public interface ITaskExecutor 9 | { 10 | IFlowContext CurrentContext { get; } 11 | 12 | Task CallTask(Type taskType); 13 | Task CallForm(Type formType); 14 | Task CallViewDataCallback(Type formType, string callbackMethodName); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/FlowEvent.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace BlazorForms.Flows 7 | { 8 | public delegate void FlowEvent(object sender, FlowEventArgs e); 9 | 10 | public class FlowEventArgs 11 | { 12 | public string TaskName { get; set; } 13 | public IFlowContext Context { get; set; } 14 | public IFlowModelExtended Model { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/shared/BlazorForms.Shared/Reflection/IKnownTypesBinder.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using Newtonsoft.Json.Serialization; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | namespace BlazorForms.Shared 8 | { 9 | public interface IKnownTypesBinder : ISerializationBinder 10 | { 11 | JsonSerializerSettings JsonSerializerSettings { get; } 12 | IEnumerable KnownTypes { get; } 13 | Dictionary KnownTypesDict { get; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Pages/StartFlowFormV2Generic.razor: -------------------------------------------------------------------------------- 1 | @page "/start-flow-form-v2-generic/{flowName}/{Pk}" 2 | @using BlazorForms.Rendering.MaterialBlazor.Components 3 | 4 | 5 | 6 | 7 | 8 | @code { 9 | [Parameter] 10 | public string FlowName { get; set; } 11 | 12 | [Parameter] 13 | public string Pk { get; set; } 14 | 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/cicd/bicep/law.bicep: -------------------------------------------------------------------------------- 1 | param location string 2 | param name string 3 | 4 | resource law 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' = { 5 | name: name 6 | location: location 7 | properties: any({ 8 | retentionInDays: 30 9 | features: { 10 | searchVersion: 1 11 | } 12 | sku: { 13 | name: 'PerGB2018' 14 | } 15 | }) 16 | } 17 | output clientId string = law.properties.customerId 18 | output clientSecret string = law.listKeys().primarySharedKey 19 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Services/Model/TenantAccountModel.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Flows.Definitions; 2 | using BlazorForms.Shared; 3 | using CrmLightDemoApp.Onion.Domain; 4 | 5 | namespace CrmLightDemoApp.Onion.Services.Model 6 | { 7 | public class TenantAccountModel : TenantAccountDetails, IFlowModel 8 | { 9 | public static TenantAccountModel FromDetails(TenantAccountDetails val) 10 | { 11 | var model = new TenantAccountModel(); 12 | val.ReflectionCopyTo(model); 13 | return model; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Exceptions/FlowInvalidDependencyException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Flows.Definitions 6 | { 7 | public class FlowInvalidDependencyException : Exception 8 | { 9 | public FlowInvalidDependencyException() : base() 10 | { 11 | 12 | } 13 | 14 | public FlowInvalidDependencyException(string message) : base(message) 15 | { 16 | 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/proxy/BlazorForms.Proxyma/Model/ProxyPropertyBag.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Proxyma.Model 6 | { 7 | public class ProxyPropertyBag 8 | { 9 | public string JsonPath { get; set; } 10 | public string Name { get; set; } 11 | public object Parent { get; set; } 12 | public object Model { get; set; } 13 | public int? Index { get; set; } 14 | public object Key { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/admin/BlazorForms.Admin.App/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | BlazorForms.Admin.App 4 | 5 |
6 | 9 | 10 |
11 |
12 | About 13 |
14 | 15 |
16 | @Body 17 |
18 |
19 |
20 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/Attributes/ComponentGroupAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace BlazorForms.Forms 6 | { 7 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)] 8 | public class ComponentGroupAttribute : Attribute 9 | { 10 | public string Name { get; set; } 11 | 12 | public ComponentGroupAttribute(string groupName) 13 | { 14 | Name = groupName; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/Flows/Customer/ICustomerService.cs: -------------------------------------------------------------------------------- 1 | namespace MudBlazorUIDemo.Flows.Customer; 2 | 3 | public interface ICustomerService 4 | { 5 | Task GetByIdAsync(string Uid); 6 | Task DeleteByIdAsync(string Uid); 7 | Task UpsertAsync(CustomerType customer, CancellationToken cancellationToken); 8 | Task> GetAllCustomersAsync(CancellationToken cancellationToken); 9 | Task> GetAllTags(CancellationToken cancellationToken); 10 | } -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/Pages/Customer/CustomerList.razor: -------------------------------------------------------------------------------- 1 | @page "/customer-list" 2 | @using MudBlazorUIDemo.Flows.Customer 3 | 4 | 5 | 6 | @code { 7 | 8 | private readonly ListFormOptions _options = new ListFormOptions 9 | { 10 | Variant = Variant.Outlined, 11 | MudBlazorProvidersDefined = true, 12 | DataOptimization = DataOptimization.ServerPagination, 13 | UseToolBarCaption = true, 14 | }; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /src/flows/BlazorForms.Flows.Definitions/Model/StateFlows/StateDef.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Flows.Definitions 8 | { 9 | public class StateDef 10 | { 11 | public string State { get; set; } 12 | public string Type { get; set; } 13 | public string Caption { get; set; } 14 | public bool IsEnd { get; internal set; } 15 | public Func OnBeginAsync { get; internal set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | BlazorFormsDemoBlazorApp 4 | 5 |
6 | 9 | 10 |
11 |
12 | About 13 |
14 | 15 |
16 | @Body 17 |
18 |
19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoFastDesignApp/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | BlazorFormsDemoFastDesignApp 4 | 5 |
6 | 9 | 10 |
11 |
12 | About 13 |
14 | 15 |
16 | @Body 17 |
18 |
19 |
20 | -------------------------------------------------------------------------------- /seed/BlazorFormsSandpit/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /seed/BlazorFormsSeed/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.AspNetCore.Components.Web.Virtualization 8 | @using Microsoft.JSInterop 9 | @using BlazorFormsSeed 10 | @using BlazorFormsSeed.Shared 11 | @using BlazorForms.Rendering.MudBlazorUI.Components 12 | @using MudBlazor 13 | -------------------------------------------------------------------------------- /src/forms/BlazorForms.Forms.Definitions/FluentForms/Model/ConfirmationDetails.cs: -------------------------------------------------------------------------------- 1 | using BlazorForms.Shared; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace BlazorForms.Forms.Definitions.FluentForms.Model 9 | { 10 | public class ConfirmationDetails 11 | { 12 | public ConfirmType Type { get; set; } 13 | public string Message { get; set; } 14 | public ConfirmButtons Buttons { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Types/DashboardParams.cs: -------------------------------------------------------------------------------- 1 | namespace BlazorForms.Rendering.Types; 2 | 3 | public record DashboardParams 4 | { 5 | public List? Widgets { get; set; } 6 | } 7 | 8 | public record DashboardWidget 9 | { 10 | public int Row { get; set; } 11 | public int Col { get; set; } 12 | public int RowSpan { get; set; } 13 | public int ColSpan { get; set; } 14 | public Type WidgetType { get; set; } 15 | public Dictionary Parameters { get; set; } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/rendering/BlazorForms.Rendering/Types/FormOptionsBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace BlazorForms.Rendering 8 | { 9 | public abstract class FormOptionsBase 10 | { 11 | public string? DateFormat { get; set; } 12 | public bool AllowAnonymousAccess { get; set; } 13 | public bool AllowFlowStorage { get; set; } 14 | public bool SupressExceptions { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoBlazorApp/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /demo/BlazorFormsDemoRadzenApp/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /demo/MudBlazorUIDemo/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.AspNetCore.Components.Web.Virtualization 8 | @using Microsoft.JSInterop 9 | @using MudBlazorUIDemo 10 | @using MudBlazorUIDemo.Shared 11 | 12 | @using MudBlazor 13 | @using BlazorForms.Rendering.MudBlazorUI.Components 14 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp.Store/App.razor: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Not found 8 | 9 |

Sorry, there's nothing at this address.

10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /seed/CrmLightDemoApp/Onion/Domain/Entities/ClientCompany.cs: -------------------------------------------------------------------------------- 1 | namespace CrmLightDemoApp.Onion.Domain.Entities 2 | { 3 | public class ClientCompany : IEntity 4 | { 5 | public virtual int Id { get; set; } 6 | public virtual int CompanyId { get; set; } 7 | public virtual DateTime? StartContractDate { get; set; } 8 | public virtual int? ClientManagerId { get; set; } 9 | public virtual int? AlternativeClientManagerId { get; set; } 10 | public virtual bool Deleted { get; set; } 11 | } 12 | } 13 | --------------------------------------------------------------------------------