├── .gitignore
├── LICENSE
├── README.md
├── azure-pipelines.yml
├── demo
├── BlazorFormsDemoBlazorApp
│ ├── App.razor
│ ├── BlazorFormsDemoBlazorApp.csproj
│ ├── Data
│ │ ├── WeatherForecast.cs
│ │ └── WeatherForecastService.cs
│ ├── Pages
│ │ ├── Counter.razor
│ │ ├── DashboardDemo.razor
│ │ ├── DemoCustomForm.razor
│ │ ├── DemoCustomFormTyped.razor
│ │ ├── DemoFieldSet.razor
│ │ ├── DemoFormV2.razor
│ │ ├── DemoLayoutForm.razor
│ │ ├── EditFormMudUI.razor
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── FetchData.razor
│ │ ├── Index.razor
│ │ ├── ListMudUI.razor
│ │ ├── ListV2.razor
│ │ ├── ListV2Exception.razor
│ │ ├── StartFlowFormV2Generic.razor
│ │ ├── _Host.cshtml
│ │ └── _Layout.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ ├── NavMenu.razor.css
│ │ └── SurveyPrompt.razor
│ ├── Widgets
│ │ ├── ImageWidget.razor
│ │ └── TableDataWidget.razor
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ ├── favicon.ico
│ │ └── img
│ │ └── 20191005-BMNT-104.jpg
├── BlazorFormsDemoFastDesignApp
│ ├── App.razor
│ ├── BlazorFormsDemoFastDesignApp.csproj
│ ├── Data
│ │ ├── WeatherForecast.cs
│ │ └── WeatherForecastService.cs
│ ├── Pages
│ │ ├── Counter.razor
│ │ ├── DemoCustomForm.razor
│ │ ├── DemoCustomFormTyped.razor
│ │ ├── DemoFormV2.razor
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── FetchData.razor
│ │ ├── Index.razor
│ │ ├── StartFlowFormGeneric.razor
│ │ ├── _Host.cshtml
│ │ └── _Layout.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ ├── NavMenu.razor.css
│ │ └── SurveyPrompt.razor
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.ico
├── BlazorFormsDemoFlows
│ ├── BlazorFormsDemoFlows.csproj
│ ├── Flows
│ │ ├── ArtelProjectSettingsFlow.cs
│ │ ├── DocumentFlow.cs
│ │ ├── FluentArtelProjectSettings.cs
│ │ ├── FormArtelProjectSettings.cs
│ │ ├── NavigationFlow1.cs
│ │ ├── SampleEditFlowWithException.cs
│ │ ├── SampleListEditFlow.cs
│ │ ├── SampleListFlow.cs
│ │ ├── SampleListFlowWithException.cs
│ │ └── SampleSilentFlow.cs
│ ├── Forms
│ │ ├── FieldSetSampleForm1.cs
│ │ ├── FieldSetSampleForm1.json
│ │ └── FluentFormGroupedArtelProjectSettings.cs
│ └── Mocks
│ │ ├── MockFlowRepository.cs
│ │ └── MockTenantedScope.cs
├── BlazorFormsDemoModels
│ ├── BlazorFormsDemoModels.csproj
│ ├── Class1.cs
│ └── Models
│ │ ├── ArtelProjectDetails.cs
│ │ ├── ArtelProjectSettingsModel.cs
│ │ ├── ArtelProjectStatistics.cs
│ │ ├── ArtelRoleDetails.cs
│ │ ├── FrequencyTypeDetails.cs
│ │ ├── NavigationModel1.cs
│ │ └── SampleModel1.cs
├── BlazorFormsDemoRadzenApp
│ ├── App.razor
│ ├── BlazorFormsDemoRadzenApp.csproj
│ ├── Pages
│ │ ├── CustomStartFlowForm.razor
│ │ ├── DemoCustomForm.razor
│ │ ├── DemoCustomFormTyped.razor
│ │ ├── DemoForm.razor
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.razor
│ │ ├── List.razor
│ │ ├── StartFlowFormGeneric.razor
│ │ ├── _Host.cshtml
│ │ └── _Layout.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ ├── NavMenu.razor.css
│ │ └── SurveyPrompt.razor
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.ico
├── BlazorFormsDemoWasmNew
│ ├── Client
│ │ ├── App.razor
│ │ ├── BlazorFormsDemoWasmNew.Client.csproj
│ │ ├── Flows
│ │ │ ├── InlineNavigationFlow1.cs
│ │ │ └── InlineNavigationFlow2.cs
│ │ ├── Pages
│ │ │ ├── Counter.razor
│ │ │ ├── Counter2.razor
│ │ │ ├── FetchData.razor
│ │ │ ├── Index.razor
│ │ │ ├── InlineNavigation
│ │ │ │ ├── InlineForm1.razor
│ │ │ │ ├── InlineForm2.razor
│ │ │ │ ├── InlineForm3.razor
│ │ │ │ └── InlineNavigationStart.razor
│ │ │ ├── List.razor
│ │ │ ├── ListItemView.razor
│ │ │ ├── NavigationForm1.razor
│ │ │ ├── NavigationForm2.razor
│ │ │ ├── NavigationForm3.razor
│ │ │ ├── NavigationFormBase.razor
│ │ │ ├── NavigationStart.razor
│ │ │ └── StartFlowFormGeneric.razor
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Shared
│ │ │ ├── MainLayout.razor
│ │ │ ├── MainLayout.razor.css
│ │ │ ├── NavMenu.razor
│ │ │ ├── NavMenu.razor.css
│ │ │ └── SurveyPrompt.razor
│ │ ├── _Imports.razor
│ │ └── wwwroot
│ │ │ ├── css
│ │ │ ├── app.css
│ │ │ ├── bootstrap
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ └── bootstrap.min.css.map
│ │ │ └── open-iconic
│ │ │ │ ├── FONT-LICENSE
│ │ │ │ ├── ICON-LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ │ ├── favicon.ico
│ │ │ ├── icon-192.png
│ │ │ └── index.html
│ ├── Server
│ │ ├── BlazorFormsDemoWasmNew.Server.csproj
│ │ ├── Controllers
│ │ │ └── WeatherForecastController.cs
│ │ ├── Pages
│ │ │ ├── Error.cshtml
│ │ │ └── Error.cshtml.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── SampleFlows
│ │ │ ├── SampleFlow1.cs
│ │ │ ├── SampleListEditFlow.cs
│ │ │ ├── SampleListFlow.cs
│ │ │ ├── SampleSilentFlow.cs
│ │ │ └── SampleSilentFlowFluentForm.cs
│ │ ├── appsettings.Development.json
│ │ └── appsettings.json
│ └── Shared
│ │ ├── BlazorFormsDemoWasmNew.Shared.csproj
│ │ ├── SampleModel1.cs
│ │ └── WeatherForecast.cs
├── BlazorFormsStateFlowDemoApp
│ ├── App.razor
│ ├── BlazorFormsStateFlowDemoApp.csproj
│ ├── BusinessObjects
│ │ ├── DocumentApi.cs
│ │ ├── DocumentFlow.cs
│ │ ├── DocumentFlowBase.cs
│ │ ├── DocumentModel.cs
│ │ ├── DocumentViewModel.cs
│ │ ├── ServiceCollectionExtensions.cs
│ │ └── WorkingDaysCustomTransitionTrigger.cs
│ ├── Components
│ │ └── TransactionTable.razor
│ ├── Pages
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.razor
│ │ ├── _Host.cshtml
│ │ └── _Layout.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ └── NavMenu.razor.css
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.ico
├── BlazorFormsStateFlowDemoAppNuget
│ ├── App.razor
│ ├── BlazorFormsStateFlowDemoAppNuget.csproj
│ ├── Components
│ │ └── TransactionTable.razor
│ ├── FodyWeavers.xml
│ ├── FodyWeavers.xsd
│ ├── Pages
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.razor
│ │ ├── _Host.cshtml
│ │ └── _Layout.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ └── NavMenu.razor.css
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.ico
├── MudBlazorUIDemo
│ ├── App.razor
│ ├── Flows
│ │ ├── Customer
│ │ │ ├── CustomerEditFlow.cs
│ │ │ ├── CustomerFlowModel.cs
│ │ │ ├── CustomerListFlow.cs
│ │ │ ├── CustomerService.cs
│ │ │ ├── ICustomerService.cs
│ │ │ ├── MockCustomerDataGenerator.cs
│ │ │ └── RegisterServices.cs
│ │ ├── RandomNameHelper.cs
│ │ ├── SampleEditFlow.cs
│ │ ├── SampleListLargeEditFlow.cs
│ │ ├── SampleListLargeFlow.cs
│ │ └── SampleStateFlow.cs
│ ├── MudBlazorUIDemo.csproj
│ ├── Pages
│ │ ├── BoardMudUI.razor
│ │ ├── Customer
│ │ │ ├── CustomerEdit.razor
│ │ │ ├── CustomerEdit.razor~Added CustomerFlow demos
│ │ │ ├── CustomerEdit.razor~refs
│ │ │ │ └── remotes
│ │ │ │ │ └── origin
│ │ │ │ │ └── main
│ │ │ ├── CustomerList.razor
│ │ │ ├── CustomerList.razor~Added CustomerFlow demos
│ │ │ └── CustomerList.razor~refs
│ │ │ │ └── remotes
│ │ │ │ └── origin
│ │ │ │ └── main
│ │ ├── EditFormMudUI.razor
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.razor
│ │ ├── ListLarge.razor
│ │ ├── ListMudUI.razor
│ │ ├── SampleEditForm.razor
│ │ ├── ToolBar.razor
│ │ └── _Host.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── AppBar.razor
│ │ ├── AppBar.razor.cs
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ ├── NavMenu.razor.css
│ │ └── SurveyPrompt.razor
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── assets
│ │ └── blackAsset-2@4x.png
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.png
└── StateFlow
│ └── DemoStateFlowObjects
│ ├── BusinessObjects
│ ├── DocumentApi.cs
│ ├── DocumentFlow.cs
│ ├── DocumentFlowBase.cs
│ ├── DocumentModel.cs
│ ├── DocumentViewModel.cs
│ ├── ServiceCollectionExtensions.cs
│ └── WorkingDaysCustomTransitionTrigger.cs
│ ├── Component1.razor
│ ├── Component1.razor.css
│ ├── Components
│ └── TransactionTable.razor
│ ├── DemoStateFlowObjects.csproj
│ ├── ExampleJsInterop.cs
│ ├── _Imports.razor
│ └── wwwroot
│ ├── background.png
│ └── exampleJsInterop.js
├── seed
├── BlazorFormsSandpit
│ ├── App.razor
│ ├── BlazorFormsSandpit.csproj
│ ├── BlazorFormsSandpit.sln
│ ├── Flows
│ │ └── SampleFlow.cs
│ ├── Pages
│ │ ├── Index.razor
│ │ ├── Sample.razor
│ │ └── _Host.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── AppBar.razor
│ │ ├── AppBar.razor.cs
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ └── NavMenu.razor.css
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── assets
│ │ └── blackAsset-2@4x.png
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.png
├── BlazorFormsSeed
│ ├── App.razor
│ ├── BlazorFormsSeed.csproj
│ ├── BlazorFormsSeed.sln
│ ├── Flows
│ │ └── SampleFlow.cs
│ ├── Pages
│ │ ├── Index.razor
│ │ ├── Sample.razor
│ │ └── _Host.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── AppBar.razor
│ │ ├── AppBar.razor.cs
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ └── NavMenu.razor.css
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot
│ │ ├── assets
│ │ └── blackAsset-2@4x.png
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.png
├── CrmLightDemoApp.Store
│ ├── .dockerignore
│ ├── .idea
│ │ └── .idea.CrmLightDemoApp
│ │ │ └── .idea
│ │ │ ├── .gitignore
│ │ │ ├── encodings.xml
│ │ │ ├── indexLayout.xml
│ │ │ └── vcs.xml
│ ├── App.razor
│ ├── AzureExtensions.cs
│ ├── Components
│ │ ├── Home.razor
│ │ └── UserAccount.razor
│ ├── ConfigurationBuilder.cs
│ ├── CrmLightDemoApp.Store.csproj
│ ├── Dockerfile
│ ├── GlobalSettings.cs
│ ├── Onion
│ │ ├── OnionServiceCollectionExtensions.cs
│ │ └── Services
│ │ │ ├── Abstractions
│ │ │ ├── IAppAuthState.cs
│ │ │ ├── IBoardService.cs
│ │ │ ├── INotificationService.cs
│ │ │ └── IUserService.cs
│ │ │ ├── Flow
│ │ │ ├── Admin
│ │ │ │ ├── TenantAccountEditFlow.cs
│ │ │ │ ├── UserEditFlow.cs
│ │ │ │ └── UserListFlow.cs
│ │ │ ├── ClientCompanyEditFlow.cs
│ │ │ ├── ClientCompanyListFlow.cs
│ │ │ ├── CompanyEditFlow.cs
│ │ │ ├── CompanyListFlow.cs
│ │ │ ├── LeadBoard
│ │ │ │ ├── CardHistoryRuleHelper.cs
│ │ │ │ ├── CompanyDialogFlow.cs
│ │ │ │ ├── FormCardCommit.cs
│ │ │ │ ├── FormContactedCardEdit.cs
│ │ │ │ ├── FormLeadCardEdit.cs
│ │ │ │ ├── LeadBoardStateFlow.cs
│ │ │ │ └── PersonDialogFlow.cs
│ │ │ ├── PersonCompanyLinkTypeEditFlow.cs
│ │ │ ├── PersonEditFlow.cs
│ │ │ ├── PersonListFlow.cs
│ │ │ ├── Resolution
│ │ │ │ └── ResolutionFlow.cs
│ │ │ └── StaticTypeEditFlow.cs
│ │ │ ├── MockAppAuthState.cs
│ │ │ ├── Model
│ │ │ ├── CardHistoryModel.cs
│ │ │ ├── ClientCompanyListModel.cs
│ │ │ ├── ClientCompanyModel.cs
│ │ │ ├── CompanyListModel.cs
│ │ │ ├── CompanyModel.cs
│ │ │ ├── LeadBoardCardModel.cs
│ │ │ ├── LeadSourceTypeModel.cs
│ │ │ ├── PersonCompanyLinkModel.cs
│ │ │ ├── PersonCompanyLinkTypeModel.cs
│ │ │ ├── PersonListModel.cs
│ │ │ ├── PersonModel.cs
│ │ │ ├── ResolutionModel.cs
│ │ │ ├── RoleModel.cs
│ │ │ ├── StaticDataModel.cs
│ │ │ ├── TenantAccountModel.cs
│ │ │ ├── UserListModel.cs
│ │ │ ├── UserModel.cs
│ │ │ └── UserRoleLinkModel.cs
│ │ │ ├── NotificationService.cs
│ │ │ └── UserService.cs
│ ├── Pages
│ │ ├── ClientCompanyEdit.razor
│ │ ├── ClientCompanyList.razor
│ │ ├── CompanyEdit.razor
│ │ ├── CompanyList.razor
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.razor
│ │ ├── LeadBoard.razor
│ │ ├── PersonCompanyListType.razor
│ │ ├── PersonEdit.razor
│ │ ├── PersonList.razor
│ │ ├── RegisteredFlows.razor
│ │ ├── RegisteredFlowsView.razor
│ │ ├── StaticTypeEdit.razor
│ │ ├── StaticTypeEditInternal.razor
│ │ ├── TenantSettings.razor
│ │ ├── UserEdit.razor
│ │ ├── UserList.razor
│ │ └── _Host.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Shared
│ │ ├── AppBar.razor
│ │ ├── AppBar.razor.cs
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ ├── NavMenu.razor.css
│ │ └── SurveyPrompt.razor
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── cicd
│ │ ├── azure-pipelines.yml
│ │ ├── bicep
│ │ │ ├── app-environment.bicep
│ │ │ ├── app-with-store.bicep
│ │ │ ├── app.bicep
│ │ │ ├── key-vault.bicep
│ │ │ ├── law.bicep
│ │ │ ├── my-environment.bicep
│ │ │ ├── service-identity.bicep
│ │ │ ├── storage-access.bicep
│ │ │ └── storage.bicep
│ │ ├── config-Production.json
│ │ ├── main.bicep
│ │ └── yml
│ │ │ ├── build.yml
│ │ │ ├── deploy.yml
│ │ │ └── variables.yml
│ └── wwwroot
│ │ ├── assets
│ │ └── blackAsset-2@4x.png
│ │ ├── css
│ │ ├── bootstrap
│ │ │ ├── bootstrap.min.css
│ │ │ └── bootstrap.min.css.map
│ │ ├── open-iconic
│ │ │ ├── FONT-LICENSE
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── font
│ │ │ │ ├── css
│ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.svg
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ └── site.css
│ │ └── favicon.png
└── CrmLightDemoApp
│ ├── .dockerignore
│ ├── .idea
│ └── .idea.CrmLightDemoApp
│ │ └── .idea
│ │ ├── .gitignore
│ │ ├── encodings.xml
│ │ ├── indexLayout.xml
│ │ └── vcs.xml
│ ├── App.razor
│ ├── AzureExtensions.cs
│ ├── Components
│ ├── Home.razor
│ └── UserAccount.razor
│ ├── ConfigurationBuilder.cs
│ ├── CrmLightDemoApp.csproj
│ ├── CrmLightDemoApp.sln
│ ├── Dockerfile
│ ├── GlobalSettings.cs
│ ├── Onion
│ ├── Domain
│ │ ├── BoardCardHistoryDetails.cs
│ │ ├── ClientCompanyDetails.cs
│ │ ├── Entities
│ │ │ ├── Board.cs
│ │ │ ├── BoardCard.cs
│ │ │ ├── BoardCardHistory.cs
│ │ │ ├── ClientCompany.cs
│ │ │ ├── Company.cs
│ │ │ ├── IEntity.cs
│ │ │ ├── LeadSourceType.cs
│ │ │ ├── Person.cs
│ │ │ ├── PersonCompanyLink.cs
│ │ │ ├── PersonCompanyLinkType.cs
│ │ │ ├── Role.cs
│ │ │ ├── TenantAccount.cs
│ │ │ ├── User.cs
│ │ │ └── UserRoleLink.cs
│ │ ├── PersonCompanyLinkDetails.cs
│ │ ├── Repositories
│ │ │ ├── ContextQuery.cs
│ │ │ ├── IBoardCardHistoryRepository.cs
│ │ │ ├── IBoardCardRepository.cs
│ │ │ ├── IClientCompanyRepository.cs
│ │ │ ├── ICompanyRepository.cs
│ │ │ ├── IPersonCompanyLinkTypeRepository.cs
│ │ │ ├── IPersonCompanyRepository.cs
│ │ │ ├── IPersonRepository.cs
│ │ │ ├── IRepository.cs
│ │ │ ├── IRoleRepository.cs
│ │ │ ├── ITenantAccountRepository.cs
│ │ │ ├── IUserRepository.cs
│ │ │ └── IUserRoleLinkRepository.cs
│ │ ├── TenantAccountDetails.cs
│ │ └── UserDetails.cs
│ ├── Infrastructure
│ │ ├── BoardCardHistoryRepository.cs
│ │ ├── BoardCardRepository.cs
│ │ ├── ClientCompanyRepository.cs
│ │ ├── CompanyRepository.cs
│ │ ├── LeadSourceTypeRepository.cs
│ │ ├── LocalCacheRepository.cs
│ │ ├── PersonCompanyLinkRepository.cs
│ │ ├── PersonCompanyLinkTypeRepository.cs
│ │ ├── PersonRepository.cs
│ │ ├── RepositoryBase.cs
│ │ ├── RoleRepository.cs
│ │ ├── TenantAccountRepository.cs
│ │ ├── UserRepository.cs
│ │ └── UserRoleLinkRepository.cs
│ ├── OnionServiceCollectionExtensions.cs
│ └── Services
│ │ ├── Abstractions
│ │ ├── IAppAuthState.cs
│ │ ├── IBoardService.cs
│ │ ├── INotificationService.cs
│ │ └── IUserService.cs
│ │ ├── BoardService.cs
│ │ ├── Flow
│ │ ├── Admin
│ │ │ ├── TenantAccountEditFlow.cs
│ │ │ ├── UserEditFlow.cs
│ │ │ └── UserListFlow.cs
│ │ ├── ClientCompanyEditFlow.cs
│ │ ├── ClientCompanyListFlow.cs
│ │ ├── CompanyEditFlow.cs
│ │ ├── CompanyListFlow.cs
│ │ ├── LeadBoard
│ │ │ ├── CardHistoryRuleHelper.cs
│ │ │ ├── CompanyDialogFlow.cs
│ │ │ ├── FormCardCommit.cs
│ │ │ ├── FormContactedCardEdit.cs
│ │ │ ├── FormLeadCardEdit.cs
│ │ │ ├── LeadBoardStateFlow.cs
│ │ │ └── PersonDialogFlow.cs
│ │ ├── PersonCompanyLinkTypeEditFlow.cs
│ │ ├── PersonEditFlow.cs
│ │ ├── PersonListFlow.cs
│ │ ├── Resolution
│ │ │ └── ResolutionFlow.cs
│ │ └── StaticTypeEditFlow.cs
│ │ ├── MockAppAuthState.cs
│ │ ├── Model
│ │ ├── ClientCompanyListModel.cs
│ │ ├── ClientCompanyModel.cs
│ │ ├── CompanyListModel.cs
│ │ ├── CompanyModel.cs
│ │ ├── LeadBoardCardModel.cs
│ │ ├── PersonCompanyLinkDetailsModel.cs
│ │ ├── PersonCompanyLinkTypeModel.cs
│ │ ├── PersonListModel.cs
│ │ ├── PersonModel.cs
│ │ ├── ResolutionModel.cs
│ │ ├── StaticDataModel.cs
│ │ ├── TenantAccountModel.cs
│ │ ├── UserListModel.cs
│ │ ├── UserModel.cs
│ │ └── UserRoleLinkModel.cs
│ │ ├── NotificationService.cs
│ │ └── UserService.cs
│ ├── Pages
│ ├── ClientCompanyEdit.razor
│ ├── ClientCompanyList.razor
│ ├── CompanyEdit.razor
│ ├── CompanyList.razor
│ ├── Error.cshtml
│ ├── Error.cshtml.cs
│ ├── Index.razor
│ ├── LeadBoard.razor
│ ├── PersonCompanyListType.razor
│ ├── PersonEdit.razor
│ ├── PersonList.razor
│ ├── RegisteredFlows.razor
│ ├── RegisteredFlowsView.razor
│ ├── StaticTypeEdit.razor
│ ├── StaticTypeEditInternal.razor
│ ├── TenantSettings.razor
│ ├── UserEdit.razor
│ ├── UserList.razor
│ └── _Host.cshtml
│ ├── Program.cs
│ ├── Properties
│ └── launchSettings.json
│ ├── Shared
│ ├── AppBar.razor
│ ├── AppBar.razor.cs
│ ├── MainLayout.razor
│ ├── MainLayout.razor.css
│ ├── NavMenu.razor
│ ├── NavMenu.razor.css
│ └── SurveyPrompt.razor
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── cicd
│ ├── azure-pipelines.yml
│ ├── bicep
│ │ ├── app-environment.bicep
│ │ ├── app-with-store.bicep
│ │ ├── app.bicep
│ │ ├── key-vault.bicep
│ │ ├── law.bicep
│ │ ├── my-environment.bicep
│ │ ├── service-identity.bicep
│ │ ├── storage-access.bicep
│ │ └── storage.bicep
│ ├── config-Production.json
│ ├── main.bicep
│ └── yml
│ │ ├── build.yml
│ │ ├── deploy.yml
│ │ └── variables.yml
│ └── wwwroot
│ ├── assets
│ └── blackAsset-2@4x.png
│ ├── css
│ ├── bootstrap
│ │ ├── bootstrap.min.css
│ │ └── bootstrap.min.css.map
│ ├── open-iconic
│ │ ├── FONT-LICENSE
│ │ ├── ICON-LICENSE
│ │ ├── README.md
│ │ └── font
│ │ │ ├── css
│ │ │ └── open-iconic-bootstrap.min.css
│ │ │ └── fonts
│ │ │ ├── open-iconic.eot
│ │ │ ├── open-iconic.otf
│ │ │ ├── open-iconic.svg
│ │ │ ├── open-iconic.ttf
│ │ │ └── open-iconic.woff
│ └── site.css
│ └── favicon.png
├── src
├── .idea
│ └── .idea.BlazorForms.Framework
│ │ └── .idea
│ │ ├── .gitignore
│ │ ├── .name
│ │ ├── encodings.xml
│ │ ├── indexLayout.xml
│ │ ├── riderPublish.xml
│ │ └── vcs.xml
├── BlazorForms.Framework.sln
├── admin
│ ├── BlazorForms.Admin.App
│ │ ├── App.razor
│ │ ├── BlazorForms.Admin.App.csproj
│ │ ├── Pages
│ │ │ ├── Error.cshtml
│ │ │ ├── Error.cshtml.cs
│ │ │ ├── Index.razor
│ │ │ ├── RegisteredFlows.razor
│ │ │ ├── RegisteredFlowsItemView.razor
│ │ │ ├── StoredFlows.razor
│ │ │ ├── _Host.cshtml
│ │ │ └── _Layout.cshtml
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Shared
│ │ │ ├── MainLayout.razor
│ │ │ ├── MainLayout.razor.css
│ │ │ ├── NavMenu.razor
│ │ │ ├── NavMenu.razor.css
│ │ │ └── SurveyPrompt.razor
│ │ ├── _Imports.razor
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ └── wwwroot
│ │ │ ├── css
│ │ │ ├── bootstrap
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ └── bootstrap.min.css.map
│ │ │ ├── open-iconic
│ │ │ │ ├── FONT-LICENSE
│ │ │ │ ├── ICON-LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── font
│ │ │ │ │ ├── css
│ │ │ │ │ └── open-iconic-bootstrap.min.css
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── open-iconic.eot
│ │ │ │ │ ├── open-iconic.otf
│ │ │ │ │ ├── open-iconic.svg
│ │ │ │ │ ├── open-iconic.ttf
│ │ │ │ │ └── open-iconic.woff
│ │ │ └── site.css
│ │ │ └── favicon.ico
│ └── BlazorForms.Admin.BusinessObjects
│ │ ├── AdminBusinessObjectsServiceCollectionExtensions.cs
│ │ ├── BlazorForms.Admin.BusinessObjects.csproj
│ │ ├── Class1.cs
│ │ ├── Interfaces
│ │ └── IFlowDataProvider.cs
│ │ ├── Model
│ │ ├── FlowDataOptions.cs
│ │ └── FlowDetailsModel.cs
│ │ ├── Providers
│ │ └── FlowDataProvider.cs
│ │ ├── RegisteredFlows
│ │ ├── RegisteredListFlow.cs
│ │ └── RegisteredListItemViewFlow.cs
│ │ └── StorageFlows
│ │ └── StoredListFlow.cs
├── dynamic-code
│ └── BlazorForms.DynamicCode
│ │ ├── BlazorForms.DynamicCode.csproj
│ │ ├── BlazorFormsDynamicCodeServiceCollectionExtensions.cs
│ │ ├── Engine
│ │ ├── CollectibleAssemblyLoadContext.cs
│ │ ├── DynamicCodeEngine.cs
│ │ ├── DynamicCodeValidationEngine.cs
│ │ ├── DynamicFlowProvider.cs
│ │ └── SqlDynamicFlowRepository.cs
│ │ ├── Interfaces
│ │ ├── IDynamicCodeEngine.cs
│ │ ├── IDynamicCodeValidationEngine.cs
│ │ ├── IDynamicCodeValidationRule.cs
│ │ ├── IDynamicFlowProvider.cs
│ │ └── IDynamicFlowRepository.cs
│ │ ├── Model
│ │ ├── DynamicCodeContext.cs
│ │ ├── DynamicCodeParameters.cs
│ │ └── DynamicCodeValidationIssue.cs
│ │ └── Validation
│ │ └── FlowBaseTypeValidationRule.cs
├── expressions
│ └── BlazorForms.Expressions
│ │ ├── BlazorForms.Expressions.csproj
│ │ └── Sql
│ │ ├── SqlExpressionEngine.cs
│ │ ├── SqlJsonObjectResolver.cs
│ │ └── SqlTokenizer.cs
├── flows
│ ├── BlazorForms.Flows.Definitions
│ │ ├── Abstractions
│ │ │ ├── BindingModelAbstract.cs
│ │ │ ├── FlowAbstract.cs
│ │ │ └── FlowModelBase.cs
│ │ ├── Attributes
│ │ │ └── FlowAttributes.cs
│ │ ├── Binding
│ │ │ ├── FlowParamsBase.cs
│ │ │ ├── FlowParamsGeneric.cs
│ │ │ ├── ModelBindingFlowReference.cs
│ │ │ └── RepeaterParameters.cs
│ │ ├── BlazorForms.Flows.Definitions.csproj
│ │ ├── Exceptions
│ │ │ ├── FlowCreateException.cs
│ │ │ ├── FlowFailedException.cs
│ │ │ ├── FlowInvalidDependencyException.cs
│ │ │ ├── FlowStopException.cs
│ │ │ ├── InvalidFlowException.cs
│ │ │ └── InvalidStateException.cs
│ │ ├── Interfaces
│ │ │ ├── IFlow.cs
│ │ │ ├── IFlowContext.cs
│ │ │ ├── IFlowContextNoModel.cs
│ │ │ ├── IFlowForm.cs
│ │ │ ├── IFlowModel.cs
│ │ │ ├── IFlowModelListItem.cs
│ │ │ ├── IFlowParams.cs
│ │ │ ├── IFlowParser.cs
│ │ │ ├── IFlowRepository.cs
│ │ │ ├── IFlowRunEngine.cs
│ │ │ ├── IFlowRunIdGenerator.cs
│ │ │ ├── IFlowRunStorage.cs
│ │ │ ├── IFlowTask.cs
│ │ │ ├── IObjectCloner.cs
│ │ │ ├── IStateFlow.cs
│ │ │ ├── IStateFlowRunEngine.cs
│ │ │ ├── ITaskExecutor.cs
│ │ │ └── ITenantedScope.cs
│ │ ├── InternalVisible.cs
│ │ ├── Model
│ │ │ ├── ClientKeptContext.cs
│ │ │ ├── Entities
│ │ │ │ └── FlowEntity.cs
│ │ │ ├── FlowConstants.cs
│ │ │ ├── FlowContext.cs
│ │ │ ├── FlowContextJsonModel.cs
│ │ │ ├── FlowContextNoModel.cs
│ │ │ ├── FlowDefinitionDetails.cs
│ │ │ ├── FlowDetails.cs
│ │ │ ├── FlowEvent.cs
│ │ │ ├── FlowRunParameters.cs
│ │ │ ├── FlowSettings.cs
│ │ │ ├── FlowTaskDetails.cs
│ │ │ ├── FormTaskStateEnum.cs
│ │ │ ├── StateFlows
│ │ │ │ ├── FormDef.cs
│ │ │ │ ├── StateDef.cs
│ │ │ │ ├── StateFlowObject.cs
│ │ │ │ ├── StateFlowTransitionSelector.cs
│ │ │ │ ├── TransitionDef.cs
│ │ │ │ └── Triggers
│ │ │ │ │ ├── ButtonTransitionTrigger.cs
│ │ │ │ │ ├── ConditionTransitionTrigger.cs
│ │ │ │ │ ├── DateSpan.cs
│ │ │ │ │ ├── SpanFromChangeTransitionTrigger.cs
│ │ │ │ │ ├── SpanTransitionTrigger.cs
│ │ │ │ │ ├── TransitionTrigger.cs
│ │ │ │ │ └── UserActionTransitionTrigger.cs
│ │ │ ├── TaskExecutionFlowStateEnum.cs
│ │ │ ├── TaskExecutionResult.cs
│ │ │ ├── TaskExecutionResultStateEnum.cs
│ │ │ ├── TaskExecutionValidationResult.cs
│ │ │ └── UserViewModelPageResult.cs
│ │ ├── Query
│ │ │ └── FlowModelsQueryOptions .cs
│ │ └── Tasks
│ │ │ ├── EntryFormTask.cs
│ │ │ ├── NonVisualTask.cs
│ │ │ └── ViewWithCallbackTask.cs
│ └── BlazorForms.Flows.Engine
│ │ ├── Base
│ │ └── FlowBase.cs
│ │ ├── BlazorForms.Flows.Engine.csproj
│ │ ├── FlowParser.cs
│ │ ├── FlowRunHelper.cs
│ │ ├── Fluent
│ │ ├── DialogFlowBase.cs
│ │ ├── FluentFlowBase.cs
│ │ ├── FluentFlowDefinition.cs
│ │ ├── FluentFlowDetails.cs
│ │ ├── FluentFlowException.cs
│ │ ├── FluentFlowRunEngine.cs
│ │ ├── IFluentFlow.cs
│ │ ├── IFluentFlowRunEngine.cs
│ │ └── ListFlowBase.cs
│ │ ├── Persistence
│ │ ├── CachedFlowRepository.cs
│ │ └── FlowRunStorage.cs
│ │ └── StateFlow
│ │ ├── FlowContextExtensions.cs
│ │ ├── StateFlowBase.cs
│ │ ├── StateFlowDefinition.cs
│ │ └── StateFlowRunEngine.cs
├── forms
│ └── BlazorForms.Forms.Definitions
│ │ ├── Attributes
│ │ ├── ComponentGroupAttribute.cs
│ │ ├── DisplayAttribute.cs
│ │ ├── FormAttribute.cs
│ │ └── FormComponentAttribute.cs
│ │ ├── BaseComponents
│ │ ├── Autocomplete.cs
│ │ ├── Button.cs
│ │ ├── Checkbox.cs
│ │ ├── CustomComponent.cs
│ │ ├── DateEdit.cs
│ │ ├── DatePicker.cs
│ │ ├── DropDown.cs
│ │ ├── DropDownSearch.cs
│ │ ├── FileUpload.cs
│ │ ├── FormComponentBase.cs
│ │ ├── Header.cs
│ │ ├── Label.cs
│ │ ├── MoneyEdit.cs
│ │ ├── PercentEdit.cs
│ │ ├── Repeater.cs
│ │ ├── SelectableList.cs
│ │ ├── Subtitle.cs
│ │ ├── Table.cs
│ │ ├── TextArea.cs
│ │ ├── TextEdit.cs
│ │ └── TextSearchEdit.cs
│ │ ├── BlazorForms.Forms.Definitions.csproj
│ │ ├── FluentForms
│ │ ├── Controls
│ │ │ ├── DefaultCheckboxControl.cs
│ │ │ ├── DefaultDateEditControl.cs
│ │ │ ├── DefaultDropdownControl.cs
│ │ │ ├── DefaultDropdownReadonlyControl.cs
│ │ │ ├── DefaultFormattedViewControl.cs
│ │ │ ├── DefaultNumberEditControl.cs
│ │ │ ├── DefaultReadonlyCheckboxControl.cs
│ │ │ └── DefaultTextEditControl.cs
│ │ ├── FormBuilders
│ │ │ ├── FieldBuilder.cs
│ │ │ ├── FieldColumnBuilder.cs
│ │ │ ├── FormBuilderBase.cs
│ │ │ ├── FormCardListTypeBuilder.cs
│ │ │ ├── FormEntityTypeBuilder.cs
│ │ │ ├── FormListBuilder.cs
│ │ │ ├── FormListTypeBuilder.cs
│ │ │ ├── FormRepeaterTypeBuilder.cs
│ │ │ └── RepeaterFieldBuilder.cs
│ │ ├── Forms
│ │ │ ├── FormEditBase.cs
│ │ │ └── FormListBase.cs
│ │ ├── Helpers
│ │ │ ├── JsonPathExtensions.cs
│ │ │ └── TypeExtensions.cs
│ │ ├── Interfaces
│ │ │ ├── IDataFieldProcessor.cs
│ │ │ └── IModelDefinitionForm.cs
│ │ ├── Logic
│ │ │ └── DefaultDataFieldProcessor.cs
│ │ ├── Model
│ │ │ ├── ActionRouteLink.cs
│ │ │ ├── ButtonActionTypes.cs
│ │ │ ├── ConfirmationDetails.cs
│ │ │ ├── ControlType.cs
│ │ │ ├── DataField.cs
│ │ │ ├── DialogButtonDetails.cs
│ │ │ ├── Field.cs
│ │ │ ├── FieldRule.cs
│ │ │ ├── FormAllowAccess.cs
│ │ │ └── FormLayout.cs
│ │ ├── Validation
│ │ │ └── RuleVirtualPropertyValidation.cs
│ │ └── rules
│ │ │ └── IFormRule.cs
│ │ ├── Interfaces
│ │ ├── IFormComponent.cs
│ │ ├── IFormDefinition.cs
│ │ └── IFormDefinitionParser.cs
│ │ ├── JsonForms
│ │ ├── IStoreObject.cs
│ │ ├── JsonFormConverter.cs
│ │ └── StoreForm.cs
│ │ └── Parser
│ │ ├── ContainerDetails.cs
│ │ ├── ControlTypeExtensions.cs
│ │ ├── FieldControlDetails.cs
│ │ ├── FieldSetControlDetails.cs
│ │ ├── FormAccessDetails.cs
│ │ ├── FormConfirmationDetails.cs
│ │ ├── FormDefinitionParser.cs
│ │ ├── FormDetails.cs
│ │ ├── FormDisplayDetails.cs
│ │ └── FormFlowRuleDetails.cs
├── platform
│ ├── BlazorForms.Platform.BackgroundService
│ │ ├── BlazorForms.Platform.BackgroundTasks.csproj
│ │ ├── HostedService
│ │ │ ├── BackgroundTaskQueue.cs
│ │ │ ├── BlazorFormsHostedServiceCollectionExtensions.cs
│ │ │ ├── HostedFeaturesToggle.cs
│ │ │ └── QueuedHostedService.cs
│ │ └── Interfaces
│ │ │ └── IBackgroundTaskQueue.cs
│ ├── BlazorForms.Platform.Config
│ │ ├── BlazorForms.Platform.Config.csproj
│ │ └── FeatureToggle
│ │ │ ├── DefaultFeatureToggle.cs
│ │ │ └── EnvironmentFeatureToggle.cs
│ ├── BlazorForms.Platform.Core.Examples
│ │ ├── BlazorForms.Platform.Core.Examples.csproj
│ │ ├── BlazorFormsExamplesServiceCollectionExtensions.cs
│ │ ├── Flows
│ │ │ └── SampleFlow1.cs
│ │ ├── Rendering
│ │ │ ├── ExampleCustom.cs
│ │ │ └── ExampleCustomComponent.razor
│ │ └── wwwroot
│ │ │ ├── background.png
│ │ │ ├── exampleJsInterop.js
│ │ │ └── styles.css
│ ├── BlazorForms.Platform.Cosmos
│ │ ├── BlazorForms.Platform.Cosmos.csproj
│ │ ├── BlazorFormsCosmosServiceCollectionExtensions.cs
│ │ ├── Configuration
│ │ │ └── CosmosDbOptions.cs
│ │ ├── CosmosFlowRepository.cs
│ │ └── Nuspec
│ │ │ ├── BlazorForms.Cosmos.nuspec
│ │ │ ├── contentFiles
│ │ │ └── any
│ │ │ │ └── any
│ │ │ │ └── Platz.Cosmos.Link
│ │ │ │ ├── appsettings.cosmos.json
│ │ │ │ └── readme.txt
│ │ │ └── readme.txt
│ ├── BlazorForms.Platform.Definitions
│ │ ├── BlazorForms.Platform.Definitions.csproj
│ │ ├── IApplicationPart.cs
│ │ ├── IAuthState.cs
│ │ ├── IFlowRunProvider.cs
│ │ ├── IReflectionProvider.cs
│ │ ├── IUserViewDataResolver.cs
│ │ ├── Model
│ │ │ ├── ErrorModel.cs
│ │ │ ├── FieldDisplayDetails.cs
│ │ │ ├── FlowRunUserViewDetails.cs
│ │ │ ├── RuleExecutionRequest.cs
│ │ │ ├── SelectableListItem.cs
│ │ │ └── UserViewModel.cs
│ │ ├── Shared
│ │ │ ├── PlatformConstants.cs
│ │ │ ├── ReflectionProvider.cs
│ │ │ ├── RegistrationContext.cs
│ │ │ ├── TimeZoneFormats.cs
│ │ │ ├── UserViewDataResolver.cs
│ │ │ └── UserViewDataResolverJsonPath.cs
│ │ └── Wrappers
│ │ │ ├── CheckFormAccessData.cs
│ │ │ ├── FlowContextAndModel.cs
│ │ │ ├── FlowContextWrapper.cs
│ │ │ ├── FlowEntityWrapper.cs
│ │ │ ├── FlowModelWrapper.cs
│ │ │ ├── JsonModelWrapper.cs
│ │ │ ├── ModelAndClientKeptContextRequest.cs
│ │ │ ├── ModelAndFieldDisplayDetails.cs
│ │ │ ├── ModelAndParametersDataUntyped.cs
│ │ │ ├── ModelAndRuleExecutionRequest.cs
│ │ │ ├── NullFlowModel.cs
│ │ │ ├── QueryOptionsAndParams.cs
│ │ │ └── RuleEngineExecutionResultWrapper.cs
│ ├── BlazorForms.Platform.PostgreSql
│ │ ├── BlazorForms.Platform.PostgreSql.csproj
│ │ ├── BlazorFormsPostgresServiceCollectionExtensions.cs
│ │ ├── NpgsqlFlowRepository.cs
│ │ ├── NpgsqlFlowRunIdGenerator.cs
│ │ └── Nuspec
│ │ │ ├── BlazorForms.PostgreSql.nuspec
│ │ │ ├── contentFiles
│ │ │ └── any
│ │ │ │ └── any
│ │ │ │ ├── Platz.Cosmos.Link
│ │ │ │ ├── appsettings.cosmos.json
│ │ │ │ └── readme.txt
│ │ │ │ └── Platz.PostgreSql.Link
│ │ │ │ ├── 01_CreateDatabase.sql
│ │ │ │ ├── appsettings.postresql.json
│ │ │ │ └── readme.txt
│ │ │ └── readme.txt
│ ├── BlazorForms.Platform.Shared
│ │ ├── ApplicationParts
│ │ │ ├── ApplicationPartsManager.cs
│ │ │ ├── AutoMapperConfiguration.cs
│ │ │ ├── PlatformAssemblyRegistrator.cs
│ │ │ └── PlatformProxyScopeConfiguration.cs
│ │ ├── Attributes
│ │ │ ├── ProxyScopeAttribute.cs
│ │ │ └── ResolveTableDataAttribute.cs
│ │ ├── BlazorForms.Platform.Shared.csproj
│ │ ├── Exceptions
│ │ │ ├── AuthStateException.cs
│ │ │ └── ConfigurationException.cs
│ │ └── Interfaces
│ │ │ ├── IAutoMapperConfiguration.cs
│ │ │ └── ISqlRepository.cs
│ ├── BlazorForms.Platform.WebAssembly
│ │ ├── BlazorForms.Platform.WebAssembly.csproj
│ │ ├── BlazorFormsWasmServiceCollectionExtensions.cs
│ │ ├── MockAuthState.cs
│ │ ├── Nuspec
│ │ │ ├── BlazorForms.WebAssembly.nuspec
│ │ │ └── readme.txt
│ │ └── RestFlowRunProvider.cs
│ └── BlazorForms.Platform
│ │ ├── Api.Controllers
│ │ ├── FlowFormsApiController.cs
│ │ └── UploadApiController.cs
│ │ ├── BlazorForms.Platform.csproj
│ │ ├── CodeGeneration
│ │ ├── CodeConst.cs
│ │ ├── CodeGeneratorFactory.cs
│ │ ├── EditFlowGenerator.cs
│ │ ├── FormGenerator.cs
│ │ ├── IModelCentricCodeGenerator.cs
│ │ └── ListFlowGenerator.cs
│ │ ├── CustomConfig
│ │ ├── CustomConfigProvider.cs
│ │ ├── CustomConfigStore.cs
│ │ ├── CustomModelConfig1.json
│ │ ├── CustomModelDataProvider.cs
│ │ ├── Model
│ │ │ ├── CustomFormConfig.cs
│ │ │ ├── CustomItemStoreConfig.cs
│ │ │ └── CustomModelConfig.cs
│ │ └── ProjectCustomConfig.json
│ │ ├── Flows
│ │ └── ErrorEditFlow.cs
│ │ ├── Interfaces
│ │ └── IUniqueIdGenerator.cs
│ │ ├── Nuspec
│ │ ├── BlazorForms.Cosmos.nuspec
│ │ ├── BlazorForms.Rendering.Flows.nuspec
│ │ ├── BlazorForms.Rendering.nuspec
│ │ ├── BlazorForms.Shared.nuspec
│ │ ├── BlazorForms.nuspec
│ │ ├── cmd.bat
│ │ ├── cmdTemp.bat
│ │ └── contentFiles
│ │ │ └── any
│ │ │ └── any
│ │ │ ├── Georgia.ttf
│ │ │ ├── Platz.Config.Link
│ │ │ ├── SqlServerScripts.sql
│ │ │ ├── appsettings.localdb.json
│ │ │ ├── appsettings.mssql.json
│ │ │ ├── localdb.cmd
│ │ │ └── readme.txt
│ │ │ ├── Roboto-Regular.ttf
│ │ │ └── Verdana.ttf
│ │ ├── ProcessFlow
│ │ ├── Dto
│ │ │ ├── FormBusinessRulesDto.cs
│ │ │ ├── FormDefinitionResponse.cs
│ │ │ ├── FormModelResponse.cs
│ │ │ └── ModelResponse.cs
│ │ ├── FlowRuleCheckerNonVisualTaskDefinition.cs
│ │ ├── FlowRunProvider.cs
│ │ ├── FlowSingleTaskDefinitionBase.cs
│ │ ├── FlowTaskDefinitionBase.cs
│ │ ├── Models
│ │ │ ├── FieldDetails.cs
│ │ │ └── FieldRuleDetails.cs
│ │ ├── NonVisualFlowTaskBase.cs
│ │ ├── ObjectCloner.cs
│ │ ├── SqlFlowRepository.cs
│ │ ├── SqlFlowRunIdGenerator.cs
│ │ └── UniqueIdGenerator.cs
│ │ ├── Settings
│ │ ├── BlazorFormsConfiguration.cs
│ │ ├── BlazorFormsServerServiceApplicationBuilderExtensions.cs
│ │ ├── BlazorFormsServerServiceCollectionExtensions.cs
│ │ ├── BlazorFormsServiceCollectionExtensions.cs
│ │ ├── PlatformApplicationPart.cs
│ │ └── PlatformFeatures.cs
│ │ └── Stubs
│ │ ├── MockAuthState.cs
│ │ └── MockTenantedScope.cs
├── proxy
│ └── BlazorForms.Proxyma
│ │ ├── BlazorForms.Proxyma.csproj
│ │ ├── Engine
│ │ ├── ModelProxyFactoryProvider.cs
│ │ ├── ProxymaProviderBase.cs
│ │ ├── PullPropertyBagInterceptor.cs
│ │ ├── PullProxymaProvider.cs
│ │ ├── PushPropertyBagInterceptor.cs
│ │ └── PushProxymaProvider.cs
│ │ ├── Interfaces
│ │ ├── IModelProxyInterceptor.cs
│ │ ├── IProxyPropertyBagStore.cs
│ │ ├── IProxyScopeConfiguration.cs
│ │ ├── IProxymaInterceptor.cs
│ │ └── IProxymaProvider.cs
│ │ └── Model
│ │ ├── ProxyPropertyBag.cs
│ │ └── ProxyPropertyBagStore.cs
├── rendering
│ ├── BlazorForms.Rendering.Flows
│ │ ├── BlazorForms.Rendering.Flows.csproj
│ │ ├── BlazorFormsFlowDiagram.razor
│ │ ├── BlazorFormsFlowDiagram.razor.css
│ │ ├── BlazorFormsRenderingFlowsServiceCollectionExtensions.cs
│ │ ├── ExampleJsInterop.cs
│ │ ├── FlowDiagramViewModel.cs
│ │ ├── Georgia.ttf
│ │ ├── Roboto-Regular.ttf
│ │ ├── Svg
│ │ │ ├── ComponentNode.cs
│ │ │ ├── Connector.cs
│ │ │ ├── Diagram.cs
│ │ │ ├── FontFactory.cs
│ │ │ ├── ISvgElement.cs
│ │ │ ├── Label.cs
│ │ │ ├── LabeledNode.cs
│ │ │ ├── SvgElement.cs
│ │ │ ├── SvgRect.cs
│ │ │ ├── Text.cs
│ │ │ └── Utils.cs
│ │ ├── Verdana.ttf
│ │ ├── _Imports.razor
│ │ └── wwwroot
│ │ │ ├── background.png
│ │ │ └── exampleJsInterop.js
│ ├── BlazorForms.Rendering.MaterialBlazor
│ │ ├── BlazorForms.MaterialBlazor.csproj
│ │ ├── BlazorForms.Rendering.MaterialBlazor - Copy.csproj
│ │ ├── BlazorForms.Rendering.MaterialBlazor.csproj
│ │ ├── BlazorFormsRenderingMatBlazorApplicationPart.cs
│ │ ├── BlazorFormsRenderingMatBlazorServiceCollectionExtensions.cs
│ │ ├── Component1.razor
│ │ ├── Components
│ │ │ ├── AutocompleteControl.razor
│ │ │ ├── ButtonControl.razor
│ │ │ ├── CheckboxEditControl.razor
│ │ │ ├── CustomComponent.razor
│ │ │ ├── Dashboard.razor
│ │ │ ├── Dashboard.razor.css
│ │ │ ├── DateEditControl.razor
│ │ │ ├── DateEditControl.razor.js
│ │ │ ├── DropDownColumnControl.razor
│ │ │ ├── DropDownControl.razor
│ │ │ ├── DynamicDialogForm.razor
│ │ │ ├── DynamicForm.razor
│ │ │ ├── DynamicFormTyped.razor
│ │ │ ├── DynamicListForm.razor
│ │ │ ├── DynamicListFormRowContextMenu.razor
│ │ │ ├── FileUploadControl.razor
│ │ │ ├── FormContent.razor
│ │ │ ├── FormFieldSet.razor
│ │ │ ├── FormGroupContent.razor
│ │ │ ├── GridControl.razor
│ │ │ ├── HeaderControl.razor
│ │ │ ├── LayoutForm.razor
│ │ │ ├── LayoutForm.razor.css
│ │ │ ├── LoginPageButton.razor
│ │ │ ├── MatBlazorComponent.razor
│ │ │ ├── MatBlazorComponent.razor.js
│ │ │ ├── MoneyEditControl.razor
│ │ │ ├── PercentEditControl.razor
│ │ │ ├── PlugableFieldControl.razor
│ │ │ ├── RepeaterControl.razor
│ │ │ ├── RowFilterComponent.razor
│ │ │ ├── SelectableListControl.razor
│ │ │ ├── SimpleControl.razor
│ │ │ ├── SubtitleControl.razor
│ │ │ ├── TextAreaControl.razor
│ │ │ ├── TextEditControl.razor
│ │ │ ├── TextSearchEditControl.razor
│ │ │ ├── ThemeColorSelector.razor
│ │ │ └── ValidatorControl.razor
│ │ ├── ContentLoader.cs
│ │ ├── ExampleJsInterop.cs
│ │ ├── MaterialClientBrowserService.cs
│ │ ├── Nuspec
│ │ │ ├── BlazorForms.MaterialBlazor.nuspec
│ │ │ ├── BlazorForms.Rendering.MaterialBlazor.nuspec
│ │ │ ├── cmd-old.bat
│ │ │ └── cmd.bat
│ │ ├── _Imports.razor
│ │ └── wwwroot
│ │ │ ├── background.png
│ │ │ ├── exampleJsInterop.js
│ │ │ ├── styles.css
│ │ │ └── timeZone.js
│ ├── BlazorForms.Rendering.MudBlazorUI
│ │ ├── BlazorForms.Rendering.MudBlazorUI.csproj
│ │ ├── Components
│ │ │ ├── AutocompleteControl.razor
│ │ │ ├── Boards
│ │ │ │ ├── BoardDialogForm.razor
│ │ │ │ ├── FlowBoard.razor
│ │ │ │ └── StateBoard.razor
│ │ │ ├── ButtonControl.razor
│ │ │ ├── CardControl.razor
│ │ │ ├── CardListControl.razor
│ │ │ ├── CheckboxEditControl.razor
│ │ │ ├── DateEditControl.razor
│ │ │ ├── DateEditControl.razor.js
│ │ │ ├── DropDownControl.razor
│ │ │ ├── DropDownSearchControl.razor
│ │ │ ├── EmbeddedDialogForm.razor
│ │ │ ├── FileUploadControl.razor
│ │ │ ├── FlowDialogForm.razor
│ │ │ ├── FlowEditForm.razor
│ │ │ ├── FlowEditForm.razor.css
│ │ │ ├── FlowListForm.razor
│ │ │ ├── FormConfirmationDialog.razor
│ │ │ ├── FormContent.razor
│ │ │ ├── FormGroupContent.razor
│ │ │ ├── Fragments
│ │ │ │ └── ToolBarFragment.razor
│ │ │ ├── GridControl.razor
│ │ │ ├── HeaderControl.razor
│ │ │ ├── ListFormRowContextMenu.razor
│ │ │ ├── MoneyEditControl.razor
│ │ │ ├── PercentEditControl.razor
│ │ │ ├── RepeaterControl.razor
│ │ │ ├── SelectableListControl.razor
│ │ │ ├── SimpleControl.razor
│ │ │ ├── SubtitleControl.razor
│ │ │ ├── TextAreaControl.razor
│ │ │ ├── TextEditControl.razor
│ │ │ ├── TextSearchEditControl.razor
│ │ │ └── ValidatorControl.razor
│ │ ├── ExampleJsInterop.cs
│ │ ├── Logic
│ │ │ ├── BoardFormOptions.cs
│ │ │ ├── EditFormOptions.cs
│ │ │ ├── FormOptions.cs
│ │ │ ├── ListFormOptions.cs
│ │ │ └── MudBlazorUIClientBrowserService.cs
│ │ ├── MudBlazorUIServiceCollectionExtensions.cs
│ │ ├── Nuspec
│ │ │ └── cmd.bat
│ │ ├── _Imports.razor
│ │ └── wwwroot
│ │ │ ├── background.png
│ │ │ ├── exampleJsInterop.js
│ │ │ └── timeZone.js
│ ├── BlazorForms.Rendering.RadzenBlazor
│ │ ├── BlazorForms.Rendering.RadzenBlazor.csproj
│ │ ├── BlazorFormsRenderingRadzenApplicationPart.cs
│ │ ├── BlazorFormsRenderingRadzenServiceCollectionExtensions.cs
│ │ ├── Components
│ │ │ ├── AutocompleteControl.razor
│ │ │ ├── ButtonControl.razor
│ │ │ ├── CheckboxEditControl.razor
│ │ │ ├── CustomComponent.razor
│ │ │ ├── DateEditControl.razor
│ │ │ ├── DropDownColumnControl.razor
│ │ │ ├── DropDownControl.razor
│ │ │ ├── DynamicDialogForm.razor
│ │ │ ├── DynamicForm.razor
│ │ │ ├── DynamicFormContent.razor
│ │ │ ├── DynamicFormDialog.razor
│ │ │ ├── DynamicFormGroupContent.razor
│ │ │ ├── DynamicFormSilent.razor
│ │ │ ├── DynamicFormTyped.razor
│ │ │ ├── DynamicListForm.razor
│ │ │ ├── DynamicListFormRowContextMenu.razor
│ │ │ ├── DynamicSimpleControl.razor
│ │ │ ├── FieldControl.razor
│ │ │ ├── FileUploadControl.razor
│ │ │ ├── FormContent.razor
│ │ │ ├── FormGroupContent.razor
│ │ │ ├── GridControl.razor
│ │ │ ├── HeaderControl.razor
│ │ │ ├── LoginPageButton.razor
│ │ │ ├── MoneyEditControl.razor
│ │ │ ├── PercentEditControl.razor
│ │ │ ├── PlugableFieldControl.razor
│ │ │ ├── RepeaterControl.razor
│ │ │ ├── RowFilterComponent.razor
│ │ │ ├── SelectableListControl.razor
│ │ │ ├── SimpleControl.razor
│ │ │ ├── SubtitleControl.razor
│ │ │ ├── TableControl.razor
│ │ │ ├── TextAreaControl.razor
│ │ │ ├── TextEditControl.razor
│ │ │ ├── TextSearchEditControl.razor
│ │ │ ├── ThemeColorSelector.razor
│ │ │ ├── ValidatorControl.razor
│ │ │ └── ValueControl.razor
│ │ ├── _Imports.razor
│ │ └── wwwroot
│ │ │ ├── css
│ │ │ └── default.css
│ │ │ └── js
│ │ │ └── BlazorInterop.js
│ ├── BlazorForms.Rendering.Standard
│ │ ├── BlazorForms.Rendering.Standard.csproj
│ │ ├── BlazorFormsRenderingMatBlazorApplicationPart.cs
│ │ ├── BlazorFormsRenderingStandardServiceCollectionExtensions.cs
│ │ ├── Component1.razor
│ │ ├── Components
│ │ │ ├── AutocompleteControl.razor
│ │ │ ├── ButtonControl.razor
│ │ │ ├── CheckboxEditControl.razor
│ │ │ ├── CustomComponent.razor
│ │ │ ├── DateEditControl.razor
│ │ │ ├── DropDownColumnControl.razor
│ │ │ ├── DropDownControl.razor
│ │ │ ├── DynamicDialogForm.razor
│ │ │ ├── DynamicForm.razor
│ │ │ ├── DynamicFormContent.razor
│ │ │ ├── DynamicFormDialog.razor
│ │ │ ├── DynamicFormGroupContent.razor
│ │ │ ├── DynamicFormSilent.razor
│ │ │ ├── DynamicFormTyped.razor
│ │ │ ├── DynamicListForm.razor
│ │ │ ├── DynamicListFormRowContextMenu.razor
│ │ │ ├── DynamicSimpleControl.razor
│ │ │ ├── FileUploadControl.razor
│ │ │ ├── FormContent.razor
│ │ │ ├── FormGroupContent.razor
│ │ │ ├── GridControl.razor
│ │ │ ├── HeaderControl.razor
│ │ │ ├── LoginPageButton.razor
│ │ │ ├── MoneyEditControl.razor
│ │ │ ├── PercentEditControl.razor
│ │ │ ├── PlugableFieldControl.razor
│ │ │ ├── RepeaterControl.razor
│ │ │ ├── RowFilterComponent.razor
│ │ │ ├── SelectableListControl.razor
│ │ │ ├── SimpleControl.razor
│ │ │ ├── SubtitleControl.razor
│ │ │ ├── TableControl.razor
│ │ │ ├── TextAreaControl.razor
│ │ │ ├── TextEditControl.razor
│ │ │ ├── TextSearchEditControl.razor
│ │ │ ├── ThemeColorSelector.razor
│ │ │ └── ValidatorControl.razor
│ │ ├── _Imports.razor
│ │ └── wwwroot
│ │ │ ├── background.png
│ │ │ ├── exampleJsInterop.js
│ │ │ └── styles.css
│ └── BlazorForms.Rendering
│ │ ├── BlazorForms.Rendering.csproj
│ │ ├── BlazorFormsRenderingApplicationPart.cs
│ │ ├── Interfaces
│ │ ├── IClientBrowserService.cs
│ │ ├── IClientDateService.cs
│ │ ├── ICustomFlowFormController.cs
│ │ ├── IDialogFormViewModel.cs
│ │ ├── IFlowBoardViewModel.cs
│ │ ├── IFormViewModel.cs
│ │ ├── IListFormViewModel.cs
│ │ └── IRenderingViewModel.cs
│ │ ├── Model
│ │ ├── Boards
│ │ │ └── FlowBoardModel.cs
│ │ ├── FormConfirmationData.cs
│ │ ├── FormField.cs
│ │ ├── FormSettingsViewState.cs
│ │ ├── FormSubmittedArgs.cs
│ │ ├── TestModel.cs
│ │ └── ValueChangedArgs.cs
│ │ ├── State
│ │ ├── ClientBrowserService.cs
│ │ └── ClientDateService.cs
│ │ ├── Types
│ │ ├── ComponentTypes.cs
│ │ ├── DashboardParams.cs
│ │ ├── DynamicListFormRowContextMenuItemClickArgs.cs
│ │ ├── FormOptionsBase.cs
│ │ └── LayoutFormParams.cs
│ │ ├── Validation
│ │ └── DynamicFieldValidator.cs
│ │ └── ViewModels
│ │ ├── BoardDialogViewModel.cs
│ │ ├── CardListViewModel.cs
│ │ ├── ControlDialogFormViewModel.cs
│ │ ├── ControlViewModel.cs
│ │ ├── DialogFormViewModel.cs
│ │ ├── FlowBoardViewModel.cs
│ │ ├── FormViewModel.cs
│ │ ├── ListFormViewModel.cs
│ │ ├── RenderingViewModel.cs
│ │ └── StateBoardViewModel.cs
├── rules
│ ├── BlazorForms.FlowRules.Definition
│ │ ├── BlazorForms.FlowRules.Definition.csproj
│ │ ├── Interfaces
│ │ │ ├── IFlowRule.cs
│ │ │ ├── IRuleDefinitionParser.cs
│ │ │ ├── IRuleExecutionEngine.cs
│ │ │ └── ITaskRulesDefinition.cs
│ │ ├── Model
│ │ │ ├── AccessRuleModel.cs
│ │ │ ├── DisplayDetails.cs
│ │ │ ├── ExecutableRuleDetails.cs
│ │ │ ├── FieldDetails.cs
│ │ │ ├── RuleDetails.cs
│ │ │ ├── RuleEngineExecutionResult.cs
│ │ │ ├── RuleExecutionContext.cs
│ │ │ ├── RuleExecutionParameters.cs
│ │ │ ├── RuleExecutionResult.cs
│ │ │ ├── RuleTypes.cs
│ │ │ └── RuleValidationResult.cs
│ │ └── TaskRulesDefinition.cs
│ └── BlazorForms.FlowRules
│ │ ├── Attributes
│ │ └── FlowRuleAttribute.cs
│ │ ├── Bases
│ │ ├── FlowRuleAsyncBase.cs
│ │ └── FlowRuleBase.cs
│ │ ├── BlazorForms.FlowRules.csproj
│ │ ├── Engine
│ │ ├── AccessRuleEngine.cs
│ │ ├── InterceptorBasedRuleEngine.cs
│ │ ├── RuleExecutionEngineBase.cs
│ │ └── SimpleFastRuleEngine.cs
│ │ ├── Exceptions
│ │ └── RuleExecutionInfiniteLoopException.cs
│ │ └── Parser
│ │ └── RuleDefinitionParser.cs
├── shared
│ └── BlazorForms.Shared
│ │ ├── BindingModel
│ │ ├── BindingControlType.cs
│ │ ├── BindingFlowAction.cs
│ │ ├── BindingFlowReference.cs
│ │ ├── BindingParameters.cs
│ │ ├── FieldBinding.cs
│ │ ├── FieldBindingType.cs
│ │ ├── FilterObject.cs
│ │ ├── IBindingContextMenu.cs
│ │ ├── IBindingControlType.cs
│ │ ├── ListBindingControlType.cs
│ │ ├── ModelBinding.cs
│ │ ├── RepeaterBindingControlType.cs
│ │ ├── SelectableListBindingControlType.cs
│ │ ├── TableColumnBindingControlType.cs
│ │ └── TableCountBindingControlType.cs
│ │ ├── BlazorForms.Shared.csproj
│ │ ├── DataStructures
│ │ ├── ConvertHelper.cs
│ │ ├── Currency.cs
│ │ ├── DateConvertHelper.cs
│ │ ├── DynamicRecordset.cs
│ │ ├── FileDetails.cs
│ │ ├── FormRuleTriggers.cs
│ │ └── Money.cs
│ │ ├── Exceptions
│ │ ├── BlazorFormsModelNotFoundException.cs
│ │ └── BlazorFormsValidationException.cs
│ │ ├── Extensions
│ │ ├── AutoDictionary.cs
│ │ ├── Dates.cs
│ │ ├── EnumExtensions.cs
│ │ ├── EnumFieldFilterType.cs
│ │ ├── ExpandoObjectExtensions.cs
│ │ ├── HashSetExtensions.cs
│ │ ├── ObjectConvert.cs
│ │ ├── QueryOptions.cs
│ │ ├── QueryOptionsFilterHelper.cs
│ │ ├── QueryOptionsPaginationHelper.cs
│ │ ├── QueryOptionsSortHelper.cs
│ │ ├── ReflectionObjectCloner.cs
│ │ ├── SortDirection.cs
│ │ ├── SortExtensions.cs
│ │ ├── StatusList.cs
│ │ ├── StringExtensions.cs
│ │ └── TypeExtensions.cs
│ │ ├── FastReflection
│ │ ├── FastReflectionProvider.cs
│ │ ├── IFastReflectionProvider.cs
│ │ └── ModelBindingNavigator.cs
│ │ ├── Logging
│ │ ├── ILogStreamer.cs
│ │ ├── MethodTimeLogger.cs
│ │ ├── MockLogStreamer.cs
│ │ └── WatchTracer.cs
│ │ ├── Reflection
│ │ ├── AssemblyHelper.cs
│ │ ├── EmbeddedResourceHelper.cs
│ │ ├── ExpressionTreeReflectionHelper.cs
│ │ ├── FastReflectionPrototype.cs
│ │ ├── IAssemblyRegistrator.cs
│ │ ├── IKnownTypesBinder.cs
│ │ ├── InvalidDependencyException.cs
│ │ ├── JsonPathHelper.cs
│ │ ├── JsonPathNavigator.cs
│ │ ├── JsonPathNavigatorFastEmitted.cs
│ │ ├── KnownTypesBinder.cs
│ │ ├── ModelNavigator.cs
│ │ └── TypeHelper.cs
│ │ ├── ShortGuid.cs
│ │ └── Types
│ │ └── Confirmations.cs
├── store
│ ├── BlazorForms.ItemStore
│ │ ├── BlazorForms.ItemStore.csproj
│ │ ├── Engine
│ │ │ ├── ExpressionBuilder.cs
│ │ │ ├── QueryParameter.cs
│ │ │ ├── SqlJsonDatabaseDriver.cs
│ │ │ ├── SqlJsonObjectResolver.cs
│ │ │ └── SqlScriptHelper.cs
│ │ ├── Exceptions
│ │ │ └── SqlJsonQueryBuildException.cs
│ │ ├── Interfaces
│ │ │ ├── IStoreCodeGenerator.cs
│ │ │ ├── IStoreDatabaseDriver.cs
│ │ │ ├── IStoreObjectResolver.cs
│ │ │ └── IStoreSchemaEngine.cs
│ │ ├── ItemStoreDataProvider.cs
│ │ ├── Mappings
│ │ │ ├── ModelMapping.cs
│ │ │ ├── StoreMappingModel.cs
│ │ │ ├── StoreObject.cs
│ │ │ └── StoreRecordset.cs
│ │ └── Schema
│ │ │ ├── Model
│ │ │ ├── StoreQuery.cs
│ │ │ └── StoreSchema.cs
│ │ │ └── StoreSchemaEngine.cs
│ └── BlazorForms.Storage
│ │ ├── BlazorForms.Storage.csproj
│ │ ├── ContextQuery.cs
│ │ ├── InMemory
│ │ ├── InMemoryHighStore.cs
│ │ └── InMemoryModelRepository.cs
│ │ └── Interfaces
│ │ ├── IContextQuery.cs
│ │ ├── IEntity.cs
│ │ ├── IHighStore.cs
│ │ └── IModelRepository.cs
└── wasm
│ └── BlazorForms.Wasm.InlineFlows
│ ├── BlazorForms.Wasm.InlineFlows.csproj
│ ├── Component1.razor
│ ├── Component1.razor.css
│ ├── ExampleJsInterop.cs
│ ├── InlineNavigationFormBase.razor
│ ├── Interfaces
│ └── IInlineFlowProvider.cs
│ ├── Mocks
│ ├── MockFlowRepository.cs
│ ├── MockObjectCloner.cs
│ └── MockTenantedScope.cs
│ ├── Providers
│ ├── BlazorFormsWasmInlineFlowsServiceCollectionExtensions.cs
│ ├── InlineFlowProvider.cs
│ └── WasmInlineFlowsAssemblyRegistrator.cs
│ ├── _Imports.razor
│ └── wwwroot
│ ├── background.png
│ └── exampleJsInterop.js
└── tests
├── BlazorForms.IntegrationTests.Server
├── BlazorForms.IntegrationTests.Server.csproj
├── Controllers
│ └── WeatherForecastController.cs
├── Flows
│ └── TestSampleFlow1.cs
├── Mocks
│ └── MockFlowRepository.cs
├── Program.cs
├── Properties
│ └── launchSettings.json
├── Providers
│ ├── ApplicationDbContext.cs
│ └── RevalidatingIdentityAuthenticationStateProvider.cs
├── Settings
│ ├── MockAccessService.cs
│ ├── TestAuthState.cs
│ └── WasmServerPart.cs
├── WeatherForecast.cs
├── appsettings.Development.json
└── appsettings.json
├── BlazorForms.Platform.IntegrationTests
├── BlazorForms.Platform.IntegrationTests.csproj
├── RestFlowRunProviderTests.cs
├── SampleTest1.cs
├── SilentFlowApiTests.cs
└── TestApi
│ ├── AppPartsRegistrationHelper.cs
│ ├── TestApiApplication.cs
│ └── WebApiTestBase.cs
├── BlazorForms.Platform.Tests
├── BlazorForms.Platform.Tests.csproj
├── CodeGeneration
│ └── FormGeneratorTests.cs
├── Expressions
│ └── SqlExpressionsTest.cs
├── Flows
│ ├── DefinitionFluentFlowTests.cs
│ ├── DemoClientTableFlow.cs
│ ├── DemoClientTableParamsFlow.cs
│ ├── DemoNullClientTableFlow.cs
│ ├── FlowExecutionTests.cs
│ ├── FlowParamsTests.cs
│ ├── FlowStatementsTests.cs
│ └── SilentFlowTests.cs
├── FluentForms
│ ├── ControlTypeTests.cs
│ ├── FluentFormsDefinitionTests.cs
│ ├── FluentFormsExtendedDefinitionTests.cs
│ └── TestModels.cs
├── Forms
│ ├── FormParserTests.cs
│ └── QuizFormTests.cs
├── HighStore
│ ├── HighStoreBasicTests.cs
│ └── Model
│ │ ├── Company.cs
│ │ ├── Person.cs
│ │ ├── PersonCompanyLink.cs
│ │ ├── PersonCompanyLinkType.cs
│ │ ├── Role.cs
│ │ ├── User.cs
│ │ └── UserRoleLink.cs
├── Providers
│ ├── AdminObjectsTests.cs
│ └── UserViewDataResolverTests.cs
├── Proxyma
│ ├── ModelProxyProviderTests.cs
│ ├── Models
│ │ ├── AddressModel.cs
│ │ ├── ClientModel.cs
│ │ ├── EmailModel.cs
│ │ └── PhoneModel.cs
│ └── PushPropertyBagStoreTests.cs
├── Rules
│ ├── DisplayRuleTests.cs
│ ├── DynamicRecordsetRuleTests.cs
│ ├── InfiniteLoopRuleExecutionTests.cs
│ ├── RepeaterRuleExecutionTests.cs
│ ├── RuleDefinitionParserTests.cs
│ ├── RuleExecutionTests.cs
│ ├── SimpleFastRuleEngineTests
│ │ └── SimpleFastRuleEngineRuleExecutionTests.cs
│ └── ValidationRuleTests.cs
├── Shared
│ ├── DynamicParamsTests.cs
│ ├── FeatureToggleTests.cs
│ └── KnownTypesBinderTests.cs
├── StateFlow
│ ├── StateFlowTests.cs
│ └── TestStateFlow1.cs
├── Store
│ ├── Query1.json
│ ├── StoreSchemaTests.cs
│ ├── TestQuery1.json
│ └── TestSchema1.json
├── Usings.cs
└── c.csproj
├── BlazorForms.Proxyma.Tests
├── BlazorForms.Proxyma.Tests.csproj
├── DynamicRecordsetProxyTests.cs
├── Models
│ └── Model1.cs
├── ProxyProvidersHierarchyTests.cs
├── PushProxyFactoryTests.cs
└── Usings.cs
├── BlazorForms.Shared.Tests
├── BlazorForms.Shared.Tests.csproj
├── ConvertHelperTests.cs
├── Data
│ └── FlowEntity.json
├── FastReflectionProviderTests.cs
├── FastReflectionTests.cs
├── JsonPathHelperTests.cs
├── JsonPathNavigatorFastEmittedTests.cs
├── JsonPathNavigatorTests.cs
├── ModelBindingNavigatorTests.cs
├── Models
│ ├── AddressModel.cs
│ ├── ClientModel.cs
│ ├── EmailModel.cs
│ └── PhoneModel.cs
├── StringExtensionsTests.cs
├── TypeHelperTests.cs
└── Usings.cs
├── BlazorForms.Tests.Framework
├── BlazorForms.Tests.Framework.csproj
├── Core
│ ├── FlowRunProviderCreator.cs
│ ├── MockClientBrowserService.cs
│ ├── MockFlowRepository.cs
│ ├── MockFlowRunStorage.cs
│ ├── MockNavigationManager.cs
│ ├── MockObjectCloner.cs
│ ├── MockStoreDatabaseDriver.cs
│ ├── TestAuthState.cs
│ └── TestInfraAssemblyRegistratorBase.cs
├── Crm
│ ├── Artel
│ │ ├── ArtelMemberEditFlow.cs
│ │ ├── ArtelProjectDashboardFlow.cs
│ │ ├── ArtelProjectDeleteFlow.cs
│ │ ├── ArtelProjectListFlow.cs
│ │ ├── ArtelProjectService.cs
│ │ ├── ArtelProjectSettingsFlow.cs
│ │ ├── ArtelTeamListFlow.cs
│ │ └── Forms
│ │ │ ├── FormArtelProjectDashboard.cs
│ │ │ └── FormArtelProjectSettings.cs
│ ├── BusinessObjects
│ │ ├── ArtelMemberDetails.cs
│ │ ├── ArtelMemberStatistics.cs
│ │ ├── ArtelProjectDetails.cs
│ │ ├── ArtelProjectStatistics.cs
│ │ ├── ArtelRoleDetails.cs
│ │ ├── AuthUser.cs
│ │ ├── BackgroundTaskModel.cs
│ │ ├── Email.cs
│ │ ├── FrequencyTypeDetails.cs
│ │ └── UserDetails.cs
│ ├── Connection
│ │ ├── ConnectionStringSettings.cs
│ │ └── CrmSettings.cs
│ ├── Definitions
│ │ ├── IAccessService.cs
│ │ ├── IArtelProjectService.cs
│ │ ├── IAuthService.cs
│ │ ├── IBackgroundTaskService.cs
│ │ └── IEmailService.cs
│ └── Models
│ │ ├── ArtelMemberModel.cs
│ │ ├── ArtelProjectDashboardModel.cs
│ │ ├── ArtelProjectListModel.cs
│ │ ├── ArtelProjectSettingsModel.cs
│ │ └── ArtelTeamListModel.cs
└── Helpers
│ └── AppPartsRegistrationHelper.cs
└── FastReflectionBenchmarkApp
├── FastReflectionBenchmarkApp.csproj
├── Program.cs
├── ReflectionBenchmarks.cs
└── ReflectionUsage.cs
/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/BlazorFormsDemoBlazorApp/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 | BlazorFormsDemoBlazorApp
4 |
5 |
6 |
9 |
10 |
11 |
14 |
15 |
16 | @Body
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoBlazorApp/Widgets/ImageWidget.razor:
--------------------------------------------------------------------------------
1 | ImageWidget
2 |
3 |
4 | @code {
5 |
6 | }
--------------------------------------------------------------------------------
/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 | }
--------------------------------------------------------------------------------
/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/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/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoBlazorApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoBlazorApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoBlazorApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoBlazorApp/wwwroot/img/20191005-BMNT-104.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoBlazorApp/wwwroot/img/20191005-BMNT-104.jpg
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/BlazorFormsDemoFastDesignApp/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/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 |
--------------------------------------------------------------------------------
/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/BlazorFormsDemoFastDesignApp/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 | BlazorFormsDemoFastDesignApp
4 |
5 |
6 |
9 |
10 |
11 |
14 |
15 |
16 | @Body
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/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/BlazorFormsDemoFastDesignApp/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*",
9 | }
10 |
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoFastDesignApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoFastDesignApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoFastDesignApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoModels/Class1.cs:
--------------------------------------------------------------------------------
1 | namespace BlazorFormsDemoModels
2 | {
3 | public class Class1
4 | {
5 |
6 | }
7 | }
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/Pages/Index.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 |
3 | Index
4 |
5 | Hello, world!
6 |
7 | Welcome to your new app.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoRadzenApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoRadzenApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoRadzenApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoWasmNew/Client/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 |
4 |
7 |
8 |
9 |
12 |
13 |
14 | @Body
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoWasmNew/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoWasmNew/Client/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoWasmNew/Client/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoWasmNew/Client/wwwroot/icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsDemoWasmNew/Client/wwwroot/icon-192.png
--------------------------------------------------------------------------------
/demo/BlazorFormsDemoWasmNew/Server/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/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/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/Pages/_Host.cshtml:
--------------------------------------------------------------------------------
1 | @page "/"
2 | @namespace BlazorFormsStateFlowDemoApp.Pages
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 | @{
5 | Layout = "_Layout";
6 | }
7 |
8 |
9 |
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoApp/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 | BlazorFormsStateFlowDemoApp
4 |
5 |
6 | @**@
9 |
10 |
11 |
12 |
13 | @Body
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoApp/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.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/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsStateFlowDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsStateFlowDemoApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoAppNuget/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoAppNuget/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 | BlazorFormsStateFlowDemoApp
4 |
5 |
6 | @**@
9 |
10 |
11 |
12 |
13 | @Body
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoAppNuget/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "DetailedErrors": true,
3 | "Logging": {
4 | "LogLevel": {
5 | "Default": "Information",
6 | "Microsoft.AspNetCore": "Warning"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/BlazorFormsStateFlowDemoAppNuget/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/demo/MudBlazorUIDemo/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "DetailedErrors": true,
3 | "Logging": {
4 | "LogLevel": {
5 | "Default": "Information",
6 | "Microsoft.AspNetCore": "Warning"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/demo/MudBlazorUIDemo/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
10 |
--------------------------------------------------------------------------------
/demo/MudBlazorUIDemo/wwwroot/assets/blackAsset-2@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/MudBlazorUIDemo/wwwroot/assets/blackAsset-2@4x.png
--------------------------------------------------------------------------------
/demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/MudBlazorUIDemo/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/demo/MudBlazorUIDemo/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/MudBlazorUIDemo/wwwroot/favicon.png
--------------------------------------------------------------------------------
/demo/StateFlow/DemoStateFlowObjects/Component1.razor:
--------------------------------------------------------------------------------
1 |
2 | This component is defined in the DemoStateFlowObjects library.
3 |
4 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/demo/StateFlow/DemoStateFlowObjects/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Components.Web
2 |
--------------------------------------------------------------------------------
/demo/StateFlow/DemoStateFlowObjects/wwwroot/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/demo/StateFlow/DemoStateFlowObjects/wwwroot/background.png
--------------------------------------------------------------------------------
/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/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/BlazorFormsSandpit/Pages/Sample.razor:
--------------------------------------------------------------------------------
1 | @page "/sample"
2 |
3 |
4 |
5 | @code {
6 | EditFormOptions Options = new EditFormOptions { MudBlazorProvidersDefined = true, Variant=Variant.Filled };
7 | }
--------------------------------------------------------------------------------
/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/BlazorFormsSandpit/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
10 |
--------------------------------------------------------------------------------
/seed/BlazorFormsSandpit/wwwroot/assets/blackAsset-2@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/BlazorFormsSandpit/wwwroot/assets/blackAsset-2@4x.png
--------------------------------------------------------------------------------
/seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/BlazorFormsSandpit/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/seed/BlazorFormsSandpit/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/BlazorFormsSandpit/wwwroot/favicon.png
--------------------------------------------------------------------------------
/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/BlazorFormsSeed/Pages/Sample.razor:
--------------------------------------------------------------------------------
1 | @page "/sample"
2 |
3 |
4 |
5 | @code {
6 | EditFormOptions Options = new EditFormOptions { MudBlazorProvidersDefined = true, Variant=Variant.Filled };
7 | }
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/BlazorFormsSeed/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
10 |
--------------------------------------------------------------------------------
/seed/BlazorFormsSeed/wwwroot/assets/blackAsset-2@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/BlazorFormsSeed/wwwroot/assets/blackAsset-2@4x.png
--------------------------------------------------------------------------------
/seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/BlazorFormsSeed/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/seed/BlazorFormsSeed/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/BlazorFormsSeed/wwwroot/favicon.png
--------------------------------------------------------------------------------
/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/.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/.idea/.idea.CrmLightDemoApp/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp.Store/.idea/.idea.CrmLightDemoApp/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp.Store/.idea/.idea.CrmLightDemoApp/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/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/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/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.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 |
--------------------------------------------------------------------------------
/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/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.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.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 |
--------------------------------------------------------------------------------
/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.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 |
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp.Store/Pages/ClientCompanyList.razor:
--------------------------------------------------------------------------------
1 | @page "/client-company-list"
2 |
3 |
4 |
5 | @code {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/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/CompanyList.razor:
--------------------------------------------------------------------------------
1 | @page "/company-list"
2 |
3 |
4 |
5 | @code {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp.Store/Pages/Index.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 |
3 |
4 |
--------------------------------------------------------------------------------
/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.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/PersonList.razor:
--------------------------------------------------------------------------------
1 | @page "/person-list"
2 |
3 |
4 |
5 | @code {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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.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.Store/Pages/UserList.razor:
--------------------------------------------------------------------------------
1 | @page "/user-list"
2 |
3 |
4 |
5 | @code {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/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/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
10 |
--------------------------------------------------------------------------------
/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.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.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.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.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 | }
--------------------------------------------------------------------------------
/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 }}'
--------------------------------------------------------------------------------
/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.Store/wwwroot/assets/blackAsset-2@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/CrmLightDemoApp.Store/wwwroot/assets/blackAsset-2@4x.png
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/CrmLightDemoApp.Store/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/CrmLightDemoApp.Store/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp.Store/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/CrmLightDemoApp.Store/wwwroot/favicon.png
--------------------------------------------------------------------------------
/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/.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/.idea/.idea.CrmLightDemoApp/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp/.idea/.idea.CrmLightDemoApp/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp/.idea/.idea.CrmLightDemoApp/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/ClientCompanyList.razor:
--------------------------------------------------------------------------------
1 | @page "/client-company-list"
2 |
3 |
4 |
5 | @code {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/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/CompanyList.razor:
--------------------------------------------------------------------------------
1 | @page "/company-list"
2 |
3 |
4 |
5 | @code {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp/Pages/Index.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 |
3 |
4 |
--------------------------------------------------------------------------------
/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/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/Pages/PersonList.razor:
--------------------------------------------------------------------------------
1 | @page "/person-list"
2 |
3 |
4 |
5 | @code {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 | }
--------------------------------------------------------------------------------
/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 }}'
--------------------------------------------------------------------------------
/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)]
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp/wwwroot/assets/blackAsset-2@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/CrmLightDemoApp/wwwroot/assets/blackAsset-2@4x.png
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/CrmLightDemoApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/seed/CrmLightDemoApp/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/seed/CrmLightDemoApp/wwwroot/favicon.png
--------------------------------------------------------------------------------
/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/.idea/.idea.BlazorForms.Framework/.idea/.name:
--------------------------------------------------------------------------------
1 | BlazorForms.Framework
--------------------------------------------------------------------------------
/src/.idea/.idea.BlazorForms.Framework/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/.idea/.idea.BlazorForms.Framework/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/.idea/.idea.BlazorForms.Framework/.idea/riderPublish.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.BlazorForms.Framework/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/admin/BlazorForms.Admin.App/Shared/MainLayout.razor:
--------------------------------------------------------------------------------
1 | @inherits LayoutComponentBase
2 |
3 | BlazorForms.Admin.App
4 |
5 |
6 |
9 |
10 |
11 |
14 |
15 |
16 | @Body
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/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/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
--------------------------------------------------------------------------------
/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/admin/BlazorForms.Admin.App/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
--------------------------------------------------------------------------------
/src/admin/BlazorForms.Admin.App/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/admin/BlazorForms.Admin.App/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/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/admin/BlazorForms.Admin.BusinessObjects/Class1.cs:
--------------------------------------------------------------------------------
1 | namespace BlazorForms.Admin.BusinessObjects
2 | {
3 | public class Class1
4 | {
5 |
6 | }
7 | }
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/expressions/BlazorForms.Expressions/BlazorForms.Expressions.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/flows/BlazorForms.Flows.Definitions/InternalVisible.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 | using System;
3 |
4 | [assembly: InternalsVisibleTo("BlazorForms.Flows.Engine")]
5 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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/Checkbox.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace BlazorForms.Forms
3 | {
4 | public class Checkbox : FormComponentBase
5 | {
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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/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/platform/BlazorForms.Platform.Core.Examples/wwwroot/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/platform/BlazorForms.Platform.Core.Examples/wwwroot/background.png
--------------------------------------------------------------------------------
/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/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/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.Cosmos/Nuspec/contentFiles/any/any/Platz.Cosmos.Link/appsettings.cosmos.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/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/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/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/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 |
--------------------------------------------------------------------------------
/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.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 |
--------------------------------------------------------------------------------
/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/platform/BlazorForms.Platform.PostgreSql/Nuspec/contentFiles/any/any/Platz.Cosmos.Link/appsettings.cosmos.json:
--------------------------------------------------------------------------------
1 | {
2 | "CosmosDb": {
3 | },
4 | }
5 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Georgia.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Georgia.ttf
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Verdana.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/platform/BlazorForms.Platform/Nuspec/contentFiles/any/any/Verdana.ttf
--------------------------------------------------------------------------------
/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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/proxy/BlazorForms.Proxyma/Interfaces/IProxymaInterceptor.cs:
--------------------------------------------------------------------------------
1 | namespace BlazorForms.Proxyma
2 | {
3 | public interface IProxymaInterceptor
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/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/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.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 |
--------------------------------------------------------------------------------
/src/rendering/BlazorForms.Rendering.Flows/Georgia.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/rendering/BlazorForms.Rendering.Flows/Georgia.ttf
--------------------------------------------------------------------------------
/src/rendering/BlazorForms.Rendering.Flows/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/rendering/BlazorForms.Rendering.Flows/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/src/rendering/BlazorForms.Rendering.Flows/Verdana.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/rendering/BlazorForms.Rendering.Flows/Verdana.ttf
--------------------------------------------------------------------------------
/src/rendering/BlazorForms.Rendering.Flows/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Components.Web
2 |
--------------------------------------------------------------------------------
/src/rendering/BlazorForms.Rendering.Flows/wwwroot/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/rendering/BlazorForms.Rendering.Flows/wwwroot/background.png
--------------------------------------------------------------------------------
/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.MaterialBlazor/Component1.razor:
--------------------------------------------------------------------------------
1 |
2 | This Blazor component is defined in the BlazorForms.Rendering package.
3 |
4 |
--------------------------------------------------------------------------------
/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/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.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.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.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
--------------------------------------------------------------------------------
/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.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.MaterialBlazor/wwwroot/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/rendering/BlazorForms.Rendering.MaterialBlazor/wwwroot/background.png
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/src/rendering/BlazorForms.Rendering.MudBlazorUI/wwwroot/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/rendering/BlazorForms.Rendering.MudBlazorUI/wwwroot/background.png
--------------------------------------------------------------------------------
/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/rendering/BlazorForms.Rendering.RadzenBlazor/Components/HeaderControl.razor:
--------------------------------------------------------------------------------
1 | @using BlazorForms.Shared
2 |
3 | @inherits ValueControl
4 |
5 |
6 |
--------------------------------------------------------------------------------
/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/rendering/BlazorForms.Rendering.RadzenBlazor/Components/SubtitleControl.razor:
--------------------------------------------------------------------------------
1 | @using BlazorForms.Shared
2 |
3 | @inherits ValueControl
4 |
5 |
12 |
13 |
--------------------------------------------------------------------------------
/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.Standard/Component1.razor:
--------------------------------------------------------------------------------
1 |
2 | This Blazor component is defined in the BlazorForms.Rendering.Standard package.
3 |
4 |
--------------------------------------------------------------------------------
/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/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/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.Standard/wwwroot/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/rendering/BlazorForms.Rendering.Standard/wwwroot/background.png
--------------------------------------------------------------------------------
/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/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/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 | }
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/src/wasm/BlazorForms.Wasm.InlineFlows/Component1.razor:
--------------------------------------------------------------------------------
1 |
2 | This component is defined in the BlazorForms.Wasm.InlineFlows library.
3 |
4 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/src/wasm/BlazorForms.Wasm.InlineFlows/_Imports.razor:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Components.Web
2 |
--------------------------------------------------------------------------------
/src/wasm/BlazorForms.Wasm.InlineFlows/wwwroot/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProCodersPtyLtd/BlazorForms/ba0f0dafe27a29bbcd6efb2ce9009f57577b01b4/src/wasm/BlazorForms.Wasm.InlineFlows/wwwroot/background.png
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 | }
--------------------------------------------------------------------------------
/tests/BlazorForms.IntegrationTests.Server/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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.Platform.Tests/Usings.cs:
--------------------------------------------------------------------------------
1 | global using Xunit;
--------------------------------------------------------------------------------
/tests/BlazorForms.Proxyma.Tests/Usings.cs:
--------------------------------------------------------------------------------
1 | global using Xunit;
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/tests/BlazorForms.Shared.Tests/Usings.cs:
--------------------------------------------------------------------------------
1 | global using Xunit;
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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();
--------------------------------------------------------------------------------