├── .editorconfig ├── .gitattributes ├── .github ├── pack │ └── action.yml ├── setup │ └── action.yml ├── test-report │ ├── action.yml │ ├── test-report.ps1 │ ├── trx2md.ps1 │ └── trx2md.xsl ├── uitest │ ├── GenericPublish.pubxml │ ├── action.yml │ ├── uitest.ps1 │ └── uitest.sh ├── unittest │ └── action.yml └── workflows │ ├── main.yml │ ├── publish-internal.yml │ ├── publish-public.yml │ └── ui-tests-manual.yml ├── .gitignore ├── LICENSE ├── README.md ├── SECURITY.md ├── ci └── scripts │ ├── Add-InternalNuGetFeed.ps1 │ ├── ComposePackageVersionVariable.ps1 │ ├── Copy-NuGetPackages.ps1 │ ├── CopyArtifacts.ps1 │ ├── CopyBetweenNugetFeeds.ps1 │ ├── CopyPackageBetweenNugetFeeds.ps1 │ ├── Get-PublicProjects.ps1 │ ├── PerformJsTests.ps1 │ ├── Publish-NuGetPackages.ps1 │ ├── Set-NpmRegistry.ps1 │ ├── SetSamplesActiveProfile.ps1 │ ├── SetSamplesAppSettings.ps1 │ ├── npm │ ├── build-dotvvm-types.ps1 │ └── dotvvm-types │ │ └── package.json │ ├── nuget.exe │ └── publish.ps1 ├── code-of-conduct.md ├── contributing.md ├── logo.svg ├── roadmap.md └── src ├── .config └── dotnet-tools.json ├── .yarn └── releases │ └── yarn-3.2.0.cjs ├── .yarnrc.yml ├── Adapters ├── Tests │ └── WebForms │ │ ├── DotVVM.Adapters.WebForms.Tests.csproj │ │ ├── HybridRouteLinkTests.cs │ │ ├── WebFormsRouteTableInit.cs │ │ └── testoutputs │ │ ├── HybridRouteLinkTests.HybridRouteLink_NoBindings.html │ │ ├── HybridRouteLinkTests.HybridRouteLink_SuffixAndQueryString.html │ │ └── HybridRouteLinkTests.HybridRouteLink_ValueBinding.html └── WebForms │ ├── Controls │ ├── HybridRouteLink.cs │ └── WebFormsLinkUtils.cs │ ├── DotVVM.Adapters.WebForms.csproj │ ├── DotvvmConfigurationExtensions.cs │ ├── WebFormsAdaptersExtensions.cs │ └── dotvvmwizard.snk ├── Analyzers ├── Analyzers.CodeFixes │ ├── AnalyzersCodeFixProvider.cs │ ├── CodeFixResources.Designer.cs │ ├── CodeFixResources.resx │ ├── DotVVM.Analyzers.CodeFixes.csproj │ └── dotvvmwizard.snk ├── Analyzers.Package │ ├── DotVVM.Analyzers.Package.csproj │ ├── dotvvmwizard.snk │ └── tools │ │ ├── install.ps1 │ │ └── uninstall.ps1 ├── Analyzers.Tests │ ├── ApiUsage │ │ ├── AddArgumentErrorTests.cs │ │ └── UnsupportedCallSiteAttributeTests.cs │ ├── DotVVM.Analyzers.Tests.csproj │ ├── Serializability │ │ └── ViewModelSerializabilityTest.cs │ └── Verifiers │ │ ├── CSharpAnalyzerVerifier`1+Test.cs │ │ ├── CSharpAnalyzerVerifier`1.cs │ │ ├── CSharpCodeFixVerifier`2+Test.cs │ │ ├── CSharpCodeFixVerifier`2.cs │ │ ├── CSharpCodeRefactoringVerifier`1+Test.cs │ │ ├── CSharpCodeRefactoringVerifier`1.cs │ │ └── CSharpVerifierHelper.cs └── Analyzers │ ├── AnalyzerReleases.Shipped.md │ ├── AnalyzerReleases.Unshipped.md │ ├── ApiUsage │ ├── AddArgumentErrorAnalyzer.cs │ └── UnsupportedCallSiteAttributeAnalyzer.cs │ ├── DiagnosticCategory.cs │ ├── DotVVM.Analyzers.csproj │ ├── DotvvmDiagnosticIds.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── RoslynTreeHelper.cs │ ├── Serializability │ ├── SerializabilityAnalysisContext.cs │ ├── TypeSymbolExtensions.cs │ └── ViewModelSerializabilityAnalyzer.cs │ └── dotvvmwizard.snk ├── Api ├── Swashbuckle.AspNetCore.Tests │ ├── DotVVM.Framework.Api.Swashbuckle.AspNetCore.Tests.csproj │ └── SwaggerFileGenerationTests.cs ├── Swashbuckle.AspNetCore │ ├── Attributes │ │ └── AsObjectAttribute.cs │ ├── DotVVM.Framework.Api.Swashbuckle.AspNetCore.csproj │ ├── Filters │ │ ├── AddAsObjectAnnotationOperationFilter.cs │ │ ├── AddTypeToModelSchemaFilter.cs │ │ ├── HandleKnownTypesDocumentFilter.cs │ │ ├── RemoveBindNoneFromUriParametersOperationFilter.cs │ │ └── RemoveReadOnlyFromUriParametersOperationFilter.cs │ └── SwashbuckleExtensions.cs ├── Swashbuckle.Owin.Tests │ ├── DotVVM.Framework.Api.Swashbuckle.Owin.Tests.csproj │ └── SwaggerFileGenerationTests.cs └── Swashbuckle.Owin │ ├── Attributes │ └── AsObjectAttribute.cs │ ├── DotVVM.Framework.Api.Swashbuckle.Owin.csproj │ ├── Filters │ ├── AddAsObjectAnnotationOperationFilter.cs │ ├── AddTypeToModelSchemaFilter.cs │ └── HandleKnownTypesDocumentFilter.cs │ └── SwashbuckleExtensions.cs ├── AutoUI ├── Annotations │ ├── AuthenticationMode.cs │ ├── DotVVM.AutoUI.Annotations.csproj │ ├── EnabledAttribute.cs │ ├── IConditionalFieldAttribute.cs │ ├── ISelectionProvider.cs │ ├── IViewContext.cs │ ├── README.md │ ├── Selection.cs │ ├── SelectionAttribute.cs │ ├── StyleAttribute.cs │ ├── VisibleAttribute.cs │ └── dotvvmwizard.snk ├── Core │ ├── AutoUIContext.cs │ ├── AutoUIExtensions.cs │ ├── Configuration │ │ └── AutoUIConfiguration.cs │ ├── ControlHelpers.cs │ ├── Controls │ │ ├── AutoEditor.cs │ │ ├── AutoForm.cs │ │ ├── AutoFormBase.cs │ │ ├── AutoGridViewColumn.cs │ │ ├── AutoGridViewColumns.cs │ │ ├── BootstrapForm.cs │ │ ├── BulmaForm.cs │ │ └── ColumnPlacement.cs │ ├── DotVVM.AutoUI.csproj │ ├── Metadata │ │ ├── Builder │ │ │ ├── PropertyDisplayMetadataModifier.cs │ │ │ └── PropertyMetadataModifierCollection.cs │ │ ├── ConditionalFieldBindingProvider.cs │ │ ├── DataAnnotationsPropertyDisplayMetadataProvider.cs │ │ ├── DefaultEntityPropertyListProvider.cs │ │ ├── IEntityPropertyListProvider.cs │ │ ├── IPropertyDisplayMetadataProvider.cs │ │ ├── LocalizableString.cs │ │ ├── PropertyDisplayMetadata.cs │ │ ├── ResourcePropertyDisplayMetadataProvider.cs │ │ └── ResourceViewModelValidationMetadataProvider.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── PropertyHandlers │ │ ├── AutoUIPropertyHandlerBase.cs │ │ ├── AutoUIPropertyHandlerExtensions.cs │ │ ├── FormEditors │ │ │ ├── CheckBoxEditorProvider.cs │ │ │ ├── EnumComboBoxFormEditorProvider.cs │ │ │ ├── FormEditorProviderBase.cs │ │ │ ├── IFormEditorProvider.cs │ │ │ ├── MultiSelectorCheckBoxFormEditorProvider.cs │ │ │ ├── SelectorComboBoxFormEditorProvider.cs │ │ │ └── TextBoxEditorProvider.cs │ │ ├── GridColumns │ │ │ ├── CheckBoxGridColumnProvider.cs │ │ │ ├── GridColumnProviderBase.cs │ │ │ ├── IGridColumnProvider.cs │ │ │ └── TextGridColumnProvider.cs │ │ ├── IAutoUIPropertyHandler.cs │ │ ├── ISelectorDiscoveryService.cs │ │ ├── SelectorDiscoveryService.cs │ │ └── TextBoxHelper.cs │ ├── ServiceCollectionExtensions.cs │ ├── ViewContext.cs │ ├── ViewModel │ │ ├── ISelectorViewModel.cs │ │ └── SelectionViewModel.cs │ └── dotvvmwizard.snk └── README.md ├── Directory.Build.props ├── DotVVM.Crossplatform.slnf ├── DotVVM.sln ├── DynamicData ├── Annotations │ ├── AuthenticatedFilterAttribute.cs │ ├── ComboBoxSettingsAttribute.cs │ ├── DotVVM.Framework.Controls.DynamicData.Annotations.csproj │ ├── IViewContext.cs │ ├── IVisibilityFilter.cs │ ├── RoleFilterAttribute.cs │ ├── StyleAttribute.cs │ ├── UnmatchedFilterAttribute.cs │ ├── ViewFilterAttribute.cs │ ├── VisibilityMode.cs │ └── dotvvmwizard.snk ├── DynamicData │ ├── Builders │ │ ├── BootstrapFormGroupBuilder.cs │ │ ├── FormBuilderBase.cs │ │ ├── IFormBuilder.cs │ │ └── TableDynamicFormBuilder.cs │ ├── ColumnPlacement.cs │ ├── Configuration │ │ ├── ComboBoxConvention.cs │ │ ├── ComboBoxConventions.cs │ │ └── DynamicDataConfiguration.cs │ ├── ControlHelpers.cs │ ├── DataContextStackHelper.cs │ ├── DotVVM.Framework.Controls.DynamicData.csproj │ ├── DynamicDataContext.cs │ ├── DynamicDataExtensions.cs │ ├── DynamicDataGridViewDecorator.cs │ ├── DynamicEditor.cs │ ├── DynamicEntity.cs │ ├── Metadata │ │ ├── DataAnnotationsPropertyDisplayMetadataProvider.cs │ │ ├── DefaultEntityPropertyListProvider.cs │ │ ├── IEntityPropertyListProvider.cs │ │ ├── IPropertyDisplayMetadataProvider.cs │ │ ├── PropertyDisplayMetadata.cs │ │ ├── ResourcePropertyDisplayMetadataProvider.cs │ │ └── ResourceViewModelValidationMetadataProvider.cs │ ├── PropertyHandlers │ │ ├── DynamicDataPropertyHandlerBase.cs │ │ ├── FormEditors │ │ │ ├── CheckBoxEditorProvider.cs │ │ │ ├── ComboBoxConventionFormEditorProvider.cs │ │ │ ├── ComboBoxFormEditorProviderBase.cs │ │ │ ├── FormEditorProviderBase.cs │ │ │ ├── IFormEditorProvider.cs │ │ │ └── TextBoxEditorProvider.cs │ │ ├── GridColumns │ │ │ ├── CheckBoxGridColumnProvider.cs │ │ │ ├── GridColumnProviderBase.cs │ │ │ ├── IGridColumnProvider.cs │ │ │ └── TextGridColumnProvider.cs │ │ ├── IDynamicDataPropertyHandler.cs │ │ └── TextBoxHelper.cs │ ├── ServiceCollectionExtensions.cs │ ├── StateBagKey.cs │ ├── Utils │ │ ├── PropertyDelegateMatch.cs │ │ ├── PropertyExactMatch.cs │ │ ├── PropertyMatch.cs │ │ └── PropertyNameMatch.cs │ ├── ViewContext.cs │ └── dotvvmwizard.snk └── README.md ├── Framework ├── Core │ ├── CodeAnalysis │ │ ├── CallSiteType.cs │ │ └── UnsupportedCallSiteAttribute.cs │ ├── Common │ │ ├── ApiConstants.cs │ │ ├── DotvvmApiOptions.cs │ │ └── KnownTypeMatchers.cs │ ├── ComponentModel │ │ └── DataAnnotations │ │ │ └── ClientFormatAttribute.cs │ ├── Controls │ │ ├── GenericGridViewDataSet.cs │ │ ├── GridViewDataSet.cs │ │ ├── GridViewDataSetExtensions.cs │ │ ├── GridViewDataSetResult.cs │ │ ├── IBaseGridViewDataSet.cs │ │ ├── IFilterableGridViewDataSet.cs │ │ ├── IGridViewDataSet.cs │ │ ├── IPageableGridViewDataSet.cs │ │ ├── IRefreshableGridViewDataSet.cs │ │ ├── IRowEditGridViewDataSet.cs │ │ ├── IRowInsertGridViewDataSet.cs │ │ ├── ISortableGridViewDataSet.cs │ │ ├── Options │ │ │ ├── GridViewDataSetOptions.cs │ │ │ ├── IApplyToQueryable.cs │ │ │ ├── IFilteringOptions.cs │ │ │ ├── INearPageIndexesProvider.cs │ │ │ ├── IPagingOptions.cs │ │ │ ├── IPagingOptionsLoadingPostProcessor.cs │ │ │ ├── IRowEditOptions.cs │ │ │ ├── IRowInsertOptions.cs │ │ │ ├── ISortingOptions.cs │ │ │ ├── MultiCriteriaSortingOptions.cs │ │ │ ├── NextTokenHistoryPagingOptions.cs │ │ │ ├── NextTokenPagingOptions.cs │ │ │ ├── NoFilteringOptions.cs │ │ │ ├── NoPagingOptions.cs │ │ │ ├── NoRowEditOptions.cs │ │ │ ├── NoRowInsertOptions.cs │ │ │ ├── NoSortingOptions.cs │ │ │ ├── PagingImplementation.cs │ │ │ ├── PagingOptions.cs │ │ │ ├── RowEditOptions.cs │ │ │ ├── RowInsertOptions.cs │ │ │ ├── SortingImplementation.cs │ │ │ └── SortingOptions.cs │ │ └── ServerSideGridViewDataSet.cs │ ├── DotVVM.Core.csproj │ ├── Properties │ │ └── PublishProfiles │ │ │ └── FolderProfile.pubxml │ ├── Storage │ │ ├── FileSize.cs │ │ ├── IReturnedFileStorage.cs │ │ ├── IUploadedFileStorage.cs │ │ ├── ReturnedFile.cs │ │ ├── ReturnedFileMetadata.cs │ │ ├── UploadedFile.cs │ │ └── UploadedFileStorageExtensions.cs │ ├── Utils │ │ └── TextUtils.cs │ ├── ViewModel │ │ ├── AllowStaticCommandAttribute.cs │ │ ├── BindAttribute.cs │ │ ├── DefaultPropertySerialization.cs │ │ ├── Direction.cs │ │ ├── DotvvmSerializationAttribute.cs │ │ ├── IDotvvmPrimitiveType.cs │ │ ├── IPropertySerialization.cs │ │ ├── ProtectAttribute.cs │ │ ├── ProtectMode.cs │ │ └── StaticCommandValidation.cs │ └── dotvvmwizard.snk ├── Framework │ ├── .yarnrc.yml │ ├── Binding │ │ ├── ActiveDotvvmProperty.cs │ │ ├── ActiveDotvvmPropertyGroup.cs │ │ ├── AttachedPropertyAttribute.cs │ │ ├── BindingCollectionInfo.cs │ │ ├── BindingCombinator.cs │ │ ├── BindingCompilationOptionsAttribute.cs │ │ ├── BindingCompilationRequirementType.cs │ │ ├── BindingCompilationRequirementsAttribute.cs │ │ ├── BindingCompilationService.cs │ │ ├── BindingFactory.cs │ │ ├── BindingHelper.cs │ │ ├── BindingPageInfo.cs │ │ ├── BindingProperties.cs │ │ ├── BindingPropertyException.cs │ │ ├── CollectionElementDataContextChangeAttribute.cs │ │ ├── CombinedDataContextAttributeProvider.cs │ │ ├── CompileTimeOnlyDotvvmProperty.cs │ │ ├── ConstantDataContextChangeAttribute.cs │ │ ├── ControlPropertyBindingDataContextChangeAttribute.cs │ │ ├── ControlPropertyTypeDataContextChangeAttribute.cs │ │ ├── DataContextChangeAttribute.cs │ │ ├── DelegateActionProperty.cs │ │ ├── DelegateActionPropertyGroup.cs │ │ ├── DotvvmBindingCacheHelper.cs │ │ ├── DotvvmCapabilityProperty.CodeGeneration.cs │ │ ├── DotvvmCapabilityProperty.Helpers.cs │ │ ├── DotvvmCapabilityProperty.cs │ │ ├── DotvvmProperty.cs │ │ ├── DotvvmPropertyAlias.cs │ │ ├── DotvvmPropertyUtils.cs │ │ ├── DotvvmPropertyWithFallback.cs │ │ ├── Expressions │ │ │ ├── BindingDebugJsonConverter.cs │ │ │ ├── BindingDelegates.cs │ │ │ ├── BindingExpression.cs │ │ │ ├── CommandBindingExpression.cs │ │ │ ├── ControlCommandBindingExpression.cs │ │ │ ├── ControlPropertyBindingExpression.cs │ │ │ ├── IBinding.cs │ │ │ ├── ICommandBinding.cs │ │ │ ├── IStaticValueBinding.cs │ │ │ ├── IUpdatableValueBinding.cs │ │ │ ├── IValueBinding.cs │ │ │ ├── ResourceBindingExpression.cs │ │ │ ├── StaticCommandBindingExpression.cs │ │ │ └── ValueBindingExpression.cs │ │ ├── ExtensionCommands.cs │ │ ├── ExtractGenericArgumentDataContextChangeAttribute.cs │ │ ├── GenericTypeDataContextChangeAttribute.cs │ │ ├── GroupedDotvvmProperty.cs │ │ ├── HelperNamespace │ │ │ ├── BindingApi.cs │ │ │ ├── DataPagerApi.cs │ │ │ ├── DateTimeExtensions.cs │ │ │ ├── Enums.cs │ │ │ ├── JsBindingApi.cs │ │ │ ├── ListExtensions.cs │ │ │ └── NetFrameworkExtensions.cs │ │ ├── IExpressionToDelegateCompiler.cs │ │ ├── PropertyAliasAttribute.cs │ │ ├── PropertyGroupAttribute.cs │ │ ├── ValueOrBinding.cs │ │ ├── ValueOrBindingExtensions.cs │ │ ├── ViewModuleReferenceInfo.cs │ │ └── VirtualPropertyGroupDictionary.cs │ ├── CallerArgumentExpressionAttribute.cs │ ├── Compilation │ │ ├── AliasingVisitor.cs │ │ ├── AttributeValueMergerBase.cs │ │ ├── Binding │ │ │ ├── BindingCompilationException.cs │ │ │ ├── BindingExpressionBuilder.cs │ │ │ ├── ExpressionBuildingVisitor.cs │ │ │ ├── ExpressionHelper.cs │ │ │ ├── ExpressionNullPropagationVisitor.cs │ │ │ ├── GeneralBindingPropertyResolvers.cs │ │ │ ├── InitOnlyPropertyCheckingVisitor.cs │ │ │ ├── MemberExpressionFactory.cs │ │ │ ├── MethodGroupExpression.cs │ │ │ ├── OperatorResolution.cs │ │ │ ├── StaticClassIdentifier.cs │ │ │ ├── StaticCommandBindingCompiler.cs │ │ │ ├── StaticCommandExecutionPlanSerializer.cs │ │ │ ├── StaticCommandMethodTranslator.cs │ │ │ ├── TypeConversions.cs │ │ │ ├── TypeRegistry.cs │ │ │ ├── UnknownStaticClassIdentifierExpression.cs │ │ │ ├── UnknownTypeSentinel.cs │ │ │ ├── ValidationPathFormatter.cs │ │ │ └── VariableHoistingVisitor.cs │ │ ├── BindingCompiler.cs │ │ ├── BindingParserOptions.cs │ │ ├── BindingRequiredResourceVisitor.cs │ │ ├── CompilationState.cs │ │ ├── CompiledAssemblyCache.cs │ │ ├── ControlPrecompilationVisitor.cs │ │ ├── ControlTree │ │ │ ├── BindingExtensionParameter.cs │ │ │ ├── ControlResolverBase.cs │ │ │ ├── ControlResolverMetadata.cs │ │ │ ├── ControlResolverMetadataBase.cs │ │ │ ├── ControlTreeHelper.cs │ │ │ ├── ControlTreeResolverBase.cs │ │ │ ├── CustomAttributesProvider.cs │ │ │ ├── DataContextStack.cs │ │ │ ├── DataContextStackManipulationAttribute.cs │ │ │ ├── DefaultControlResolver.cs │ │ │ ├── DefaultControlTreeResolver.cs │ │ │ ├── DotvvmPropertyGroup.cs │ │ │ ├── IAbstractBinding.cs │ │ │ ├── IAbstractContentNode.cs │ │ │ ├── IAbstractControl.cs │ │ │ ├── IAbstractDirective.cs │ │ │ ├── IAbstractDirectiveAttributeReference.cs │ │ │ ├── IAbstractImportDirective.cs │ │ │ ├── IAbstractPropertyBinding.cs │ │ │ ├── IAbstractPropertyControl.cs │ │ │ ├── IAbstractPropertyControlCollection.cs │ │ │ ├── IAbstractPropertyDeclarationDirective.cs │ │ │ ├── IAbstractPropertySetter.cs │ │ │ ├── IAbstractPropertyTemplate.cs │ │ │ ├── IAbstractPropertyValue.cs │ │ │ ├── IAbstractServiceInjectDirective.cs │ │ │ ├── IAbstractTreeBuilder.cs │ │ │ ├── IAbstractTreeNode.cs │ │ │ ├── IAbstractTreeRoot.cs │ │ │ ├── IAbstractTypeSpecificationDirective.cs │ │ │ ├── IAbstractViewModuleDirective.cs │ │ │ ├── IControlResolver.cs │ │ │ ├── IControlResolverMetadata.cs │ │ │ ├── IControlTreeResolver.cs │ │ │ ├── IDataContextStack.cs │ │ │ ├── IPropertyDescriptor.cs │ │ │ ├── IPropertyGroupDescriptor.cs │ │ │ ├── ITypeDescriptor.cs │ │ │ ├── LifecycleRequirementsAssigningVisitor.cs │ │ │ ├── ObsoletionVisitor.cs │ │ │ ├── PopDataContextManipulationAttribute.cs │ │ │ ├── PropertyGroupMatcher.cs │ │ │ ├── Resolved │ │ │ │ ├── DirectiveCompilationService.cs │ │ │ │ ├── IPropertyGroupMember.cs │ │ │ │ ├── IResolvedControlTreeVisitor.cs │ │ │ │ ├── IResolvedTreeNode.cs │ │ │ │ ├── PropertyGroupMember.cs │ │ │ │ ├── ResolvedBinding.cs │ │ │ │ ├── ResolvedContentNode.cs │ │ │ │ ├── ResolvedControl.cs │ │ │ │ ├── ResolvedControlTreeVisitor.cs │ │ │ │ ├── ResolvedDirective.cs │ │ │ │ ├── ResolvedImportDirective.cs │ │ │ │ ├── ResolvedPropertyBinding.cs │ │ │ │ ├── ResolvedPropertyCapability.cs │ │ │ │ ├── ResolvedPropertyControl.cs │ │ │ │ ├── ResolvedPropertyControlCollection.cs │ │ │ │ ├── ResolvedPropertyDeclarationDirective.cs │ │ │ │ ├── ResolvedPropertyDirectiveAttributeReference.cs │ │ │ │ ├── ResolvedPropertySetter.cs │ │ │ │ ├── ResolvedPropertyTemplate.cs │ │ │ │ ├── ResolvedPropertyValue.cs │ │ │ │ ├── ResolvedServiceInjectDirective.cs │ │ │ │ ├── ResolvedTreeBuilder.cs │ │ │ │ ├── ResolvedTreeNode.cs │ │ │ │ ├── ResolvedTreeRoot.cs │ │ │ │ ├── ResolvedTypeDescriptor.cs │ │ │ │ ├── ResolvedTypeSpecificationDirective.cs │ │ │ │ └── ResolvedViewModuleDirective.cs │ │ │ ├── ResolvedTreeHelpers.cs │ │ │ ├── TypeDescriptorUtils.cs │ │ │ ├── UnsupportedCallSiteCheckingVisitor.cs │ │ │ └── UsedPropertiesFindingVisitor.cs │ │ ├── ControlType.cs │ │ ├── DataContextPropertyAssigningVisitor.cs │ │ ├── DefaultAttributeValueMerger.cs │ │ ├── DefaultControlBuilderFactory.cs │ │ ├── DiagnosticsCompilationTracer.cs │ │ ├── Directives │ │ │ ├── BaseTypeDirectiveCompiler.cs │ │ │ ├── DefaultDirectiveResolver.cs │ │ │ ├── DirectiveCompiler.cs │ │ │ ├── DirectiveResolver.cs │ │ │ ├── IMarkupDirectiveCompilerPipeline.cs │ │ │ ├── ImportDirectiveCompiler.cs │ │ │ ├── MarkupDirectiveCompilerPipeline.cs │ │ │ ├── MarkupDirectiveCompilerPipelineBase.cs │ │ │ ├── MarkupPageMetadata.cs │ │ │ ├── MasterPageDirectiveCompiler.cs │ │ │ ├── PropertyDeclarationDirectiveCompiler.cs │ │ │ ├── ResolvedPropertyDeclarationDirectiveCompiler.cs │ │ │ ├── ServiceDirectiveCompiler.cs │ │ │ ├── ViewModelDirectiveCompiler.cs │ │ │ ├── ViewModuleCompilationResult.cs │ │ │ └── ViewModuleDirectiveCompiler.cs │ │ ├── DotHtmlFileInfo.cs │ │ ├── DotvvmCompilationDiagnostic.cs │ │ ├── DotvvmCompilationException.cs │ │ ├── DotvvmLocationInfo.cs │ │ ├── DotvvmViewCompilationService.cs │ │ ├── DotvvmViewCompilationServiceExtensions.cs │ │ ├── ErrorCheckingVisitor.cs │ │ ├── ExtensionMethodsCache.cs │ │ ├── GlobalizeResourceVisitor.cs │ │ ├── HandleAsImmutableObjectInDotvvmPropertyAttribute.cs │ │ ├── HtmlAttributeValueMerger.cs │ │ ├── IAttributeValueMerger.cs │ │ ├── IBindingCompiler.cs │ │ ├── IBindingExpressionBuilder.cs │ │ ├── IControlAttributeDescriptor.cs │ │ ├── IControlBuilderFactory.cs │ │ ├── IControlType.cs │ │ ├── IDotvvmViewCompilationService.cs │ │ ├── Inference │ │ │ ├── ITypeInferer.cs │ │ │ ├── InfererContext.cs │ │ │ ├── Inferers │ │ │ │ └── LambdaInferer.cs │ │ │ ├── Results │ │ │ │ ├── ITypeInferenceResult.cs │ │ │ │ └── LambdaTypeInferenceResult.cs │ │ │ └── TypeInferer.cs │ │ ├── Javascript │ │ │ ├── Ast │ │ │ │ ├── IAnnotatable.cs │ │ │ │ ├── JsArrayExpression.cs │ │ │ │ ├── JsArrowFunctionExpression.cs │ │ │ │ ├── JsAssignmentExpression.cs │ │ │ │ ├── JsAstHelpers.cs │ │ │ │ ├── JsBaseFunctionExpression.cs │ │ │ │ ├── JsBinaryExpression.cs │ │ │ │ ├── JsBlockStatement.cs │ │ │ │ ├── JsConditionalExpression.cs │ │ │ │ ├── JsExpression.cs │ │ │ │ ├── JsExpressionStatement.cs │ │ │ │ ├── JsFunctionExpression.cs │ │ │ │ ├── JsIdentifier.cs │ │ │ │ ├── JsIdentifierExpression.cs │ │ │ │ ├── JsIfStatement.cs │ │ │ │ ├── JsIndexerExpression.cs │ │ │ │ ├── JsInvocationExpression.cs │ │ │ │ ├── JsLiteral.cs │ │ │ │ ├── JsMemberAccessExpression.cs │ │ │ │ ├── JsNewExpression.cs │ │ │ │ ├── JsNode.cs │ │ │ │ ├── JsNodeCollection.cs │ │ │ │ ├── JsNodeVisitor.cs │ │ │ │ ├── JsObjectExpression.cs │ │ │ │ ├── JsParenthisedExpression.cs │ │ │ │ ├── JsReturnStatement.cs │ │ │ │ ├── JsStatement.cs │ │ │ │ ├── JsSymbolicParameter.cs │ │ │ │ ├── JsTreeRole.cs │ │ │ │ ├── JsUnaryExpression.cs │ │ │ │ └── JsVariableDefStatement.cs │ │ │ ├── CustomPrimitiveTypesConversionTranslator.cs │ │ │ ├── EnumGetNamesMethodTranslator.cs │ │ │ ├── GenericMethodCompiler.cs │ │ │ ├── IJavascriptMethodTranslator.cs │ │ │ ├── InvocationRewriterExpressionVisitor.cs │ │ │ ├── JavascriptCompilationHelper.cs │ │ │ ├── JavascriptNullCheckAdder.cs │ │ │ ├── JavascriptTranslatableMethodCollection.cs │ │ │ ├── JavascriptTranslationVisitor.cs │ │ │ ├── JavascriptTranslator.cs │ │ │ ├── JsFormattingVisitor.cs │ │ │ ├── JsParensFixingVisitor.cs │ │ │ ├── JsPrettificationVisitor.cs │ │ │ ├── JsTemporaryVariableResolver.cs │ │ │ ├── JsViewModelPropertyAdjuster.cs │ │ │ ├── KnockoutObservableHandlingVisitor.cs │ │ │ ├── MemberInfoHelper.cs │ │ │ ├── ParametrizedCode.cs │ │ │ ├── PrimitiveToStringTranslator.cs │ │ │ ├── PromiseAwaitingVisitor.cs │ │ │ ├── PropertyPathExtractingVisitor.cs │ │ │ ├── ResultIsPromiseAnnotation.cs │ │ │ ├── SideEffectAnalyzer.cs │ │ │ └── TaskSequenceRewriterExpressionVisitor.cs │ │ ├── LiteralOptimizationVisitor.cs │ │ ├── LoadControlBuilderAttribute.cs │ │ ├── NamespaceImport.cs │ │ ├── Parser │ │ │ ├── AggregateList.cs │ │ │ ├── BeginWithLastTokenOfTypeTokenError.cs │ │ │ ├── Binding │ │ │ │ ├── Parser │ │ │ │ │ ├── Annotations │ │ │ │ │ │ └── IBindingParserAnnotation.cs │ │ │ │ │ ├── ArrayAccessBindingParserNode.cs │ │ │ │ │ ├── ArrayInitializerExpression.cs │ │ │ │ │ ├── AssemblyNameBindingParserNode.cs │ │ │ │ │ ├── AssemblyQualifiedNameBindingParserNode.cs │ │ │ │ │ ├── BinaryOperatorBindingParserNode.cs │ │ │ │ │ ├── BindingParser.cs │ │ │ │ │ ├── BindingParserNode.cs │ │ │ │ │ ├── BindingParserNodeVisitor.cs │ │ │ │ │ ├── BlockBindingParserNode.cs │ │ │ │ │ ├── ConditionalExpressionBindingParserNode.cs │ │ │ │ │ ├── FormattedBindingParserNode.cs │ │ │ │ │ ├── FunctionCallBindingParserNode.cs │ │ │ │ │ ├── GenericNameBindingParserNode.cs │ │ │ │ │ ├── IdentifierNameBindingParserNode.cs │ │ │ │ │ ├── InterpolatedStringBindingParserNode.cs │ │ │ │ │ ├── LambdaBindingParserNode.cs │ │ │ │ │ ├── LiteralExpressionBindingParserNode.cs │ │ │ │ │ ├── MemberAccessBindingParserNode.cs │ │ │ │ │ ├── MultiExpressionBindingParserNode.cs │ │ │ │ │ ├── NumberLiteralSuffix.cs │ │ │ │ │ ├── ParenthesizedExpressionBindingParserNode.cs │ │ │ │ │ ├── PropertyDeclarationBindingParserNode.cs │ │ │ │ │ ├── SimpleNameBindingParserNode.cs │ │ │ │ │ ├── TypeOrFunctionReferenceBindingParserNode.cs │ │ │ │ │ ├── TypeReferenceBindingParserNode.cs │ │ │ │ │ ├── UnaryOperatorBindingParserNode.cs │ │ │ │ │ └── VoidBindingParserNode.cs │ │ │ │ └── Tokenizer │ │ │ │ │ ├── BindingToken.cs │ │ │ │ │ ├── BindingTokenType.cs │ │ │ │ │ ├── BindingTokenizer.cs │ │ │ │ │ └── TokenTypeDispalay.cs │ │ │ ├── Dothtml │ │ │ │ ├── DotvvmSyntaxConfiguration.cs │ │ │ │ ├── Parser │ │ │ │ │ ├── DotHtmlCommentNode.cs │ │ │ │ │ ├── DothtmlAttributeNode.cs │ │ │ │ │ ├── DothtmlBindingNode.cs │ │ │ │ │ ├── DothtmlDirectiveNode.cs │ │ │ │ │ ├── DothtmlElementNode.cs │ │ │ │ │ ├── DothtmlLiteralNode.cs │ │ │ │ │ ├── DothtmlNameNode.cs │ │ │ │ │ ├── DothtmlNode.cs │ │ │ │ │ ├── DothtmlNodeHelper.cs │ │ │ │ │ ├── DothtmlNodeWithContent.cs │ │ │ │ │ ├── DothtmlParser.cs │ │ │ │ │ ├── DothtmlRootNode.cs │ │ │ │ │ ├── DothtmlValueBindingNode.cs │ │ │ │ │ ├── DothtmlValueNode.cs │ │ │ │ │ ├── DothtmlValueTextNode.cs │ │ │ │ │ ├── HierarchyBuildingVisitor.cs │ │ │ │ │ ├── IDothtmlSyntaxTreeVisitor.cs │ │ │ │ │ ├── ParentResolvingVisitor.cs │ │ │ │ │ └── ParserBase.cs │ │ │ │ └── Tokenizer │ │ │ │ │ ├── DothtmlToken.cs │ │ │ │ │ ├── DothtmlTokenType.cs │ │ │ │ │ └── DothtmlTokenizer.cs │ │ │ ├── DotvvmParserException.cs │ │ │ ├── ITextRange.cs │ │ │ ├── NullTokenError.cs │ │ │ ├── ParserConstants.cs │ │ │ ├── SimpleTokenError.cs │ │ │ ├── TextRange.cs │ │ │ ├── TokenBase.cs │ │ │ ├── TokenError.cs │ │ │ ├── TokenListExtensions.cs │ │ │ └── TokenizerBase.cs │ │ ├── Static │ │ │ ├── ConfigurationInitializer.cs │ │ │ ├── DefaultCompilationReportLogger.cs │ │ │ ├── ICompilationReportLogger.cs │ │ │ ├── StaticViewCompiler.cs │ │ │ └── UnallowedConstantRemover.cs │ │ ├── Styles │ │ │ ├── ApplyControlStyleAttribute.cs │ │ │ ├── CompileTimeStyleBase.cs │ │ │ ├── FunctionOrValue.cs │ │ │ ├── IStyle.cs │ │ │ ├── ResolvedControlHelper.cs │ │ │ ├── StyleApplicator.cs │ │ │ ├── StyleBuilder.cs │ │ │ ├── StyleBuilderMethods.Helpers.cs │ │ │ ├── StyleBuilderMethods.cs │ │ │ ├── StyleMatchContext.cs │ │ │ ├── StyleMatchContextMethods.cs │ │ │ ├── StyleMatcher.cs │ │ │ ├── StyleOverrideOptions.cs │ │ │ ├── StyleRepository.cs │ │ │ ├── StyleTreeShufflingVisitor.cs │ │ │ └── StylingVisitor.cs │ │ ├── Validation │ │ │ ├── ControlUsageError.cs │ │ │ ├── ControlUsageValidationVisitor.cs │ │ │ ├── ControlUsageValidatorAttribute.cs │ │ │ ├── DefaultControlUsageValidator.cs │ │ │ └── IControlUsageValidator.cs │ │ ├── ViewCompilationMode.cs │ │ └── ViewCompiler │ │ │ ├── ControlBuilderDescriptor.cs │ │ │ ├── DefaultViewCompiler.cs │ │ │ ├── DefaultViewCompilerCodeEmitter.cs │ │ │ ├── DelegateControlBuilder.cs │ │ │ ├── IControlBuilder.cs │ │ │ ├── IViewCompiler.cs │ │ │ ├── ViewCompilerConfiguration.cs │ │ │ └── ViewCompilingVisitor.cs │ ├── Configuration │ │ ├── ConfigurationHelper.cs │ │ ├── CustomPrimitiveTypeRegistration.cs │ │ ├── DefaultControlRegistrationStrategy.cs │ │ ├── DefaultSerializerSettingsProvider.cs │ │ ├── Dotvvm3StateFeatureFlag.cs │ │ ├── DotvvmCompilationPageConfiguration.cs │ │ ├── DotvvmConfiguration.cs │ │ ├── DotvvmConfigurationException.cs │ │ ├── DotvvmConfigurationSerializationResolver.cs │ │ ├── DotvvmControlConfiguration.cs │ │ ├── DotvvmDiagnosticsConfiguration.cs │ │ ├── DotvvmExperimentalFeaturesConfiguration.cs │ │ ├── DotvvmFeatureFlag.cs │ │ ├── DotvvmGlobal3StateFeatureFlag.cs │ │ ├── DotvvmGlobalFeatureFlag.cs │ │ ├── DotvvmMarkupConfiguration.cs │ │ ├── DotvvmPerfWarningsConfiguration.cs │ │ ├── DotvvmRuntimeConfiguration.cs │ │ ├── DotvvmSecurityConfiguration.cs │ │ ├── FreezableDictionary.cs │ │ ├── FreezableList.cs │ │ ├── FreezableSet.cs │ │ ├── FreezableUtils.cs │ │ ├── HtmlAttributeTransformConfiguration.cs │ │ ├── HtmlTagAttributePair.cs │ │ ├── IControlRegistrationStrategy.cs │ │ ├── IDotvvmServiceConfigurator.cs │ │ ├── IDotvvmStartup.cs │ │ ├── RestApiRegistrationHelpers.cs │ │ ├── ServiceLocator.cs │ │ ├── UserColumnMappingCache.cs │ │ └── ViewCompilationConfiguration.cs │ ├── Controls │ │ ├── AddTemplateDecorator.cs │ │ ├── AlternateCultureLinks.cs │ │ ├── AppendableDataPager.cs │ │ ├── AuthenticatedView.cs │ │ ├── Button.cs │ │ ├── ButtonBase.cs │ │ ├── ButtonTagName.cs │ │ ├── CheckBox.cs │ │ ├── CheckableControlBase.cs │ │ ├── ClaimView.cs │ │ ├── ClientIDMode.cs │ │ ├── CloneTemplate.cs │ │ ├── ComboBox.cs │ │ ├── CompositeControl.cs │ │ ├── ConcurrencyQueueSetting.cs │ │ ├── ConcurrencyQueueSettingsCollection.cs │ │ ├── ConfigurableHtmlControl.cs │ │ ├── ConfirmPostBackHandler.cs │ │ ├── ContainsDotvvmPropertiesAttribute.cs │ │ ├── Content.cs │ │ ├── ContentPlaceHolder.cs │ │ ├── ControlMarkupOptionsAttribute.cs │ │ ├── ControlPrecompilationMode.cs │ │ ├── DataItemContainer.cs │ │ ├── DataPager.cs │ │ ├── DataPagerCommands.cs │ │ ├── Decorator.cs │ │ ├── DelegateTemplate.cs │ │ ├── DotvvmBindableObject.cs │ │ ├── DotvvmBindableObjectHelper.CapabilityCache.cs │ │ ├── DotvvmBindableObjectHelper.cs │ │ ├── DotvvmControl.cs │ │ ├── DotvvmControlCollection.cs │ │ ├── DotvvmControlDebugJsonConverter.cs │ │ ├── DotvvmControlException.cs │ │ ├── DotvvmControlProperties.cs │ │ ├── DotvvmMarkupControl.cs │ │ ├── EmptyData.cs │ │ ├── EnvironmentView.cs │ │ ├── Events.cs │ │ ├── FileUpload.cs │ │ ├── FormControls.cs │ │ ├── FormatValueType.cs │ │ ├── GridView.cs │ │ ├── GridViewBindings.cs │ │ ├── GridViewCheckBoxColumn.cs │ │ ├── GridViewColumn.cs │ │ ├── GridViewDataSetBindingProvider.cs │ │ ├── GridViewDataSetCommandType.cs │ │ ├── GridViewFilterPlacement.cs │ │ ├── GridViewTemplateColumn.cs │ │ ├── GridViewTextColumn.cs │ │ ├── HierarchyRepeater.cs │ │ ├── HtmlGenericControl.cs │ │ ├── HtmlLiteral.cs │ │ ├── HtmlWriter.cs │ │ ├── IControlWithHtmlAttributes.cs │ │ ├── IDotvvmControl.cs │ │ ├── IEventValidationHandler.cs │ │ ├── IHtmlAttributeTransformer.cs │ │ ├── IHtmlWriter.cs │ │ ├── IRenderable.cs │ │ ├── ITemplate.cs │ │ ├── Infrastructure │ │ │ ├── BodyResourceLinks.cs │ │ │ ├── DotvvmView.cs │ │ │ ├── GlobalizeResource.cs │ │ │ ├── HeadResourceLinks.cs │ │ │ ├── MarkupControlContainer.cs │ │ │ ├── PrecompiledControlPlaceholder.cs │ │ │ └── RawLiteral.cs │ │ ├── InlineScript.cs │ │ ├── Internal.cs │ │ ├── ItemsControl.cs │ │ ├── JsComponent.cs │ │ ├── KnockoutBindingGroup.cs │ │ ├── KnockoutHelper.cs │ │ ├── Label.cs │ │ ├── LifeCycleEventType.cs │ │ ├── LinkButton.cs │ │ ├── ListBox.cs │ │ ├── Literal.cs │ │ ├── MappingMode.cs │ │ ├── MarkupOptionsAttribute.cs │ │ ├── ModalDialog.cs │ │ ├── MultiSelect.cs │ │ ├── MultiSelectHtmlControlBase.cs │ │ ├── MultiSelector.cs │ │ ├── NamedCommand.cs │ │ ├── Panel.cs │ │ ├── Placeholder.cs │ │ ├── PostBack.cs │ │ ├── PostBackHandler.cs │ │ ├── PostBackHandlerCollection.cs │ │ ├── PostbackScriptOptions.cs │ │ ├── PropertyImmutableHashtable.cs │ │ ├── RadioButton.cs │ │ ├── RenderMode.cs │ │ ├── RenderSettings.cs │ │ ├── Repeater.cs │ │ ├── RequiredResource.cs │ │ ├── RoleView.cs │ │ ├── RouteLink.cs │ │ ├── RouteLinkCapability.cs │ │ ├── RouteLinkHelpers.cs │ │ ├── SelectHtmlControlBase.cs │ │ ├── SelectHtmlControlHelpers.cs │ │ ├── Selector.cs │ │ ├── SelectorBase.cs │ │ ├── SelectorItem.cs │ │ ├── SpaContentPlaceHolder.cs │ │ ├── Styles.cs │ │ ├── SuppressPostBackHandler.cs │ │ ├── TableUtils.cs │ │ ├── TemplateHost.cs │ │ ├── TextBox.cs │ │ ├── TextBoxType.cs │ │ ├── TextBoxTypeExtensions.cs │ │ ├── TextOrContentCapability.cs │ │ ├── Timer.cs │ │ ├── TranslateVirtualPathHtmlAttributeTransformer.cs │ │ ├── UITests.cs │ │ ├── UpdateProgress.cs │ │ ├── UploadedFilesCollection.cs │ │ ├── Validation.cs │ │ ├── ValidationSummary.cs │ │ ├── Validator.cs │ │ ├── ValidatorPlacement.cs │ │ └── ViewModuleHelpers.cs │ ├── DependencyInjection │ │ ├── DotVVMServiceCollectionExtensions.cs │ │ ├── DotvvmBuilderExtensions.cs │ │ ├── DotvvmServiceCollection.cs │ │ ├── IDotvvmServiceCollection.cs │ │ └── RequireDependencyInjectionAttribute.cs │ ├── Diagnostics │ │ ├── CompilationDiagnostic.dotcontrol │ │ ├── CompilationDiagnosticRows.dotcontrol │ │ ├── CompilationPage.dothtml │ │ ├── CompilationPageApiPresenter.cs │ │ ├── CompilationPageViewModel.cs │ │ ├── DiagnosticsInformationSender.cs │ │ ├── DiagnosticsRenderer.cs │ │ ├── DiagnosticsRequestTracer.cs │ │ ├── DiagnosticsServerConfiguration.cs │ │ ├── DiagnosticsStartupTracer.cs │ │ ├── IDiagnosticsInformationSender.cs │ │ ├── JsonSizeAnalyzer.cs │ │ ├── Models │ │ │ ├── DiagnosticsInformation.cs │ │ │ ├── EventTiming.cs │ │ │ ├── HttpHeaderItem.cs │ │ │ ├── RequestDiagnostics.cs │ │ │ └── ResponseDiagnostics.cs │ │ └── PerformanceWarningTracer.cs │ ├── DotVVM.Framework.csproj │ ├── Hosting │ │ ├── AggregateMarkupFileLoader.cs │ │ ├── AssemblySerializableList.cs │ │ ├── CustomResponsePropertiesManager.cs │ │ ├── DefaultMarkupFileLoader.cs │ │ ├── DotvvmFileStorageMissingException.cs │ │ ├── DotvvmHttpException.cs │ │ ├── DotvvmInterruptRequestExecutionException.cs │ │ ├── DotvvmInvalidStaticCommandModelStateException.cs │ │ ├── DotvvmMetrics.cs │ │ ├── DotvvmPresenter.cs │ │ ├── DotvvmPropertySerializableList.cs │ │ ├── DotvvmRequestContext.cs │ │ ├── DotvvmRequestContextExtensions.cs │ │ ├── DotvvmRequestContextStorage.cs │ │ ├── EmbeddedMarkupFileLoader.cs │ │ ├── ErrorPages │ │ │ ├── CookiesSection.cs │ │ │ ├── DictionarySection.cs │ │ │ ├── DotvvmErrorPageRenderer.cs │ │ │ ├── DotvvmMarkupErrorSection.cs │ │ │ ├── ErrorFormatter.cs │ │ │ ├── ErrorPageTemplate.cs │ │ │ ├── ExceptionAdditionalInfo.cs │ │ │ ├── ExceptionModel.cs │ │ │ ├── ExceptionSectionFormatter.cs │ │ │ ├── IErrorPageExtension.cs │ │ │ ├── IErrorSectionFormatter.cs │ │ │ ├── IErrorWriter.cs │ │ │ ├── SourceModel.cs │ │ │ └── StackFrameModel.cs │ │ ├── HostingConstants.cs │ │ ├── HttpRedirectService.cs │ │ ├── ICookieCollection.cs │ │ ├── IDotvvmPresenter.cs │ │ ├── IDotvvmRequestContext.cs │ │ ├── IEnvironmentNameProvider.cs │ │ ├── IHeaderCollection.cs │ │ ├── IHttpContext.cs │ │ ├── IHttpRequest.cs │ │ ├── IHttpResponse.cs │ │ ├── IMarkupFileLoader.cs │ │ ├── IPathString.cs │ │ ├── IQueryCollection.cs │ │ ├── IRequestCancellationTokenProvider.cs │ │ ├── InterruptReason.cs │ │ ├── LocalizablePresenter.cs │ │ ├── MarkupFile.cs │ │ ├── Middlewares │ │ │ ├── DotvvmCsrfTokenMiddleware.cs │ │ │ ├── DotvvmFileUploadMiddleware.cs │ │ │ ├── DotvvmLocalResourceMiddleware.cs │ │ │ ├── DotvvmMiddlewareBase.cs │ │ │ ├── DotvvmReturnedFileMiddleware.cs │ │ │ ├── DotvvmRoutingMiddleware.cs │ │ │ └── IMiddleware.cs │ │ ├── ModelState.cs │ │ ├── RequestTracingConstants.cs │ │ ├── StartupTracingConstants.cs │ │ ├── StaticCommandExecutor.cs │ │ ├── StaticCommandModelState.cs │ │ └── VisualStudioHelper.cs │ ├── NullableAttributes.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ResourceManagement │ │ ├── BundlingResourceProcessor.cs │ │ ├── CachingResourceRepository.cs │ │ ├── ClientGlobalize │ │ │ ├── JQueryGlobalizeResourceLocation.cs │ │ │ ├── JQueryGlobalizeResourceRepository.cs │ │ │ └── JQueryGlobalizeScriptCreator.cs │ │ ├── DefaultResourceHashService.cs │ │ ├── DotvvmResourceException.cs │ │ ├── DotvvmResourceRepository.cs │ │ ├── EmbeddedResourceLocation.cs │ │ ├── FileResourceLocation.cs │ │ ├── IDebugFileLocalLocation.cs │ │ ├── IDeferableResource.cs │ │ ├── IDotvvmResourceRepository.cs │ │ ├── ILinkResource.cs │ │ ├── ILocalResourceLocation.cs │ │ ├── ILocalResourceUrlManager.cs │ │ ├── IPreloadResource.cs │ │ ├── IResource.cs │ │ ├── IResourceHashService.cs │ │ ├── IResourceLocation.cs │ │ ├── IResourceProcessor.cs │ │ ├── InlineResourceLocation.cs │ │ ├── InlineScriptResource.cs │ │ ├── InlineStylesheetResource.cs │ │ ├── LinkResourceBase.cs │ │ ├── LocalResourceLocation.cs │ │ ├── LocalResourceUrlManager.cs │ │ ├── NamedResource.cs │ │ ├── NullResource.cs │ │ ├── ReflectionAssemblyJsonConverter.cs │ │ ├── RegistrationUtils.cs │ │ ├── ResourceBase.cs │ │ ├── ResourceConfigurationCollectionNameAttribute.cs │ │ ├── ResourceConstants.cs │ │ ├── ResourceManager.cs │ │ ├── ResourceRenderPosition.cs │ │ ├── ResourceRepositoryExtensions.cs │ │ ├── ResourceRepositoryJsonConverter.cs │ │ ├── ResourceUtils.cs │ │ ├── ResourcesRenderer.cs │ │ ├── ScriptModuleResource.cs │ │ ├── ScriptResource.cs │ │ ├── SingleResourceProcessorBase.cs │ │ ├── SpaModeResourceProcessor.cs │ │ ├── StylesheetResource.cs │ │ ├── TemplateResource.cs │ │ ├── UrlResourceLocation.cs │ │ ├── ViewModuleImportResource.cs │ │ └── ViewModuleInitResource.cs │ ├── Resources │ │ ├── Controls.Designer.cs │ │ ├── Controls.resx │ │ ├── DothtmlTokenizerErrors.Designer.cs │ │ ├── DothtmlTokenizerErrors.resx │ │ ├── Scripts │ │ │ ├── DotVVM.Debug.js │ │ │ ├── DotVVM.ErrorPage.js │ │ │ ├── DotVVM.Globalize.ts │ │ │ ├── Globalize │ │ │ │ ├── globalize.js │ │ │ │ └── globalize.min.js │ │ │ ├── Polyfills │ │ │ │ ├── abortController.js │ │ │ │ ├── eventTarget.js │ │ │ │ ├── fetch.js │ │ │ │ ├── promise.js │ │ │ │ └── utils.js │ │ │ ├── api │ │ │ │ ├── api.ts │ │ │ │ └── eventHub.ts │ │ │ ├── binding-handlers │ │ │ │ ├── SSR-foreach.ts │ │ │ │ ├── all-handlers.ts │ │ │ │ ├── appendable-data-pager.ts │ │ │ │ ├── checkbox.ts │ │ │ │ ├── enable.ts │ │ │ │ ├── file-upload.ts │ │ │ │ ├── gridviewdataset.ts │ │ │ │ ├── js-component.ts │ │ │ │ ├── markup-controls.ts │ │ │ │ ├── modal-dialog.ts │ │ │ │ ├── named-command.ts │ │ │ │ ├── register.ts │ │ │ │ ├── table-columnvisible.ts │ │ │ │ ├── textbox-select-all-on-focus.ts │ │ │ │ ├── textbox-text.ts │ │ │ │ ├── timer.ts │ │ │ │ └── update-progress.ts │ │ │ ├── compileConstants.ts │ │ │ ├── controls │ │ │ │ ├── fileUpload.ts │ │ │ │ └── routeLink.ts │ │ │ ├── dataset │ │ │ │ ├── loader.ts │ │ │ │ └── translations.ts │ │ │ ├── dotvvm-base.ts │ │ │ ├── dotvvm-root.ts │ │ │ ├── events.ts │ │ │ ├── global-declarations.ts │ │ │ ├── knockout-latest.debug.js │ │ │ ├── knockout-latest.js │ │ │ ├── metadata │ │ │ │ ├── coercer.ts │ │ │ │ ├── enums.ts │ │ │ │ ├── metadataHelper.ts │ │ │ │ ├── primitiveTypes.ts │ │ │ │ └── typeMap.ts │ │ │ ├── postback │ │ │ │ ├── counter.ts │ │ │ │ ├── gate.ts │ │ │ │ ├── handlers.ts │ │ │ │ ├── http.ts │ │ │ │ ├── internal-handlers.ts │ │ │ │ ├── postback.ts │ │ │ │ ├── postbackCore.ts │ │ │ │ ├── queue.ts │ │ │ │ ├── redirect.ts │ │ │ │ ├── resourceLoader.ts │ │ │ │ ├── staticCommand.ts │ │ │ │ └── updater.ts │ │ │ ├── serialization │ │ │ │ ├── date.ts │ │ │ │ ├── deserialize.ts │ │ │ │ └── serialize.ts │ │ │ ├── shared-classes.ts │ │ │ ├── spa │ │ │ │ ├── events.ts │ │ │ │ ├── navigation.ts │ │ │ │ └── spa.ts │ │ │ ├── state-manager.ts │ │ │ ├── tests │ │ │ │ ├── arrayHelper.test.ts │ │ │ │ ├── coercer.test.ts │ │ │ │ ├── date.test.ts │ │ │ │ ├── diff.test.ts │ │ │ │ ├── evaluator.test.ts │ │ │ │ ├── eventArgs.test.ts │ │ │ │ ├── events.test.ts │ │ │ │ ├── globalize.test.ts │ │ │ │ ├── helper.ts │ │ │ │ ├── markupControls.test.ts │ │ │ │ ├── metadata.test.ts │ │ │ │ ├── observableHierarchies.ts │ │ │ │ ├── postback.test.ts │ │ │ │ ├── route-url.test.ts │ │ │ │ ├── sanity.test.ts │ │ │ │ ├── serialization.fastcheck.test.ts │ │ │ │ ├── serialization.test.ts │ │ │ │ ├── setup.d.ts │ │ │ │ ├── setup.js │ │ │ │ ├── stateManagement.data.ts │ │ │ │ ├── stateManagement.ko-deferred.test.ts │ │ │ │ ├── stateManagement.stress.test.ts │ │ │ │ ├── stateManagement.test.ts │ │ │ │ ├── staticCommandValidation.test.ts │ │ │ │ ├── stringHelper.test.ts │ │ │ │ ├── unmapKnockoutObservables.test.ts │ │ │ │ └── validation.test.ts │ │ │ ├── translations │ │ │ │ ├── arrayHelper.ts │ │ │ │ ├── dateTimeHelper.ts │ │ │ │ ├── dictionaryHelper.ts │ │ │ │ ├── sortingHelper.ts │ │ │ │ ├── stringHelper.ts │ │ │ │ └── translations.ts │ │ │ ├── typings │ │ │ │ ├── globalize │ │ │ │ │ └── globalize.d.ts │ │ │ │ └── knockout │ │ │ │ │ └── knockout.dotvvm.d.ts │ │ │ ├── utils │ │ │ │ ├── dom.ts │ │ │ │ ├── evaluator.ts │ │ │ │ ├── isNumber.ts │ │ │ │ ├── knockout.ts │ │ │ │ ├── logging.ts │ │ │ │ ├── magic-navigator.ts │ │ │ │ ├── objects.ts │ │ │ │ ├── promise.ts │ │ │ │ └── uri.ts │ │ │ ├── validation │ │ │ │ ├── actions.ts │ │ │ │ ├── common.ts │ │ │ │ ├── error.ts │ │ │ │ ├── validation.ts │ │ │ │ └── validators.ts │ │ │ └── viewModules │ │ │ │ └── viewModuleManager.ts │ │ └── Styles │ │ │ ├── DotVVM.FileUpload.css │ │ │ └── DotVVM.Internal.css │ ├── Routing │ │ ├── CanonicalRedirectPartialMatchRouteHandler.cs │ │ ├── DefaultRouteStrategy.cs │ │ ├── DelegatePresenter.cs │ │ ├── DotvvmConfigurationAssertReason.cs │ │ ├── DotvvmConfigurationAssertResult.cs │ │ ├── DotvvmRoute.cs │ │ ├── DotvvmRouteException.cs │ │ ├── DotvvmRouteParser.cs │ │ ├── DotvvmRouteTable.cs │ │ ├── GenericRouteParameterType.cs │ │ ├── IPartialMatchRoute.cs │ │ ├── IPartialMatchRouteHandler.cs │ │ ├── IRouteParameterConstraint.cs │ │ ├── IRoutingStrategy.cs │ │ ├── LocalizedDotvvmRoute.cs │ │ ├── LocalizedRouteUrl.cs │ │ ├── NoRouteException.cs │ │ ├── RouteBase.cs │ │ ├── RouteHelper.cs │ │ ├── RouteStrategyMarkupFileInfo.cs │ │ ├── RouteTableGroup.cs │ │ ├── RouteTableJsonConverter.cs │ │ └── UrlHelper.cs │ ├── Runtime │ │ ├── AspNetCoreLoggerWarningSink.cs │ │ ├── AttributeViewModelParameterBinder.cs │ │ ├── Caching │ │ │ ├── DefaultDotvvmCacheAdapter.cs │ │ │ ├── IDotvvmCacheAdapter.cs │ │ │ └── SimpleLruDictionary.cs │ │ ├── CommandTaskSequenceHelper.cs │ │ ├── Commands │ │ │ ├── CandidateBindings.cs │ │ │ ├── CommandResolver.cs │ │ │ ├── EventValidator.cs │ │ │ ├── InvalidCommandInvocationException.cs │ │ │ └── ViewModelPathComparer.cs │ │ ├── ControlTreeWalker.cs │ │ ├── DefaultDotvvmViewBuilder.cs │ │ ├── DefaultOutputRenderer.cs │ │ ├── DefaultStaticCommandServiceLoader.cs │ │ ├── DotvvmRuntimeWarning.cs │ │ ├── Filters │ │ │ ├── ActionFilterAttribute.cs │ │ │ ├── ActionFilterHelper.cs │ │ │ ├── ActionInfo.cs │ │ │ ├── ExceptionFilterAttribute.cs │ │ │ ├── IActionFilter.cs │ │ │ ├── ICommandActionFilter.cs │ │ │ ├── IPageActionFilter.cs │ │ │ ├── IPresenterActionFilter.cs │ │ │ ├── IViewModelActionFilter.cs │ │ │ ├── ModelValidationFilterAttribute.cs │ │ │ └── NotAuthorizedAttribute.cs │ │ ├── HotReloadMetadataUpdateHandler.cs │ │ ├── IDotvvmException.cs │ │ ├── IDotvvmViewBuilder.cs │ │ ├── IDotvvmWarningSink.cs │ │ ├── IOutputRenderer.cs │ │ ├── IStaticCommandServiceLoader.cs │ │ ├── IViewModelParameterBinder.cs │ │ ├── RuntimeWarningCollector.cs │ │ └── Tracing │ │ │ ├── AggregateRequestTracer.cs │ │ │ ├── IRequestTracer.cs │ │ │ ├── IStartupTracer.cs │ │ │ ├── NullRequestTracer.cs │ │ │ ├── NullStartupTracer.cs │ │ │ └── RequestTracingExtensions.cs │ ├── Security │ │ ├── CorruptedCsrfTokenException.cs │ │ ├── FakeCsrfProtector.cs │ │ ├── FakeViewModelProtector.cs │ │ ├── ICsrfProtector.cs │ │ ├── IViewModelProtector.cs │ │ └── ProtectionHelpers.cs │ ├── Storage │ │ ├── FileSystemReturnedFileStorage.cs │ │ └── FileSystemUploadedFileStorage.cs │ ├── System.Index.cs │ ├── System.Range.cs │ ├── Testing │ │ ├── SimpleDictionaryCacheAdapter.cs │ │ ├── TestCookieCollection.cs │ │ ├── TestDotvvmRequestContext.cs │ │ ├── TestHeaderCollection.cs │ │ ├── TestHttpContext.cs │ │ ├── TestHttpRequest.cs │ │ ├── TestHttpResponse.cs │ │ ├── TestPathString.cs │ │ ├── TestQueryCollection.cs │ │ └── ViewCompilationFakeRequestContext.cs │ ├── Utils │ │ ├── AssemblyLoader.cs │ │ ├── BoxingUtils.cs │ │ ├── ConcurrencyUtils.cs │ │ ├── DotvvmRequestContextUtils.cs │ │ ├── ExceptionUtils.cs │ │ ├── ExpressionComparer.cs │ │ ├── ExpressionUtils.cs │ │ ├── FunctionalExtensions.cs │ │ ├── HashUtils.cs │ │ ├── HttpAbstractions │ │ │ ├── BufferedReadStream.cs │ │ │ ├── KeyValueAccumulator.cs │ │ │ ├── MultipartReader.cs │ │ │ ├── MultipartReaderStream.cs │ │ │ ├── MultipartSection.cs │ │ │ └── StreamHelperExtensions.cs │ │ ├── Invariant.cs │ │ ├── JsonUtils.cs │ │ ├── LimitLengthStream.cs │ │ ├── MemoryUtils.cs │ │ ├── NamingUtils.cs │ │ ├── ReadOnlyDictionaryWrapper.cs │ │ ├── ReadOnlyMemoryStream.cs │ │ ├── ReferenceEqualityComparer.cs │ │ ├── ReflectionUtils.cs │ │ ├── SecureGuidGenerator.cs │ │ ├── StringSimilarity.cs │ │ ├── StringUtils.cs │ │ ├── SystemTextJsonUtils.cs │ │ ├── TaskUtils.cs │ │ ├── ThrowHelpers.cs │ │ └── TupleComparer.cs │ ├── ViewModel │ │ ├── ChildViewModelsCache.cs │ │ ├── ClientExtenderAttribute.cs │ │ ├── DotvvmViewModelBase.cs │ │ ├── FromQueryAttribute.cs │ │ ├── FromRouteAttribute.cs │ │ ├── IDotvvmViewModel.cs │ │ ├── ISerializationInfoAttribute.cs │ │ ├── ParameterBindingAttribute.cs │ │ ├── Serialization │ │ │ ├── ClientExtenderInfo.cs │ │ │ ├── CustomPrimitiveTypeJsonConverter.cs │ │ │ ├── DefaultViewModelLoader.cs │ │ │ ├── DefaultViewModelSerializer.cs │ │ │ ├── DefaultViewModelServerCache.cs │ │ │ ├── DotvvmByteArrayConverter.cs │ │ │ ├── DotvvmDateTimeConverter.cs │ │ │ ├── DotvvmDictionaryConverter.cs │ │ │ ├── DotvvmEnumConverter.cs │ │ │ ├── DotvvmJsonOptionsProvider.cs │ │ │ ├── DotvvmObjectConverter.cs │ │ │ ├── DotvvmPropertySerializationException.cs │ │ │ ├── EncryptedValuesReader.cs │ │ │ ├── EncryptedValuesWriter.cs │ │ │ ├── IDotvvmJsonConverter.cs │ │ │ ├── IViewModelLoader.cs │ │ │ ├── IViewModelSerializationMapper.cs │ │ │ ├── IViewModelSerializer.cs │ │ │ ├── IViewModelServerCache.cs │ │ │ ├── IViewModelServerStore.cs │ │ │ ├── IViewModelTypeMetadataSerializer.cs │ │ │ ├── InMemoryViewModelServerStore.cs │ │ │ ├── SerialiationMapperAttributeHelper.cs │ │ │ ├── ViewModelJsonConverter.cs │ │ │ ├── ViewModelMapperHelper.cs │ │ │ ├── ViewModelPropertyMap.cs │ │ │ ├── ViewModelSerializationMap.cs │ │ │ ├── ViewModelSerializationMapper.cs │ │ │ ├── ViewModelServerCacheConfiguration.cs │ │ │ └── ViewModelTypeMetadataSerializer.cs │ │ └── Validation │ │ │ ├── AttributeViewModelValidationMetadataProvider.cs │ │ │ ├── DotvvmRequestContextValidationExtensions.cs │ │ │ ├── IStaticCommandArgumentValidator.cs │ │ │ ├── IValidationErrorPathExpander.cs │ │ │ ├── IValidationRuleTranslator.cs │ │ │ ├── IViewModelValidationMetadataProvider.cs │ │ │ ├── IViewModelValidator.cs │ │ │ ├── StaticCommandArgumentValidator.cs │ │ │ ├── StaticCommandValidationError.cs │ │ │ ├── ValidationErrorFactory.cs │ │ │ ├── ValidationErrorPathExpander.cs │ │ │ ├── ViewModelPropertyValidationRule.cs │ │ │ ├── ViewModelValidationError.cs │ │ │ ├── ViewModelValidationRuleTranslator.cs │ │ │ └── ViewModelValidator.cs │ ├── build.js │ ├── dotvvmwizard.snk │ ├── jest.config.js │ ├── package.json │ ├── tsconfig.jest.json │ ├── tsconfig.json │ └── yarn.lock ├── Hosting.AspNetCore │ ├── ApplicationBuilderExtensions.cs │ ├── AuthorizationExtensions.cs │ ├── DotVVM.Framework.Hosting.AspNetCore.csproj │ ├── Hosting │ │ ├── AspNetCoreDotvvmRequestContextExtensions.cs │ │ ├── AuthenticationManager.cs │ │ ├── DotvvmAuthenticationHelper.cs │ │ ├── DotvvmCookieCollection.cs │ │ ├── DotvvmEnvironmentNameProvider.cs │ │ ├── DotvvmHeaderCollection.cs │ │ ├── DotvvmHealthCheck.cs │ │ ├── DotvvmHttpContext.cs │ │ ├── DotvvmHttpPathString.cs │ │ ├── DotvvmHttpRequest.cs │ │ ├── DotvvmHttpResponse.cs │ │ ├── DotvvmQueryCollection.cs │ │ ├── Middlewares │ │ │ └── DotvvmMiddleware.cs │ │ └── RequestCancellationTokenProvider.cs │ ├── Localization │ │ └── DotvvmRoutingRequestCultureProvider.cs │ ├── Runtime │ │ ├── Caching │ │ │ ├── AspNetCoreDotvvmCacheAdapter.cs │ │ │ └── CachingExtensions.cs │ │ └── Filters │ │ │ ├── AuthorizeActionFilter.cs │ │ │ └── AuthorizeAttribute.cs │ ├── Security │ │ ├── DefaultCsrfProtector.cs │ │ └── DefaultViewModelProtector.cs │ ├── ServiceCollectionExtensions.cs │ ├── WebApplicationBuilderExtensions.cs │ └── dotvvmwizard.snk ├── Hosting.Owin │ ├── AppBuilderExtensions.cs │ ├── AuthorizationExtensions.cs │ ├── Configuration │ │ └── DefaultDataProtectionProvider.cs │ ├── DotVVM.Framework.Hosting.Owin.csproj │ ├── Hosting │ │ ├── DotvvmAuthenticationHelper.cs │ │ ├── DotvvmCookieCollection.cs │ │ ├── DotvvmEnvironmentNameProvider.cs │ │ ├── DotvvmHeaderCollection.cs │ │ ├── DotvvmHttpContext.cs │ │ ├── DotvvmHttpPathString.cs │ │ ├── DotvvmHttpRequest.cs │ │ ├── DotvvmHttpResponse.cs │ │ ├── DotvvmQueryCollection.cs │ │ ├── Middlewares │ │ │ └── DotvvmMiddleware.cs │ │ ├── OwinDotvvmRequestContextExtensions.cs │ │ └── RequestCancellationTokenProvider.cs │ ├── Runtime │ │ └── Filters │ │ │ ├── AuthorizeActionFilter.cs │ │ │ └── AuthorizeAttribute.cs │ ├── Security │ │ ├── DefaultCsrfProtector.cs │ │ └── DefaultViewModelProtector.cs │ └── dotvvmwizard.snk ├── JsComponent.React │ ├── dotvvm-react.tsx │ ├── package-lock.json │ ├── package.json │ └── tsconfig.json ├── Testing.SeleniumHelpers │ ├── DotVVM.Framework.Testing.SeleniumHelpers.csproj │ ├── PathSelector.cs │ ├── Proxies │ │ ├── ButtonProxy.cs │ │ ├── CheckBoxProxy.cs │ │ ├── ComboBoxProxy.cs │ │ ├── DataPagerProxy.cs │ │ ├── EmptyDataProxy.cs │ │ ├── FileUploadProxy.cs │ │ ├── GridViewCheckBoxColumnProxy.cs │ │ ├── GridViewProxy.cs │ │ ├── GridViewTextColumnProxy.cs │ │ ├── IButtonProxyBase.cs │ │ ├── ISelectProxy.cs │ │ ├── LinkButtonProxy.cs │ │ ├── ListBoxProxy.cs │ │ ├── LiteralProxy.cs │ │ ├── RadioButtonProxy.cs │ │ ├── RepeaterProxy.cs │ │ ├── RouteLinkProxy.cs │ │ ├── SelectBaseProxy.cs │ │ ├── TextBoxProxy.cs │ │ ├── UpdateProgressProxy.cs │ │ ├── ValidationSummaryProxy.cs │ │ └── WebElementProxyBase.cs │ ├── SeleniumHelperBase.cs │ └── SeleniumTest.cs └── Testing │ ├── BindingTestHelper.cs │ ├── ControlTestHelper.cs │ ├── DotVVM.Framework.Testing.csproj │ ├── DotvvmTestHelper.cs │ ├── FakeCommandBinding.cs │ ├── FakeMarkupFileLoader.cs │ ├── TestEnvironmentHelper.cs │ └── dotvvmwizard.snk ├── NuGet.Config ├── Samples ├── Api.AspNetCore │ ├── Controllers │ │ ├── BindingSharingController.cs │ │ ├── CompaniesController.cs │ │ ├── OrdersController.cs │ │ └── SlowController.cs │ ├── DotVVM.Samples.BasicSamples.Api.AspNetCore.csproj │ ├── DotvvmServiceConfigurator.cs │ ├── DotvvmStartup.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── ViewModels │ │ └── GeneratorViewModel.cs │ ├── Views │ │ └── Generator.dothtml │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── web.config │ └── wwwroot │ │ └── create.dir ├── Api.AspNetCoreLatest │ ├── Controllers │ │ ├── BindingSharingController.cs │ │ ├── CompaniesController.cs │ │ ├── OrdersController.cs │ │ └── SlowController.cs │ ├── DotVVM.Samples.BasicSamples.Api.AspNetCoreLatest.csproj │ ├── DotvvmServiceConfigurator.cs │ ├── DotvvmStartup.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── ViewModels │ │ └── GeneratorViewModel.cs │ ├── Views │ │ └── Generator.dothtml │ ├── appsettings.Development.json │ ├── appsettings.json │ └── wwwroot │ │ └── create.dir ├── Api.Common │ ├── DataStore │ │ ├── DataGenerator.cs │ │ └── Database.cs │ ├── DotVVM.Samples.BasicSamples.Api.Common.csproj │ ├── Model │ │ ├── Company.cs │ │ ├── Order.cs │ │ └── OrderItem.cs │ └── Utilities │ │ └── DateTimeConverter.cs ├── Api.Owin │ ├── App_Start │ │ └── SwaggerConfig.cs │ ├── Controllers │ │ ├── CompaniesController.cs │ │ ├── OrdersController.cs │ │ └── ResetController.cs │ ├── DotVVM.Samples.BasicSamples.Api.Owin.csproj │ ├── NoCacheAttribute.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ └── Web.config ├── ApplicationInsights.AspNetCore │ ├── Connected Services │ │ └── Application Insights │ │ │ └── ConnectedService.json │ ├── DotVVM.Samples.ApplicationInsights.AspNetCore.csproj │ ├── DotvvmStartup.cs │ ├── Program.cs │ ├── Startup.cs │ ├── ViewModels │ │ ├── DefaultViewModel.cs │ │ └── Test │ │ │ ├── CommandExceptionViewModel.cs │ │ │ ├── CorrectCommandViewModel.cs │ │ │ ├── CorrectViewModel.cs │ │ │ └── InitExceptionViewModel.cs │ ├── Views │ │ ├── Test │ │ │ ├── commandException.dothtml │ │ │ ├── correct.dothtml │ │ │ ├── correctCommand.dothtml │ │ │ └── initException.dothtml │ │ └── default.dothtml │ ├── Web.config │ └── appsettings.json ├── ApplicationInsights.Owin │ ├── ApplicationInsights.config │ ├── DotVVM.Samples.ApplicationInsights.Owin.csproj │ ├── DotvvmStartup.cs │ ├── Properties │ │ ├── ServiceDependencies │ │ │ └── local │ │ │ │ └── appInsights1.arm.json │ │ ├── serviceDependencies.json │ │ └── serviceDependencies.local.json │ ├── Startup.cs │ ├── ViewModels │ │ ├── DefaultViewModel.cs │ │ └── Test │ │ │ ├── CommandExceptionViewModel.cs │ │ │ ├── CorrectCommandViewModel.cs │ │ │ ├── CorrectViewModel.cs │ │ │ └── InitExceptionViewModel.cs │ ├── Views │ │ ├── Test │ │ │ ├── commandException.dothtml │ │ │ ├── correct.dothtml │ │ │ ├── correctCommand.dothtml │ │ │ └── initException.dothtml │ │ └── default.dothtml │ ├── Web.Debug.config │ ├── Web.Release.config │ └── Web.config ├── AspNetCore │ ├── DotVVM.Samples.BasicSamples.AspNetCore.csproj │ ├── DotvvmServiceConfigurator.cs │ ├── PrefixRequestCultureProvider.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── ViewModels │ │ ├── ComplexSamples │ │ │ ├── Auth │ │ │ │ ├── AuthorizedPresenter.cs │ │ │ │ ├── LoginViewModel.cs │ │ │ │ └── SecuredPageViewModel.cs │ │ │ └── SPARedirect │ │ │ │ ├── HomeViewModel.cs │ │ │ │ └── LoginViewModel.cs │ │ └── ControlSamples │ │ │ ├── AuthnticatedView │ │ │ └── AuthenticatedViewTestViewModel.cs │ │ │ ├── ClaimView │ │ │ └── ClaimViewTestViewModel.cs │ │ │ └── RoleView │ │ │ └── RoleViewTestViewModel.cs │ ├── Web.config │ ├── runtimeconfig.template.json │ └── wwwroot │ │ ├── Scripts │ │ ├── ClientExtenders.js │ │ ├── GridViewSizable.js │ │ ├── colResizable-1.5.min.js │ │ ├── testResource.js │ │ └── testResource2.js │ │ └── test.zip ├── AspNetCoreLatest │ ├── DotVVM.Samples.BasicSamples.AspNetCoreLatest.csproj │ ├── DotvvmServiceConfigurator.cs │ ├── PrefixRequestCultureProvider.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── ViewModels │ │ ├── ComplexSamples │ │ │ ├── Auth │ │ │ │ ├── AuthorizedPresenter.cs │ │ │ │ ├── LoginViewModel.cs │ │ │ │ └── SecuredPageViewModel.cs │ │ │ └── SPARedirect │ │ │ │ ├── HomeViewModel.cs │ │ │ │ └── LoginViewModel.cs │ │ └── ControlSamples │ │ │ ├── AuthnticatedView │ │ │ └── AuthenticatedViewTestViewModel.cs │ │ │ ├── ClaimView │ │ │ └── ClaimViewTestViewModel.cs │ │ │ └── RoleView │ │ │ └── RoleViewTestViewModel.cs │ ├── Web.config │ ├── runtimeconfig.template.json │ └── wwwroot │ │ ├── Scripts │ │ ├── ClientExtenders.js │ │ ├── GridViewSizable.js │ │ ├── colResizable-1.5.min.js │ │ ├── testResource.js │ │ └── testResource2.js │ │ └── test.zip ├── Common │ ├── .yarnrc.yml │ ├── AzureFunctionsApiClient.cs │ ├── CommonConfiguration.cs │ ├── Content │ │ └── testResource.css │ ├── Controls │ │ ├── AttachedProperties.cs │ │ ├── AttributeToStringConversionControl.cs │ │ ├── CompositeControlSample.cs │ │ ├── ControlUsageValidationTestControl.cs │ │ ├── ControlWithCustomPrimitiveTypeProperties.cs │ │ ├── DerivedControl.cs │ │ ├── DerivedControlUsageValidationTestControl.cs │ │ ├── ErrorCountPostbackHandler.cs │ │ ├── ExceptionThrower.cs │ │ ├── ParametrizedButton.cs │ │ ├── PostBackHandlerCommandTypes.cs │ │ ├── PromptButton.cs │ │ ├── RefreshTextButton.cs │ │ ├── ResourceRequiringButton.cs │ │ ├── ServerRenderedLabel.cs │ │ ├── ServerSideStylesControl.cs │ │ ├── StopwatchPostbackHandler.cs │ │ └── TextRepeater.cs │ ├── DotVVM.Samples.Common(netstandard2.0) │ │ └── ViewModels │ │ │ └── FeatureSamples │ │ │ └── ServerSideStyles │ │ │ └── ServerSideStylesControlPropertiesViewModel.cs │ ├── DotVVM.Samples.Common.csproj │ ├── DotvvmStartup.cs │ ├── Localization_Resources.Designer.cs │ ├── Localization_Resources.cs-CZ.Designer.cs │ ├── Localization_Resources.cs-CZ.resx │ ├── Localization_Resources.resx │ ├── Presenters │ │ └── DumpExtensionMethodsPresenter.cs │ ├── Resources │ │ ├── DynamicDataTexts.Designer.cs │ │ ├── DynamicDataTexts.resx │ │ ├── Resource.Designer.cs │ │ ├── Resource.cs-CZ.resx │ │ └── Resource.resx │ ├── SampleConfiguration.cs │ ├── Scripts │ │ ├── AzureFunctionsApiClient.js │ │ ├── AzureFunctionsApiClient.js.map │ │ ├── AzureFunctionsApiClient.ts │ │ ├── ClientExtenders.js │ │ ├── ControlSamples_NamedCommand_ParameterStaticCommand.js │ │ ├── ErrorCountPostbackHandler.js │ │ ├── PostBackHandlerCommandTypes.js │ │ ├── PostBackHandlerCommandTypes.ts │ │ ├── StopwatchPostbackHandler.js │ │ ├── TestWebApiClientAspNetCore.js │ │ ├── TestWebApiClientAspNetCore.js.map │ │ ├── TestWebApiClientAspNetCore.ts │ │ ├── TestWebApiClientOwin.js │ │ ├── TestWebApiClientOwin.js.map │ │ ├── TestWebApiClientOwin.ts │ │ ├── incrementerModule.js │ │ ├── react │ │ │ └── react-app.tsx │ │ ├── stateAwareViewModule.js │ │ ├── svelte │ │ │ ├── Button.svelte │ │ │ ├── Chart.svelte │ │ │ ├── Incrementer.svelte │ │ │ ├── Incrementer2.svelte │ │ │ ├── KnockoutTemplateSvelteComponent.svelte │ │ │ ├── TemplateSelector.svelte │ │ │ └── svelte-app.ts │ │ ├── testResource.js │ │ ├── testResource2.js │ │ ├── testViewModule.js │ │ ├── testViewModule2.js │ │ └── testViewModule3.js │ ├── Services │ │ └── GitHubService.cs │ ├── TestNamespace1 │ │ └── TestClass1.cs │ ├── TestNamespace2 │ │ ├── SubNamespace │ │ │ └── Class1.cs │ │ └── TestClass2.cs │ ├── TestNamespace3 │ │ ├── TestModel.cs │ │ └── WrongTestModel.cs │ ├── TestWebApiClientAspNetCore.cs │ ├── TestWebApiClientOwin.cs │ ├── TextFileDiagnosticsInformationSender.cs │ ├── Utilities │ │ ├── JavaScriptUtils.cs │ │ ├── OnlyServerSideEmailAddressAttribute.cs │ │ └── TestingInMemoryViewModelServerStore.cs │ ├── ViewModels │ │ ├── ComplexSamples │ │ │ ├── ButtonInMarkupControl │ │ │ │ └── EnabledViewModel.cs │ │ │ ├── CascadeSelectors │ │ │ │ ├── CascadeSelectorsViewModel.cs │ │ │ │ └── TripleComboBoxesViewModel.cs │ │ │ ├── ChangedEvent │ │ │ │ └── ChangedEventViewModel.cs │ │ │ ├── ClassBindings │ │ │ │ └── ClassBindingsViewModel.cs │ │ │ ├── EmptyDataTemplate │ │ │ │ └── RepeaterGridViewViewModel.cs │ │ │ ├── FileUploadInRepeater │ │ │ │ └── FileUploadInRepeaterViewModel.cs │ │ │ ├── GridViewDataSet │ │ │ │ └── GridViewDataSetViewModel.cs │ │ │ ├── InvoiceCalculator │ │ │ │ └── InvoiceCalculatorViewModel.cs │ │ │ ├── NamespaceCollision │ │ │ │ └── NamespaceCollisionViewModel.cs │ │ │ ├── NestedComboBox │ │ │ │ ├── HeavilyNestedViewModel.cs │ │ │ │ ├── InnerViewModel.cs │ │ │ │ └── SampleDto.cs │ │ │ ├── RedirectAndUrl │ │ │ │ └── ScrollingPageViewModel.cs │ │ │ ├── SPA │ │ │ │ ├── DefaultViewModel.cs │ │ │ │ ├── SiteViewModel.cs │ │ │ │ └── TestViewModel.cs │ │ │ ├── SPAViewModelReapplication │ │ │ │ └── SPAViewModelReapplicationViewModel.cs │ │ │ ├── ServerRendering │ │ │ │ ├── AddingIntoEmptyRepeaterViewModel.cs │ │ │ │ ├── ArticleDTO.cs │ │ │ │ └── ControlUsageSampleViewModel.cs │ │ │ ├── TaskList │ │ │ │ └── TaskListViewModel.cs │ │ │ ├── ViewModelDependencyInjection │ │ │ │ ├── ChildViewModel.cs │ │ │ │ └── ParentViewModel.cs │ │ │ └── ViewModelPopulate │ │ │ │ └── ViewModelPopulateViewModel.cs │ │ ├── ControlSamples │ │ │ ├── AppendableDataPager │ │ │ │ └── AppendableDataPagerViewModel.cs │ │ │ ├── Button │ │ │ │ ├── ButtonEnabledViewModel.cs │ │ │ │ ├── ButtonOnclickViewModel.cs │ │ │ │ ├── ButtonTagNameViewModel.cs │ │ │ │ └── ButtonViewModel.cs │ │ │ ├── CheckBox │ │ │ │ ├── CheckBoxViewModel.cs │ │ │ │ ├── CheckBox_ObjectsViewModel.cs │ │ │ │ ├── CheckedItemsNullViewModel.cs │ │ │ │ ├── CheckedItemsRepeaterViewModel.cs │ │ │ │ └── WithColorsViewModel.cs │ │ │ ├── ComboBox │ │ │ │ ├── ComboBoxBooleanViewModel.cs │ │ │ │ ├── ComboBoxDelaySync2ViewModel.cs │ │ │ │ ├── ComboBoxDelaySync3ViewModel.cs │ │ │ │ ├── ComboBoxDelaySyncViewModel.cs │ │ │ │ ├── ComboBoxTitleViewModel.cs │ │ │ │ ├── ComboBoxViewModel.cs │ │ │ │ ├── ComboxItemBindingViewModel.cs │ │ │ │ └── NullableViewModel.cs │ │ │ ├── ContentPlaceHolder │ │ │ │ ├── ContentPlaceHolderMasterPageViewModel.cs │ │ │ │ ├── ContentPlaceHolderPageViewModel.cs │ │ │ │ ├── ContentPlaceHolderPage_ContentTestViewModel.cs │ │ │ │ ├── DoubleContentPlaceHolderMasterPageViewModel.cs │ │ │ │ └── DoubleContentPlaceHolderPage_ContentTestViewModel.cs │ │ │ ├── DataPager │ │ │ │ └── DataPagerViewModel.cs │ │ │ ├── EnabledProperty │ │ │ │ └── EnabledProperty.cs │ │ │ ├── EnvironmentView │ │ │ │ └── EnvironmentViewTestViewModel.cs │ │ │ ├── FileUpload │ │ │ │ └── FileUploadViewModel.cs │ │ │ ├── GridView │ │ │ │ ├── ColumnVisibleViewModel.cs │ │ │ │ ├── GridViewCellDecoratorsViewModel.cs │ │ │ │ ├── GridViewInlineEditingPrimaryKeyGuidViewModel.cs │ │ │ │ ├── GridViewInlineEditingPrimaryKeyStringViewModel.cs │ │ │ │ ├── GridViewInlineEditingValidationViewModel.cs │ │ │ │ ├── GridViewInlineEditingViewModel.cs │ │ │ │ ├── GridViewPagingSortingServerSideViewModel.cs │ │ │ │ ├── GridViewPagingSortingViewModel.cs │ │ │ │ ├── GridViewRowDecoratorsViewModel.cs │ │ │ │ ├── GridViewSortChangedViewModel.cs │ │ │ │ ├── GridViewStaticCommandViewModel.cs │ │ │ │ ├── InvalidCssClassViewModel.cs │ │ │ │ ├── LargeGridViewModel.cs │ │ │ │ ├── NestedGridViewInlineEditingViewModel.cs │ │ │ │ └── RenamedPrimaryKeyViewModel.cs │ │ │ ├── HierarchyRepeater │ │ │ │ └── BasicViewModel.cs │ │ │ ├── HtmlLiteral │ │ │ │ └── HtmlLiteralViewModel.cs │ │ │ ├── IncludeInPageProperty │ │ │ │ └── IncludeInPageViewModel.cs │ │ │ ├── ListBox │ │ │ │ └── ListBoxViewModel.cs │ │ │ ├── Literal │ │ │ │ ├── LiteralViewModel.cs │ │ │ │ ├── Literal_CollectionLenghtViewModel.cs │ │ │ │ └── Literal_NumberBindingViewModel.cs │ │ │ ├── MultiSelect │ │ │ │ └── MultiSelectViewModel.cs │ │ │ ├── NamedCommand │ │ │ │ ├── ParameterStaticCommandServiceViewModel.cs │ │ │ │ └── TestService.cs │ │ │ ├── RadioButton │ │ │ │ ├── NullableViewModel.cs │ │ │ │ ├── RadioButtonViewModel.cs │ │ │ │ └── RadioButton_ObjectsViewModel.cs │ │ │ ├── Repeater │ │ │ │ ├── CollectionIndexViewModel.cs │ │ │ │ ├── DataSourceNullViewModel.cs │ │ │ │ ├── IndexInNestedRepeaterViewModel.cs │ │ │ │ ├── NestedRepeaterEntry.cs │ │ │ │ ├── NestedRepeaterViewModel.cs │ │ │ │ ├── RepeaterAsSeparatorViewModel.cs │ │ │ │ ├── RepeaterWrapperTagViewModel.cs │ │ │ │ ├── RequiredResourceViewModel.cs │ │ │ │ ├── RouteLinkViewModel.cs │ │ │ │ └── SeparatorViewModel.cs │ │ │ ├── RouteLink │ │ │ │ ├── RouteLinkEnabledFalseViewModel.cs │ │ │ │ ├── RouteLinkEnabledViewModel.cs │ │ │ │ ├── RouteLinkQueryParametersViewModel.cs │ │ │ │ ├── RouteLinkUrlGenViewModel.cs │ │ │ │ └── TestRouteViewModel.cs │ │ │ ├── SpaContentPlaceHolder_HistoryApi │ │ │ │ ├── DefaultViewModel.cs │ │ │ │ ├── MultiSpaDefaultViewModel.cs │ │ │ │ ├── MultiSpaMasterViewModel.cs │ │ │ │ ├── PageAViewModel.cs │ │ │ │ ├── PageBViewModel.cs │ │ │ │ ├── Spa1PageAViewModel.cs │ │ │ │ ├── Spa1PageBViewModel.cs │ │ │ │ ├── Spa1Spa2ViewModel.cs │ │ │ │ ├── Spa2PageAViewModel.cs │ │ │ │ ├── Spa2PageBViewModel.cs │ │ │ │ └── SpaMasterViewModel.cs │ │ │ ├── TemplateHost │ │ │ │ └── BasicViewModel.cs │ │ │ ├── TextBox │ │ │ │ ├── IntBoundTextBoxViewModel.cs │ │ │ │ ├── SelectAllOnFocusViewModel.cs │ │ │ │ ├── SimpleDateBox.cs │ │ │ │ ├── TextBoxFormatViewModel.cs │ │ │ │ ├── TextBoxTypesViewModel.cs │ │ │ │ ├── TextBoxViewModel.cs │ │ │ │ └── TextBox_FormatDoublePropertyViewModel.cs │ │ │ ├── Timer │ │ │ │ ├── LongCommandViewModel.cs │ │ │ │ ├── RemovalViewModel.cs │ │ │ │ └── TimerViewModel.cs │ │ │ ├── UpdateProgress │ │ │ │ ├── UpdateProgressDelayViewModel.cs │ │ │ │ ├── UpdateProgressRedirectMasterPageViewModel.cs │ │ │ │ ├── UpdateProgressRedirectSPAMasterPageViewModel.cs │ │ │ │ ├── UpdateProgressRedirectSPAViewModel.cs │ │ │ │ ├── UpdateProgressRedirectViewModel.cs │ │ │ │ ├── UpdateProgressViewModel.cs │ │ │ │ └── UpdateProgress_QueuesViewModel.cs │ │ │ └── ValidationSummary │ │ │ │ ├── DoublePostbackValidationViewModel.cs │ │ │ │ ├── HideWhenValidViewModel.cs │ │ │ │ ├── IncludeErrorsFromTargetViewModel.cs │ │ │ │ ├── LoginInfo.cs │ │ │ │ ├── PerformanceViewModel.cs │ │ │ │ └── RecursiveValidationSummary.cs │ │ ├── DefaultViewModel.cs │ │ ├── EmptyViewModel.cs │ │ ├── Errors │ │ │ ├── ConfigurableHtmlControlValidation.cs │ │ │ ├── CorruptedContentBetweenContentControlsViewModel.cs │ │ │ ├── EncryptedPropertyInValueBindingViewModel.cs │ │ │ ├── ExceptionInLifecycleViewModel.cs │ │ │ ├── ExceptionInRenderViewModel.cs │ │ │ ├── FieldInValueBindingViewModel.cs │ │ │ ├── MarkupControlInvalidViewModel.cs │ │ │ ├── MarkupControlPropertiesSameNameWithBase.cs │ │ │ └── UndefinedRouteLinkParametersViewModel.cs │ │ ├── FeatureSamples │ │ │ ├── ActionFilterErrorHandling │ │ │ │ ├── ActionFilterErrorHandlingViewModel.cs │ │ │ │ ├── ActionFilterPageErrorHandlingViewModel.cs │ │ │ │ └── ActionFilterRedirectViewModel.cs │ │ │ ├── Api │ │ │ │ ├── ApiInSpa_MasterViewModel.cs │ │ │ │ ├── ApiInSpa_PageAViewModel.cs │ │ │ │ ├── ApiInSpa_PageBViewModel.cs │ │ │ │ ├── ApiRefreshViewModel.cs │ │ │ │ ├── AzureFunctionsApiTableViewModel.cs │ │ │ │ ├── AzureFunctionsApiViewModel.cs │ │ │ │ ├── BindingSharingViewModel.cs │ │ │ │ ├── CollectionOddEvenWithRestApiViewModel.cs │ │ │ │ ├── GetCollectionViewModel.cs │ │ │ │ ├── GridViewDataSetAspNetCoreViewModel.cs │ │ │ │ ├── GridViewDataSetOwinViewModel.cs │ │ │ │ ├── IncludedInPageViewModel.cs │ │ │ │ └── IsLoadingViewModel.cs │ │ │ ├── AttachedProperties │ │ │ │ └── AttachedPropertiesViewModel.cs │ │ │ ├── Attribute │ │ │ │ └── ToStringConversionViewModel.cs │ │ │ ├── AutoUI │ │ │ │ ├── AutoEditorViewModel.cs │ │ │ │ ├── AutoFormViewModel.cs │ │ │ │ ├── AutoGridViewColumnsViewModel.cs │ │ │ │ └── BootstrapFormViewModel.cs │ │ │ ├── BindableCssStyles │ │ │ │ └── BindableCssStylesViewModel.cs │ │ │ ├── BindingContexts │ │ │ │ ├── BindingContextViewModel.cs │ │ │ │ └── CollectionContextViewModel.cs │ │ │ ├── BindingNamespaces │ │ │ │ └── BindingUsingNamespaceViewModel.cs │ │ │ ├── BindingPageInfo │ │ │ │ └── BindingPageInfoViewModel.cs │ │ │ ├── BindingVariables │ │ │ │ └── StaticCommandVariablesWithServiceViewModel.cs │ │ │ ├── Caching │ │ │ │ └── CachedValuesViewModel.cs │ │ │ ├── ChildViewModelInvokeMethods │ │ │ │ ├── ChildViewModel.cs │ │ │ │ ├── ChildViewModelInvokeMethodsViewModel.cs │ │ │ │ └── NastyChildViewModel.cs │ │ │ ├── ClientExtenders │ │ │ │ └── PasswordStrengthViewModel.cs │ │ │ ├── CommandActionFilter │ │ │ │ └── CommandActionFilterViewModel.cs │ │ │ ├── CommandArguments │ │ │ │ ├── CommandArgumentTypesViewModel.cs │ │ │ │ ├── CommandArgumentsViewModel.cs │ │ │ │ └── ReturnValueViewModel.cs │ │ │ ├── CompilationPage │ │ │ │ ├── DefaultViewModel.cs │ │ │ │ └── MasterPageViewModel.cs │ │ │ ├── CompositeControls │ │ │ │ ├── BasicSampleViewModel.cs │ │ │ │ └── ControlPropertyNamingConflictViewModel.cs │ │ │ ├── ConditionalCssClasses │ │ │ │ └── ConditionalCssClassViewModel.cs │ │ │ ├── CustomPrimitiveTypes │ │ │ │ ├── BasicViewModel.cs │ │ │ │ ├── ITypeId.cs │ │ │ │ ├── RouteLinkViewModel.cs │ │ │ │ ├── SampleId.cs │ │ │ │ ├── SampleItem.cs │ │ │ │ ├── TextBoxViewModel.cs │ │ │ │ ├── TypeId.cs │ │ │ │ └── UsedInControlsViewModel.cs │ │ │ ├── CustomResponseProperties │ │ │ │ └── SimpleExceptionFilterViewModel.cs │ │ │ ├── DataSet │ │ │ │ ├── GitHubApiStaticCommandsViewModel.cs │ │ │ │ └── GitHubApiViewModel.cs │ │ │ ├── DateTimeSerialization │ │ │ │ └── DateTimeSerialization.cs │ │ │ ├── DependencyInjection │ │ │ │ └── ViewModelScopedServiceViewModel.cs │ │ │ ├── Directives │ │ │ │ ├── ImportDirectiveInvalidViewModel.cs │ │ │ │ ├── ImportDirectiveViewModel.cs │ │ │ │ └── ViewModelMissingAssemblyViewModel.cs │ │ │ ├── EmbeddedResourceControls │ │ │ │ ├── EmbeddedResourceControlsViewModel.cs │ │ │ │ ├── EmbeddedResourceMasterPageViewModel.cs │ │ │ │ └── PageWithEmbeddedResourceMasterPageViewModel.cs │ │ │ ├── FormControlsEnabled │ │ │ │ └── FormControlsEnabled.cs │ │ │ ├── Formatting │ │ │ │ ├── AutoResourceInclusionMasterViewModel.cs │ │ │ │ ├── AutoResourceInclusionViewModel.cs │ │ │ │ ├── Formatting.cs │ │ │ │ └── ToStringGlobalFunctionBugViewModel.cs │ │ │ ├── HotReload │ │ │ │ └── ViewChangesViewModel.cs │ │ │ ├── HtmlTag │ │ │ │ └── NonPairHtmlTagViewModel.cs │ │ │ ├── IdGeneration │ │ │ │ └── IdGeneration.cs │ │ │ ├── JavascriptEvents │ │ │ │ └── JavascriptEvents.cs │ │ │ ├── JavascriptTranslation │ │ │ │ ├── ArrayTranslationViewModel.cs │ │ │ │ ├── CommandInsideWhereViewModel.cs │ │ │ │ ├── DateTimeTranslationsViewModel.cs │ │ │ │ ├── DictionaryIndexerTranslationViewModel.cs │ │ │ │ ├── GenericMethodTranslationViewModel.cs │ │ │ │ ├── ListIndexerTranslationViewModel.cs │ │ │ │ ├── ListMethodTranslationsViewModel.cs │ │ │ │ ├── MathMethodTranslationViewModel.cs │ │ │ │ ├── StringMethodTranslationsViewModel.cs │ │ │ │ └── WebUtilityTranslationsViewModel.cs │ │ │ ├── JsComponentIntegration │ │ │ │ └── ReactComponentIntegrationViewModel.cs │ │ │ ├── LambdaExpressions │ │ │ │ ├── ClientSideFilteringViewModel.cs │ │ │ │ ├── LambdaExpressionsViewModel.cs │ │ │ │ └── StaticCommandsViewModel.cs │ │ │ ├── LiteralBinding │ │ │ │ └── LiteralBinding_ZeroViewModel.cs │ │ │ ├── Localization │ │ │ │ ├── GlobalizeViewModel.cs │ │ │ │ ├── LocalizableRouteViewModel.cs │ │ │ │ ├── LocalizationNestedViewModel.cs │ │ │ │ ├── LocalizationViewModel.cs │ │ │ │ ├── Localization_Control_PageViewModel.cs │ │ │ │ └── Localization_FormatStringViewModel.cs │ │ │ ├── MarkupControl │ │ │ │ ├── ComboBoxDataSourceBoundToStaticCollection.cs │ │ │ │ ├── CommadPropertiesInMarkupControlViewModel.cs │ │ │ │ ├── CommandBindingInDataContextWithControlPropertyViewModel.cs │ │ │ │ ├── CommandBindingInRepeater.cs │ │ │ │ ├── ControlCommandBinding.cs │ │ │ │ ├── ControlCommandBindingDTO.cs │ │ │ │ ├── ControlControlCommandInvokeActionViewModel.cs │ │ │ │ ├── ControlPropertyUpdatedByServerViewModel.cs │ │ │ │ ├── ControlPropertyUpdatingViewModel.cs │ │ │ │ ├── ControlPropertyValidationPageViewModel.cs │ │ │ │ ├── FakeDb.cs │ │ │ │ ├── HierarchyControlPageViewModel.cs │ │ │ │ ├── MarkupControlRegistrationViewModel.cs │ │ │ │ ├── MarkupDefinedPropertiesViewModel.cs │ │ │ │ ├── MultiControlHierarchyViewModel.cs │ │ │ │ ├── ResourceBindingInControlPropertyViewModel.cs │ │ │ │ ├── StaticCommandInMarkupControlCallingRegularCommandViewModel.cs │ │ │ │ └── StaticCommandInMarkupControlViewModel.cs │ │ │ ├── ModalDialog │ │ │ │ └── ModalDialogViewModel.cs │ │ │ ├── NoJsForm │ │ │ │ └── NoJsFormViewModel.cs │ │ │ ├── ParameterBinding │ │ │ │ ├── OptionParameterBindingViewModel.cs │ │ │ │ └── ParameterBindingViewModel.cs │ │ │ ├── PostBack │ │ │ │ ├── ConfirmPostBackHandlerViewModel.cs │ │ │ │ ├── PostBackHandlerBindingViewModel.cs │ │ │ │ ├── PostBackHandlerCommandTypesViewModel.cs │ │ │ │ ├── PostBackUpdateRepeaterViewModel.cs │ │ │ │ ├── PostBackUpdateViewModel.cs │ │ │ │ ├── RequestCompressionViewModel.cs │ │ │ │ ├── SuppressPostBackHandlerViewModel.cs │ │ │ │ └── UniqueIdGenerationOnPostbackUpdateViewModel.cs │ │ │ ├── PostbackAbortSignal │ │ │ │ └── LoadAbortViewModel.cs │ │ │ ├── PostbackConcurrency │ │ │ │ ├── PostbackConcurrencyViewModel.cs │ │ │ │ ├── RedirectPostbackQueueMasterViewModel.cs │ │ │ │ ├── RedirectPostbackQueueViewModel.cs │ │ │ │ └── StressTestViewModel.cs │ │ │ ├── PostbackSpaNavigation │ │ │ │ ├── DenyPostbacksOnSpaNavigationService.cs │ │ │ │ ├── DenyPostbacksOnSpaNavigationViewModel.cs │ │ │ │ ├── PageAViewModel.cs │ │ │ │ └── PageBViewModel.cs │ │ │ ├── Redirect │ │ │ │ ├── RedirectPostbackConcurrencyViewModel.cs │ │ │ │ ├── RedirectService.cs │ │ │ │ ├── RedirectStaticCommandViewModel.cs │ │ │ │ ├── RedirectViewModel.cs │ │ │ │ ├── RedirectingPresenter.cs │ │ │ │ ├── RedirectionHelpersViewModel.cs │ │ │ │ └── TransientTestService.cs │ │ │ ├── RenderSettingsModeServer │ │ │ │ ├── RenderSettingsModeServerPropertyViewModel.cs │ │ │ │ ├── RepeaterCollectionExchangeViewModel.cs │ │ │ │ └── RepeaterCollectionSetToNullViewModel.cs │ │ │ ├── Resource │ │ │ │ └── OnlineNonameResourceLoad.cs │ │ │ ├── Resources │ │ │ │ ├── CdnScriptPriorityViewModel.cs │ │ │ │ └── CdnUnavailableResourceLoadViewModel.cs │ │ │ ├── ReturnedFile │ │ │ │ └── ReturnedFileSampleViewModel.cs │ │ │ ├── Serialization │ │ │ │ ├── ByteArrayViewModel.cs │ │ │ │ ├── DateOnlyTimeOnlyViewModel.cs │ │ │ │ ├── DeserializationVirtualElementsViewModel.cs │ │ │ │ ├── DictionaryViewModel.cs │ │ │ │ ├── EnumSerializationCoercionViewModel.cs │ │ │ │ ├── EnumSerializationWithJsonConverterViewModel.cs │ │ │ │ ├── ListOfObjectsViewModel.cs │ │ │ │ ├── ObservableCollectionShouldContainObservablesViewModel.cs │ │ │ │ ├── Serialization.cs │ │ │ │ ├── SerializationDateTimeOffsetViewModel.cs │ │ │ │ ├── TimeSpanViewModel.cs │ │ │ │ └── ViewModelTransferredOnlyInPath.cs │ │ │ ├── ServerComments │ │ │ │ └── ServerCommentsViewModel.cs │ │ │ ├── ServerSideStyles │ │ │ │ ├── ServerSideStylesMatchingViewModel.cs │ │ │ │ └── ServerSideStylesViewModel.cs │ │ │ ├── StaticCommand │ │ │ │ ├── CustomAwaitableViewModel.cs │ │ │ │ ├── StaticCommandViewModel.cs │ │ │ │ ├── StaticCommand_ArrayAssigmentViewModel.cs │ │ │ │ ├── StaticCommand_BooleanValueAssignmentViewModel.cs │ │ │ │ ├── StaticCommand_ComboBoxSelectionChangedViewModel.cs │ │ │ │ ├── StaticCommand_ComboBoxSelectionChanged_ObjectsViewModel.cs │ │ │ │ ├── StaticCommand_LoadComplexDataFromServiceViewModel.cs │ │ │ │ ├── StaticCommand_NullAssignmentViewModel.cs │ │ │ │ ├── StaticCommand_NullBindingViewModel.cs │ │ │ │ ├── StaticCommand_TaskSequenceViewModel.cs │ │ │ │ └── StaticCommand_ValidationViewModel.cs │ │ │ ├── StringInterpolation │ │ │ │ └── StringInterpolationViewModel.cs │ │ │ ├── UsageValidation │ │ │ │ └── OverrideValidationViewModel.cs │ │ │ ├── Validation │ │ │ │ ├── ClientSideObservableUpdateViewModel.cs │ │ │ │ ├── ClientSideRulesViewModel.cs │ │ │ │ ├── CustomValidationViewModel.cs │ │ │ │ ├── DateTimeValidationViewModel2.cs │ │ │ │ ├── DynamicValidationViewModel.cs │ │ │ │ ├── EncryptedDataViewModel.cs │ │ │ │ ├── EnforceClientSideValidationDisabledViewModel.cs │ │ │ │ ├── EssentialTypeValidationViewModel.cs │ │ │ │ ├── InvalidCssClassNotDuplicatedViewModel.cs │ │ │ │ ├── LocalizationViewModel.cs │ │ │ │ ├── ModelStateErrorsViewModel.cs │ │ │ │ ├── NestedValidationViewModel.cs │ │ │ │ ├── NullValidationTargetViewModel.cs │ │ │ │ ├── NullableDateTimeValidationViewModel.cs │ │ │ │ ├── RangeClientSideValidationViewModel.cs │ │ │ │ ├── RegexValidationViewModel.cs │ │ │ │ ├── SimpleValidationViewModel.cs │ │ │ │ ├── ValidationPropertyPathResolvingViewModel.cs │ │ │ │ ├── ValidationRulesLoadOnPostbackViewModel.cs │ │ │ │ ├── ValidationScopes2ViewModel.cs │ │ │ │ ├── ValidationScopesViewModel.cs │ │ │ │ ├── ValidationTargetIsCollectionViewModel.cs │ │ │ │ └── ValidatorValueComplexExpressionsViewModel.cs │ │ │ ├── ViewModelCache │ │ │ │ └── ViewModelCacheMissViewModel.cs │ │ │ ├── ViewModelDeserialization │ │ │ │ ├── DoesNotDropObjectViewModel.cs │ │ │ │ ├── NegativeLongNumberViewModel.cs │ │ │ │ └── PropertyNullAssignmentViewModel.cs │ │ │ ├── ViewModelNesting │ │ │ │ └── NestedViewModel.cs │ │ │ ├── ViewModelProtection │ │ │ │ ├── ComplexViewModelProtectionViewModel.cs │ │ │ │ ├── NestedSignaturesViewModel.cs │ │ │ │ ├── SignedNestedInServerToClientViewModel.cs │ │ │ │ └── ViewModelProtectionViewModel.cs │ │ │ ├── ViewModules │ │ │ │ ├── IncrementerInRepeaterViewModel.cs │ │ │ │ ├── ModuleInMarkupControlTwiceViewModel.cs │ │ │ │ ├── ModuleInPageCommandAmbiguousViewModel.cs │ │ │ │ ├── ModuleInPageMasterPageViewModel.cs │ │ │ │ ├── ModuleInPageSpaMasterPage2ViewModel.cs │ │ │ │ ├── ModuleInPageSpaMasterPageViewModel.cs │ │ │ │ ├── ModuleInPageViewModel.cs │ │ │ │ ├── ModuleMasterPageViewModel.cs │ │ │ │ ├── ModuleSpaMasterPageViewModel.cs │ │ │ │ ├── ModuleStateManipulationViewModel.cs │ │ │ │ └── ViewModulesViewModel.cs │ │ │ └── Warnings │ │ │ │ └── SelfClosingTagsViewModel.cs │ │ ├── GenericTestingClass.cs │ │ ├── InheritedViewModel.cs │ │ ├── MasterPageViewModel.cs │ │ ├── QueryStringLocalizableViewModel.cs │ │ ├── SamplesViewModel.cs │ │ ├── SpaNavigationToEmptyUrlViewModel.cs │ │ └── TasksViewModel.cs │ ├── Views │ │ ├── ComplexSamples │ │ │ ├── Auth │ │ │ │ ├── Login.dothtml │ │ │ │ └── SecuredPage.dothtml │ │ │ ├── ButtonInMarkupControl │ │ │ │ ├── ButtonWrapper.cs │ │ │ │ ├── ButtonWrapper.dotcontrol │ │ │ │ └── Enabled.dothtml │ │ │ ├── CascadeSelectors │ │ │ │ ├── CascadeSelectors.dothtml │ │ │ │ ├── CascadeSelectorsServerRender.dothtml │ │ │ │ └── TripleComboBoxes.dothtml │ │ │ ├── ChangedEvent │ │ │ │ └── ChangedEvent.dothtml │ │ │ ├── ClassBindings │ │ │ │ └── ClassBindings.dothtml │ │ │ ├── EmptyDataTemplate │ │ │ │ └── RepeaterGridView.dothtml │ │ │ ├── FileUploadInRepeater │ │ │ │ ├── FileUploadInRepeater.dothtml │ │ │ │ ├── FileUploadWrapper.cs │ │ │ │ └── FileUploadWrapper.dotcontrol │ │ │ ├── GridViewDataSet │ │ │ │ └── GridViewDataSet.dothtml │ │ │ ├── InvoiceCalculator │ │ │ │ └── InvoiceCalculator.dothtml │ │ │ ├── NamespaceCollision │ │ │ │ └── NamespaceCollision.dothtml │ │ │ ├── NestedComboBox │ │ │ │ ├── HeavilyNested.dothtml │ │ │ │ ├── InnerWrapper.cs │ │ │ │ ├── InnerWrapper.dotcontrol │ │ │ │ ├── OuterWrapper.cs │ │ │ │ └── OuterWrapper.dotcontrol │ │ │ ├── RedirectAndUrl │ │ │ │ └── ScrollingPage.dothtml │ │ │ ├── SPA │ │ │ │ ├── default.dothtml │ │ │ │ ├── site.dotmaster │ │ │ │ └── test.dothtml │ │ │ ├── SPAErrorReporting │ │ │ │ ├── default.dothtml │ │ │ │ ├── site.dotmaster │ │ │ │ └── test.dothtml │ │ │ ├── SPARedirect │ │ │ │ ├── home.dothtml │ │ │ │ ├── login.dothtml │ │ │ │ └── site.dotmaster │ │ │ ├── SPAViewModelReapplication │ │ │ │ ├── master.dotmaster │ │ │ │ ├── pageA.dothtml │ │ │ │ └── pageB.dothtml │ │ │ ├── ServerRendering │ │ │ │ ├── AddingIntoEmptyRepeater.dothtml │ │ │ │ ├── ArticleBase.cs │ │ │ │ ├── ArticleDetail.cs │ │ │ │ ├── ArticleDetail.dotcontrol │ │ │ │ ├── ArticleEditor.cs │ │ │ │ ├── ArticleEditor.dotcontrol │ │ │ │ ├── ControlUsageSample.dothtml │ │ │ │ ├── ControlUsageSampleRewriting.dothtml │ │ │ │ └── MarkupControlInRepeaterEditing.dothtml │ │ │ ├── TaskList │ │ │ │ ├── ServerRenderedTaskList.dothtml │ │ │ │ └── TaskListAsyncCommands.dothtml │ │ │ ├── ViewModelDependencyInjection │ │ │ │ └── Sample.dothtml │ │ │ └── ViewModelPopulate │ │ │ │ └── ViewModelPopulate.dothtml │ │ ├── ControlSamples │ │ │ ├── AppendableDataPager │ │ │ │ ├── AppendableDataPager.dothtml │ │ │ │ └── AppendableDataPagerAutoLoad.dothtml │ │ │ ├── AuthenticatedView │ │ │ │ └── AuthenticatedViewTest.dothtml │ │ │ ├── Button │ │ │ │ ├── Button.dothtml │ │ │ │ ├── ButtonEnabled.dothtml │ │ │ │ ├── ButtonOnclick.dothtml │ │ │ │ ├── ButtonTagName.dothtml │ │ │ │ ├── InputTypeButton_HtmlContentInside.dothtml │ │ │ │ └── InputTypeButton_TextContentInside.dothtml │ │ │ ├── CheckBox │ │ │ │ ├── CheckBox.dothtml │ │ │ │ ├── CheckBox_Objects.dothtml │ │ │ │ ├── CheckedItemsNull.dothtml │ │ │ │ ├── CheckedItemsRepeater.dothtml │ │ │ │ ├── CheckedItemsRepeaterWrapper.cs │ │ │ │ ├── CheckedItemsRepeaterWrapper.dotcontrol │ │ │ │ ├── InRepeater.dothtml │ │ │ │ └── Indeterminate.dothtml │ │ │ ├── ClaimView │ │ │ │ └── ClaimViewTest.dothtml │ │ │ ├── ComboBox │ │ │ │ ├── BindingCTValidation_StringToEnum.dothtml │ │ │ │ ├── BooleanProperty.dothtml │ │ │ │ ├── Default.dothtml │ │ │ │ ├── DelaySync.dothtml │ │ │ │ ├── DelaySync2.dothtml │ │ │ │ ├── ItemBinding_ItemValueBinding_Complex_Error.dothtml │ │ │ │ ├── ItemBinding_ItemValueBinding_Enum.dothtml │ │ │ │ ├── ItemBinding_ItemValueBinding_Number.dothtml │ │ │ │ ├── ItemBinding_ItemValueBinding_SelectedValue_ComplexToInt_Error.dothtml │ │ │ │ ├── ItemBinding_ItemValueBinding_SelectedValue_StringToInt_Error.dothtml │ │ │ │ ├── ItemBinding_ItemValueBinding_String.dothtml │ │ │ │ ├── ItemBinding_ItemValueBinding_StringToObject.dothtml │ │ │ │ ├── Nullable.dothtml │ │ │ │ └── Title.dothtml │ │ │ ├── ContentPlaceHolder │ │ │ │ ├── ContentPlaceHolderMasterPage.dotmaster │ │ │ │ ├── ContentPlaceHolderPage.dothtml │ │ │ │ ├── ContentPlaceHolderPage_ContentTest.dothtml │ │ │ │ ├── DoubleContentPlaceHolderMasterPage.dotmaster │ │ │ │ └── DoubleContentPlaceHolderPage_ContentTest.dothtml │ │ │ ├── DataPager │ │ │ │ └── DataPager.dothtml │ │ │ ├── EnabledProperty │ │ │ │ └── EnabledProperty.dothtml │ │ │ ├── EnvironmentView │ │ │ │ └── EnvironmentViewTest.dothtml │ │ │ ├── FileUpload │ │ │ │ ├── FileSize.dothtml │ │ │ │ ├── FileUpload.dothtml │ │ │ │ └── IsAllowedOrNot.dothtml │ │ │ ├── GridView │ │ │ │ ├── ColumnVisible.dothtml │ │ │ │ ├── GridViewCellDecorators.dothtml │ │ │ │ ├── GridViewInlineEditing.dothtml │ │ │ │ ├── GridViewInlineEditingPrimaryKeyGuid.dothtml │ │ │ │ ├── GridViewInlineEditingPrimaryKeyString.dothtml │ │ │ │ ├── GridViewInlineEditingValidation.dothtml │ │ │ │ ├── GridViewPagingSorting.dothtml │ │ │ │ ├── GridViewPagingSortingServerSide.dothtml │ │ │ │ ├── GridViewRowDecorators.dothtml │ │ │ │ ├── GridViewServerRender.dothtml │ │ │ │ ├── GridViewSortChanged.dothtml │ │ │ │ ├── GridViewStaticCommand.dothtml │ │ │ │ ├── InvalidCssClass.dothtml │ │ │ │ ├── LargeGrid.dothtml │ │ │ │ ├── NestedGridViewInlineEditing.dothtml │ │ │ │ └── RenamedPrimaryKey.dothtml │ │ │ ├── HierarchyRepeater │ │ │ │ ├── Basic.dothtml │ │ │ │ ├── NodeControl.dotcontrol │ │ │ │ └── WithMarkupControl.dothtml │ │ │ ├── HtmlLiteral │ │ │ │ └── HtmlLiteral.dothtml │ │ │ ├── IncludeInPageProperty │ │ │ │ └── IncludeInPage.dothtml │ │ │ ├── LinkButton │ │ │ │ ├── LinkButton.dothtml │ │ │ │ ├── LinkButtonEnabled.dothtml │ │ │ │ └── LinkButtonOnclick.dothtml │ │ │ ├── ListBox │ │ │ │ └── ListBox.dothtml │ │ │ ├── Literal │ │ │ │ ├── Literal.dothtml │ │ │ │ ├── Literal_ArrayLength.dothtml │ │ │ │ ├── Literal_CollectionLength.dothtml │ │ │ │ ├── Literal_FormatString.dothtml │ │ │ │ └── Literal_NumberBinding.dothtml │ │ │ ├── MultiSelect │ │ │ │ ├── binded.dothtml │ │ │ │ └── hardcoded.dothtml │ │ │ ├── NamedCommand │ │ │ │ └── ParameterStaticCommandService.dothtml │ │ │ ├── RadioButton │ │ │ │ ├── Nullable.dothtml │ │ │ │ ├── RadioButton.dothtml │ │ │ │ └── RadioButton_Objects.dothtml │ │ │ ├── Repeater │ │ │ │ ├── CollectionIndex.dothtml │ │ │ │ ├── DataSourceNull.dothtml │ │ │ │ ├── IndexInNestedRepeater.dothtml │ │ │ │ ├── NamedTemplate.dothtml │ │ │ │ ├── NestedRepeater.dothtml │ │ │ │ ├── NestedRepeaterWithControl.dothtml │ │ │ │ ├── RepeaterAsSeparator.dothtml │ │ │ │ ├── RepeaterWrapperTag.dothtml │ │ │ │ ├── RequiredResource.dothtml │ │ │ │ ├── RouteLink.dothtml │ │ │ │ ├── RouteLinkQuery.dothtml │ │ │ │ ├── RouteLinkUrlSuffix.dothtml │ │ │ │ ├── SampleControl │ │ │ │ │ ├── ControlWithButton.cs │ │ │ │ │ ├── ControlWithButton.dotcontrol │ │ │ │ │ ├── ControlWithButton2.cs │ │ │ │ │ └── ControlWithButton2.dotcontrol │ │ │ │ ├── Separator.dothtml │ │ │ │ └── SeparatorMaster.dotmaster │ │ │ ├── RoleView │ │ │ │ └── RoleViewTest.dothtml │ │ │ ├── RouteLink │ │ │ │ ├── RouteLinkEnabled.dothtml │ │ │ │ ├── RouteLinkEnabledFalse.dothtml │ │ │ │ ├── RouteLinkQueryParameters.dothtml │ │ │ │ ├── RouteLinkSpaUrlGen.dothtml │ │ │ │ ├── RouteLinkUrlGen.dothtml │ │ │ │ └── TestRoute.dothtml │ │ │ ├── SpaContentPlaceHolder_HistoryApi │ │ │ │ ├── Default.dothtml │ │ │ │ ├── MultiSpaDefault.dothtml │ │ │ │ ├── MultiSpaMaster.dotmaster │ │ │ │ ├── PageA.dothtml │ │ │ │ ├── PageB.dothtml │ │ │ │ ├── Spa1PageA.dothtml │ │ │ │ ├── Spa1PageB.dothtml │ │ │ │ ├── Spa1Spa2Page.dothtml │ │ │ │ ├── Spa2PageA.dothtml │ │ │ │ ├── Spa2PageB.dothtml │ │ │ │ └── SpaMaster.dotmaster │ │ │ ├── TemplateHost │ │ │ │ ├── Basic.dothtml │ │ │ │ ├── CompositeControlWithTemplate.cs │ │ │ │ ├── CompositeListControlWithTemplate.cs │ │ │ │ ├── TemplatedListControl.cs │ │ │ │ ├── TemplatedListControl.dotcontrol │ │ │ │ ├── TemplatedMarkupControl.cs │ │ │ │ └── TemplatedMarkupControl.dotcontrol │ │ │ ├── TextBox │ │ │ │ ├── IntBoundTextBox.dothtml │ │ │ │ ├── SelectAllOnFocus.dothtml │ │ │ │ ├── SimpleDateBox.dothtml │ │ │ │ ├── TextBox.dothtml │ │ │ │ ├── TextBox_Format.dothtml │ │ │ │ ├── TextBox_FormatDoubleProperty.dothtml │ │ │ │ ├── TextBox_Format_Binding.dothtml │ │ │ │ └── TextBox_Types.dothtml │ │ │ ├── Timer │ │ │ │ ├── LongCommand.dothtml │ │ │ │ ├── Removal.dothtml │ │ │ │ └── Timer.dothtml │ │ │ ├── UpdateProgress │ │ │ │ ├── UpdateProgress.dothtml │ │ │ │ ├── UpdateProgressDelay.dothtml │ │ │ │ ├── UpdateProgressQueues.dothtml │ │ │ │ ├── UpdateProgressRedirect.dotmaster │ │ │ │ ├── UpdateProgressRedirect1.dothtml │ │ │ │ ├── UpdateProgressRedirect2.dothtml │ │ │ │ ├── UpdateProgressRedirectSPA.dotmaster │ │ │ │ ├── UpdateProgressRedirectSPA1.dothtml │ │ │ │ └── UpdateProgressRedirectSPA2.dothtml │ │ │ └── ValidationSummary │ │ │ │ ├── HideWhenValid.dothtml │ │ │ │ ├── IncludeErrorsFromTarget_PropertyPathNotNull.dothtml │ │ │ │ ├── IncludeErrorsFromTarget_PropertyPathNull.dothtml │ │ │ │ ├── MessagesRendering.dothtml │ │ │ │ ├── Performance.dothtml │ │ │ │ ├── RecursiveValidationSummary.dothtml │ │ │ │ └── master.dotmaster │ │ ├── Default.dothtml │ │ ├── Errors │ │ │ ├── BindingInvalidCommand.dothtml │ │ │ ├── BindingInvalidProperty.dothtml │ │ │ ├── ConfigurableHtmlControlValidation.dothtml │ │ │ ├── ControlAsViewModel.dothtml │ │ │ ├── ControlUsageValidation.dothtml │ │ │ ├── CorruptedContentBetweenContentControls.dothtml │ │ │ ├── EmptyBinding.dothtml │ │ │ ├── EncryptedPropertyInValueBinding.dothtml │ │ │ ├── ExceptionInLifecycle.dothtml │ │ │ ├── ExceptionInRender.dothtml │ │ │ ├── FieldInValueBinding.dothtml │ │ │ ├── InvalidLocationFallback.dothtml │ │ │ ├── InvalidRouteName.dothtml │ │ │ ├── InvalidServiceDirective.dothtml │ │ │ ├── InvalidViewModel.dothtml │ │ │ ├── MalformedBinding.dothtml │ │ │ ├── MarkupControlInvalidViewModel.dotcontrol │ │ │ ├── MarkupControlInvalidViewModel.dothtml │ │ │ ├── MarkupControlPropertiesSameName.dotcontrol │ │ │ ├── MarkupControlPropertiesSameName.dothtml │ │ │ ├── MarkupControlPropertiesSameNameWithBase.dotcontrol │ │ │ ├── MarkupControlPropertiesSameNameWithBase.dothtml │ │ │ ├── Master.dotmaster │ │ │ ├── MasterPageRequiresDifferentViewModel.dothtml │ │ │ ├── MissingRequiredProperty.dothtml │ │ │ ├── MissingRequiredProperty2.dothtml │ │ │ ├── MissingViewModel.dothtml │ │ │ ├── NonExistingControl.dothtml │ │ │ ├── NonExistingProperty.dothtml │ │ │ ├── NotAllowedHardCodedPropertyValue.dothtml │ │ │ ├── ResourceCircularDependency.dothtml │ │ │ ├── UndefinedRouteLinkParameters.dothtml │ │ │ ├── UnknownInnerControl.dothtml │ │ │ └── WrongPropertyValue.dothtml │ │ ├── FeatureSamples │ │ │ ├── ActionFilterErrorHandling │ │ │ │ ├── ActionFilterErrorHandling.dothtml │ │ │ │ ├── ActionFilterPageErrorHandling.dothtml │ │ │ │ └── ActionFilterRedirect.dothtml │ │ │ ├── Api │ │ │ │ ├── ApiInSpa_Master.dotmaster │ │ │ │ ├── ApiInSpa_PageA.dothtml │ │ │ │ ├── ApiInSpa_PageB.dothtml │ │ │ │ ├── ApiRefresh.dothtml │ │ │ │ ├── AzureFunctionsApi.dothtml │ │ │ │ ├── AzureFunctionsApiTable.dothtml │ │ │ │ ├── BindingSharing.dothtml │ │ │ │ ├── CollectionOddEvenWithRestApi.dothtml │ │ │ │ ├── GetCollection.dothtml │ │ │ │ ├── GridViewDataSetAspNetCore.dothtml │ │ │ │ ├── GridViewDataSetOwin.dothtml │ │ │ │ ├── IncludedInPage.dothtml │ │ │ │ └── IsLoading.dothtml │ │ │ ├── AttachedProperties │ │ │ │ └── AttachedProperties.dothtml │ │ │ ├── Attribute │ │ │ │ ├── SpecialCharacters.dothtml │ │ │ │ └── ToStringConversion.dothtml │ │ │ ├── AutoUI │ │ │ │ ├── AutoEditor.dothtml │ │ │ │ ├── AutoForm.dothtml │ │ │ │ ├── AutoGridViewColumns.dothtml │ │ │ │ ├── BootstrapForm3.dothtml │ │ │ │ ├── BootstrapForm4.dothtml │ │ │ │ └── BootstrapForm5.dothtml │ │ │ ├── BindableCssStyles │ │ │ │ └── BindableCssStyles.dothtml │ │ │ ├── BindingContexts │ │ │ │ ├── BindingContext.dothtml │ │ │ │ └── CollectionContext.dothtml │ │ │ ├── BindingNamespaces │ │ │ │ └── BindingUsingNamespace.dothtml │ │ │ ├── BindingPageInfo │ │ │ │ └── BindingPageInfo.dothtml │ │ │ ├── BindingVariables │ │ │ │ ├── StaticCommandVariablesWithService_Complex.dothtml │ │ │ │ ├── StaticCommandVariablesWithService_Complex2.dothtml │ │ │ │ └── StaticCommandVariablesWithService_Simple.dothtml │ │ │ ├── Caching │ │ │ │ └── CachedValues.dothtml │ │ │ ├── ChildViewModelInvokeMethods │ │ │ │ └── ChildViewModelInvokeMethods.dothtml │ │ │ ├── ClientExtenders │ │ │ │ └── PasswordStrength.dothtml │ │ │ ├── CommandActionFilter │ │ │ │ └── CommandActionFilter.dothtml │ │ │ ├── CommandArguments │ │ │ │ ├── CommandArgumentTypes.dothtml │ │ │ │ ├── CommandArguments.dothtml │ │ │ │ └── ReturnValue.dothtml │ │ │ ├── CompilationPage │ │ │ │ ├── BindingsTest.dothtml │ │ │ │ ├── BindingsTestError.dothtml │ │ │ │ ├── ControlError.dotcontrol │ │ │ │ ├── ControlTestError.dothtml │ │ │ │ ├── MasterPage.dotmaster │ │ │ │ ├── NestedControl.dotcontrol │ │ │ │ ├── NestedControlTest.dothtml │ │ │ │ ├── control.dotcontrol │ │ │ │ ├── default.dothtml │ │ │ │ └── nestedControlParent.dotcontrol │ │ │ ├── CompositeControls │ │ │ │ ├── BasicSample.dothtml │ │ │ │ └── ControlPropertyNamingConflict.dothtml │ │ │ ├── ConditionalCssClasses │ │ │ │ └── ConditionalCssClasses.dothtml │ │ │ ├── CustomPrimitiveTypes │ │ │ │ ├── Basic.dothtml │ │ │ │ ├── RouteLink.dothtml │ │ │ │ ├── TextBox.dothtml │ │ │ │ └── UsedInControls.dothtml │ │ │ ├── CustomResponseProperties │ │ │ │ └── SimpleExceptionFilter.dothtml │ │ │ ├── DataSet │ │ │ │ ├── GitHubApi.dothtml │ │ │ │ └── GitHubApiStaticCommands.dothtml │ │ │ ├── DateTimeSerialization │ │ │ │ └── DateTimeSerialization.dothtml │ │ │ ├── DependencyInjection │ │ │ │ └── ViewModelScopedService.dothtml │ │ │ ├── Directives │ │ │ │ ├── ImportDirective.dothtml │ │ │ │ ├── ImportDirectiveInvalid.dothtml │ │ │ │ └── ViewModelMissingAssembly.dothtml │ │ │ ├── EmbeddedResourceControls │ │ │ │ ├── EmbeddedResourceControls.dothtml │ │ │ │ ├── EmbeddedResourceMasterPage.dotmaster │ │ │ │ └── PageWithEmbeddedResourceMasterPage.dothtml │ │ │ ├── FormControlsEnabled │ │ │ │ └── FormControlsEnabled.dothtml │ │ │ ├── Formatting │ │ │ │ ├── AutoResourceInclusion.dothtml │ │ │ │ ├── AutoResourceInclusionMaster.dotmaster │ │ │ │ ├── Formatting.dothtml │ │ │ │ └── ToStringGlobalFunctionBug.dothtml │ │ │ ├── GenericTypes │ │ │ │ ├── InCommandBinding.dothtml │ │ │ │ ├── InResourceBinding.dothtml │ │ │ │ └── InStaticCommandBinding.dothtml │ │ │ ├── HotReload │ │ │ │ └── ViewChanges.dothtml │ │ │ ├── HtmlTag │ │ │ │ └── NonPairHtmlTag.dothtml │ │ │ ├── IdGeneration │ │ │ │ ├── IdGeneration.dothtml │ │ │ │ └── IdGeneration_control.dotcontrol │ │ │ ├── JavascriptEvents │ │ │ │ └── JavascriptEvents.dothtml │ │ │ ├── JavascriptTranslation │ │ │ │ ├── ArrayTranslation.dothtml │ │ │ │ ├── CommandInsideWhere.dothtml │ │ │ │ ├── CommandInsideWhereControl.dotcontrol │ │ │ │ ├── DateOnlyTranslations.dothtml │ │ │ │ ├── DateTimeTranslations.dothtml │ │ │ │ ├── DictionaryIndexerTranslation.dothtml │ │ │ │ ├── GenericMethodTranslation.dothtml │ │ │ │ ├── ListIndexerTranslation.dothtml │ │ │ │ ├── ListMethodTranslations.dothtml │ │ │ │ ├── MathMethodTranslation.dothtml │ │ │ │ ├── StringMethodTranslations.dothtml │ │ │ │ ├── TimeOnlyTranslations.dothtml │ │ │ │ └── WebUtilityTranslations.dothtml │ │ │ ├── JsComponentIntegration │ │ │ │ ├── ReactComponentIntegration.dothtml │ │ │ │ └── SvelteComponentIntegration.dothtml │ │ │ ├── LambdaExpressions │ │ │ │ ├── ClientSideFiltering.dothtml │ │ │ │ ├── LambdaExpressions.dothtml │ │ │ │ └── StaticCommands.dothtml │ │ │ ├── LiteralBinding │ │ │ │ └── LiteralBinding_Zero.dothtml │ │ │ ├── Localization │ │ │ │ ├── Globalize.dothtml │ │ │ │ ├── LocalizableRoute.dothtml │ │ │ │ ├── Localization.dothtml │ │ │ │ ├── Localization2.Designer.cs │ │ │ │ ├── Localization2.resx │ │ │ │ ├── Localization_Control.dotcontrol │ │ │ │ ├── Localization_Control_Page.dothtml │ │ │ │ ├── Localization_FormatString.dothtml │ │ │ │ ├── Localization_NestedPage_Type.dothtml │ │ │ │ └── Master_ResourceType.dotmaster │ │ │ ├── MarkupControl │ │ │ │ ├── ComboBoxDataSourceBoundToStaticCollection.cs │ │ │ │ ├── ComboBoxDataSourceBoundToStaticCollection.dotcontrol │ │ │ │ ├── ComboBoxDataSourceBoundToStaticCollection.dothtml │ │ │ │ ├── CommandBindingInDataContextWithControlProperty.dothtml │ │ │ │ ├── CommandBindingInRepeater.dothtml │ │ │ │ ├── CommandPropertiesInMarkupControl.dothtml │ │ │ │ ├── Control1.cs │ │ │ │ ├── Control1.dotcontrol │ │ │ │ ├── Control2.cs │ │ │ │ ├── Control2.dotcontrol │ │ │ │ ├── ControlCommandBinding.dotcontrol │ │ │ │ ├── ControlControlCommandInvokeAction.cs │ │ │ │ ├── ControlControlCommandInvokeAction.dotcontrol │ │ │ │ ├── ControlControlCommandInvokeAction.dothtml │ │ │ │ ├── ControlPropertyUpdatedByServer.dothtml │ │ │ │ ├── ControlPropertyUpdating.cs │ │ │ │ ├── ControlPropertyUpdating.dotcontrol │ │ │ │ ├── ControlPropertyUpdating.dothtml │ │ │ │ ├── ControlPropertyValidation.cs │ │ │ │ ├── ControlPropertyValidation.dotcontrol │ │ │ │ ├── ControlPropertyValidationPage.dothtml │ │ │ │ ├── ControlValueBindingWithCommand.dotcontrol │ │ │ │ ├── Device.cs │ │ │ │ ├── Device.dotcontrol │ │ │ │ ├── DeviceList.cs │ │ │ │ ├── DeviceList.dotcontrol │ │ │ │ ├── Dialog.cs │ │ │ │ ├── Dialog.dotcontrol │ │ │ │ ├── HierarchicalItem.cs │ │ │ │ ├── HierarchyControl.cs │ │ │ │ ├── HierarchyControl.dotcontrol │ │ │ │ ├── HierarchyControlPage.dothtml │ │ │ │ ├── MarkupControlRegistration.dothtml │ │ │ │ ├── MarkupControlRegistrationControl.cs │ │ │ │ ├── MarkupControlRegistrationControl.dotcontrol │ │ │ │ ├── MarkupDefinedProperties.dothtml │ │ │ │ ├── MarkupDefinedPropertiesControl.dotcontrol │ │ │ │ ├── MultiControlHierarchy.dothtml │ │ │ │ ├── MyButton.cs │ │ │ │ ├── MyButton.dotcontrol │ │ │ │ ├── ResourceBindingInControlProperty.dothtml │ │ │ │ ├── ServiceDependency │ │ │ │ │ ├── ScopedTestService.cs │ │ │ │ │ ├── ServiceDependencyControl.cs │ │ │ │ │ ├── ServiceDependencyControl.dotcontrol │ │ │ │ │ └── SingletonTestService.cs │ │ │ │ ├── StaticCommandInMarkupControl.dothtml │ │ │ │ ├── StaticCommandInMarkupControlCallingRegularCommand.dothtml │ │ │ │ ├── TextEditorControl.cs │ │ │ │ └── TextEditorControl.dotcontrol │ │ │ ├── ModalDialog │ │ │ │ └── ModalDialog.dothtml │ │ │ ├── NestedMasterPages │ │ │ │ ├── Content.dothtml │ │ │ │ ├── Nested.dotmaster │ │ │ │ └── Root.dotmaster │ │ │ ├── NoJsForm │ │ │ │ └── NoJsForm.dothtml │ │ │ ├── ParameterBinding │ │ │ │ ├── OptionalParameterBinding.dothtml │ │ │ │ └── ParameterBinding.dothtml │ │ │ ├── PostBack │ │ │ │ ├── ConfirmPostBackHandler.dothtml │ │ │ │ ├── PostBackHandlerBinding.dothtml │ │ │ │ ├── PostBackHandlerCommandTypes.dothtml │ │ │ │ ├── PostbackUpdate.dothtml │ │ │ │ ├── PostbackUpdateRepeater.dothtml │ │ │ │ ├── RecursiveTextRepeater.cs │ │ │ │ ├── RecursiveTextRepeater.dotcontrol │ │ │ │ ├── RecursiveTextRepeater2.dotcontrol │ │ │ │ ├── RequestCompression.dothtml │ │ │ │ ├── SuppressPostBackHandler.dothtml │ │ │ │ └── UniqueIdGenerationOnPostbackUpdate.dothtml │ │ │ ├── PostbackAbortSignal │ │ │ │ ├── LoadAbortViewModel.dothtml │ │ │ │ └── Loader.cs │ │ │ ├── PostbackConcurrency │ │ │ │ ├── PostbackConcurrencyMode.dothtml │ │ │ │ ├── RedirectPostbackQueue.dothtml │ │ │ │ ├── RedirectPostbackQueueSpa.dothtml │ │ │ │ ├── RedirectPostbackQueueSpaMaster.dotmaster │ │ │ │ └── StressTest.dothtml │ │ │ ├── PostbackSpaNavigation │ │ │ │ ├── DenyPostbacksOnSpaNavigation.dotmaster │ │ │ │ ├── PageA.dothtml │ │ │ │ └── PageB.dothtml │ │ │ ├── Redirect │ │ │ │ ├── Redirect.dothtml │ │ │ │ ├── RedirectPostbackConcurrency.dothtml │ │ │ │ ├── Redirect_StaticCommand.dothtml │ │ │ │ ├── RedirectionHelpers.dothtml │ │ │ │ ├── RedirectionHelpers_PageA.dothtml │ │ │ │ ├── RedirectionHelpers_PageB.dothtml │ │ │ │ ├── RedirectionHelpers_PageC.dothtml │ │ │ │ ├── RedirectionHelpers_PageD.dothtml │ │ │ │ └── RedirectionHelpers_PageE.dothtml │ │ │ ├── RenderSettingsModeServer │ │ │ │ ├── RenderSettingModeServerProperty.dothtml │ │ │ │ ├── RepeaterCollectionExchange.dothtml │ │ │ │ └── RepeaterCollectionSetToNull.dothtml │ │ │ ├── Resources │ │ │ │ ├── CdnScriptPriority.dothtml │ │ │ │ ├── CdnUnavailableResourceLoad.dothtml │ │ │ │ ├── OnlineNonameResourceLoad.dothtml │ │ │ │ └── RequiredOnPostback.dothtml │ │ │ ├── ReturnedFile │ │ │ │ └── ReturnedFileSample.dothtml │ │ │ ├── Serialization │ │ │ │ ├── ByteArray.dothtml │ │ │ │ ├── DateOnlyTimeOnly.dothtml │ │ │ │ ├── DeserializationVirtualElements.dothtml │ │ │ │ ├── Dictionary.dothtml │ │ │ │ ├── EnumSerializationCoercion.dothtml │ │ │ │ ├── EnumSerializationWithJsonConverter.dothtml │ │ │ │ ├── ListOfObject.dothtml │ │ │ │ ├── ObservableCollectionShouldContainObservables.dothtml │ │ │ │ ├── Serialization.dothtml │ │ │ │ ├── SerializationDateTimeOffset.dothtml │ │ │ │ ├── TimeSpan.dothtml │ │ │ │ └── TransferredOnlyInPath.dothtml │ │ │ ├── ServerComments │ │ │ │ └── ServerComments.dothtml │ │ │ ├── ServerSideStyles │ │ │ │ ├── DirectoryStyle │ │ │ │ │ └── ServerSideStyles.dothtml │ │ │ │ ├── NoDirectoryStyle │ │ │ │ │ └── ServerSideStyles.dothtml │ │ │ │ ├── ServerSideStyles.dothtml │ │ │ │ ├── ServerSideStyles_ControlProperties.dothtml │ │ │ │ ├── ServerSideStyles_DotvvmProperties.dothtml │ │ │ │ └── ServerSideStyles_MatchingViewModel.dothtml │ │ │ ├── StaticCommand │ │ │ │ ├── CustomAwaitable.dothtml │ │ │ │ ├── StaticCommand.dothtml │ │ │ │ ├── StaticCommand_ArrayAssigment.dothtml │ │ │ │ ├── StaticCommand_ComboBoxSelectionChanged.dothtml │ │ │ │ ├── StaticCommand_ComboBoxSelectionChanged_Objects.dothtml │ │ │ │ ├── StaticCommand_LoadComplexDataFromService.dothtml │ │ │ │ ├── StaticCommand_NullAssignment.dothtml │ │ │ │ ├── StaticCommand_NullBinding.dothtml │ │ │ │ ├── StaticCommand_TaskSequence.dothtml │ │ │ │ ├── StaticCommand_Validation.dothtml │ │ │ │ ├── StaticCommand_ValueAssignmentControl.cs │ │ │ │ ├── StaticCommand_ValueAssignmentControl.dotcontrol │ │ │ │ └── StaticCommand_ValueAssignmentInControl.dothtml │ │ │ ├── StringInterpolation │ │ │ │ └── StringInterpolation.dothtml │ │ │ ├── UsageValidation │ │ │ │ └── OverrideValidation.dothtml │ │ │ ├── Validation │ │ │ │ ├── ClientSideObservableUpdate.dothtml │ │ │ │ ├── ClientSideRules.dothtml │ │ │ │ ├── CustomValidation.dothtml │ │ │ │ ├── DateTimeValidation.dothtml │ │ │ │ ├── DateTimeValidation_NullableDateTime.dothtml │ │ │ │ ├── DynamicValidation.dothtml │ │ │ │ ├── EncryptedData.dothtml │ │ │ │ ├── EnforceClientSideValidationDisabled.dothtml │ │ │ │ ├── EssentialTypeValidation.dothtml │ │ │ │ ├── InvalidCssClassNotDuplicated.dothtml │ │ │ │ ├── Localization.dothtml │ │ │ │ ├── ModelStateErrors.dothtml │ │ │ │ ├── NestedValidation.dothtml │ │ │ │ ├── NullValidationTarget.dothtml │ │ │ │ ├── RangeClientSideValidation.dothtml │ │ │ │ ├── RegexValidation.dothtml │ │ │ │ ├── SimpleValidation.dothtml │ │ │ │ ├── ValidationPropertyPathResolving.dothtml │ │ │ │ ├── ValidationRulesLoadOnPostback.dothtml │ │ │ │ ├── ValidationScopes.dothtml │ │ │ │ ├── ValidationScopes2.dothtml │ │ │ │ ├── ValidationTargetIsCollection.dothtml │ │ │ │ └── ValidatorValueComplexExpressions.dothtml │ │ │ ├── ViewModelCache │ │ │ │ └── ViewModelCacheMiss.dothtml │ │ │ ├── ViewModelDeserialization │ │ │ │ ├── DoesNotDropObject.dothtml │ │ │ │ ├── NegativeLongNumber.dothtml │ │ │ │ └── PropertyNullAssignment.dothtml │ │ │ ├── ViewModelNesting │ │ │ │ └── NestedViewModel.dothtml │ │ │ ├── ViewModelProtection │ │ │ │ ├── ComplexViewModelProtection.dothtml │ │ │ │ ├── NestedSignatures.dothtml │ │ │ │ ├── SignedNestedInServerToClient.dothtml │ │ │ │ └── ViewModelProtection.dothtml │ │ │ ├── ViewModules │ │ │ │ ├── Incrementer.dotcontrol │ │ │ │ ├── IncrementerInRepeater.dothtml │ │ │ │ ├── InnerModuleControl.dotcontrol │ │ │ │ ├── LinkModuleControl.cs │ │ │ │ ├── LinkModuleControl.dotcontrol │ │ │ │ ├── ModuleControl.dotcontrol │ │ │ │ ├── ModuleInMarkupControl.dothtml │ │ │ │ ├── ModuleInMarkupControlTwice.dothtml │ │ │ │ ├── ModuleInPage.dothtml │ │ │ │ ├── ModuleInPageCommandAmbiguous.dothtml │ │ │ │ ├── ModuleInPageMasterPage.dothtml │ │ │ │ ├── ModuleInPageSpaMasterPage.dothtml │ │ │ │ ├── ModuleInPageSpaMasterPage2.dothtml │ │ │ │ ├── ModuleMasterPage.dotmaster │ │ │ │ ├── ModuleRegistrationPropagation.dothtml │ │ │ │ ├── ModuleSpaMasterPage.dotmaster │ │ │ │ ├── OuterModuleControl.dotcontrol │ │ │ │ ├── StateIncrementer.dotcontrol │ │ │ │ └── StateManipulation.dothtml │ │ │ └── Warnings │ │ │ │ └── SelfClosingTags.dothtml │ │ ├── Samples.dotmaster │ │ └── SpaNavigationToEmptyUrl.dothtml │ ├── dotvvm-api.json │ ├── package-lock.json │ ├── package.json │ ├── rebuild-apis.ps1 │ ├── regen_api_client.cmd │ ├── rollup.config.js │ ├── sampleConfig.json │ ├── tsconfig.json │ ├── tsconfig.react.json │ ├── tsconfig.svelte.json │ └── yarn.lock ├── EmbeddedResourceControls │ ├── Button.dotcontrol │ ├── EmbeddedResourceControls.csproj │ └── EmbeddedResourceView.dothtml ├── MiniProfiler.AspNetCore │ ├── DotVVM.Samples.MiniProfiler.AspNetCore.csproj │ ├── DotvvmStartup.cs │ ├── Models │ │ └── SampleContext.cs │ ├── Program.cs │ ├── Startup.cs │ ├── ViewModels │ │ ├── DefaultViewModel.cs │ │ ├── Page1ViewModel.cs │ │ └── Page2ViewModel.cs │ ├── Views │ │ ├── default.dotmaster │ │ ├── page1.dothtml │ │ └── page2.dothtml │ └── Web.config ├── MiniProfiler.Owin │ ├── DotVVM.Samples.MiniProfiler.Owin.csproj │ ├── DotvvmStartup.cs │ ├── Startup.cs │ ├── ViewModels │ │ ├── DefaultStaticCommandService.cs │ │ └── DefaultViewModel.cs │ ├── Views │ │ └── default.dothtml │ ├── Web.Debug.config │ ├── Web.Release.config │ └── Web.config ├── Owin │ ├── DotVVM.Samples.BasicSamples.Owin.csproj │ ├── DotvvmServiceConfigurator.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Scripts │ │ └── testResource.js │ ├── Startup.cs │ ├── SwitchMiddleware.cs │ ├── SwitchMiddlewareCase.cs │ ├── ViewModels │ │ ├── ComplexSamples │ │ │ ├── Auth │ │ │ │ ├── AuthorizedPresenter.cs │ │ │ │ ├── LoginViewModel.cs │ │ │ │ └── SecuredPageViewModel.cs │ │ │ └── SPARedirect │ │ │ │ ├── HomeViewModel.cs │ │ │ │ └── LoginViewModel.cs │ │ └── ControlSamples │ │ │ ├── AuthenticatedView │ │ │ └── AuthenticatedViewTestViewModel.cs │ │ │ ├── ClaimView │ │ │ └── ClaimViewTestViewModel.cs │ │ │ └── RoleView │ │ │ └── RoleViewTestViewModel.cs │ ├── Web.config │ ├── package-lock.json │ └── test.zip └── Tests │ ├── Abstractions │ ├── DotVVM.Testing.Abstractions.csproj │ ├── SampleReferenceAttribute.cs │ ├── SamplesRouteUrls.cs │ ├── SamplesRouteUrls.designer.cs │ └── SamplesRouteUrls.tt │ ├── CompletenessChecker │ ├── App.config │ ├── DotVVM.Samples.Tests.CompletenessChecker.csproj │ └── Program.cs │ └── Tests │ ├── App.config │ ├── Base │ ├── AppSeleniumTest.cs │ └── TimeoutAttribute.cs │ ├── Complex │ ├── AuthTests.cs │ ├── ButtonInMarkupControlTests.cs │ ├── CascadeSelectorsTests.cs │ ├── ChangedEventTests.cs │ ├── ClassBindingsTests.cs │ ├── DataTemplateTests.cs │ ├── GridViewDataSetTests.cs │ ├── InvoiceCalculatorTests.cs │ ├── NamespaceCollisionTests.cs │ ├── NestedComboBoxTests.cs │ ├── RedirectAndUrlTests.cs │ ├── SPAErrorReportingTests.cs │ ├── SPARedirectTests.cs │ ├── SPATests.cs │ ├── SPAViewModelReapplicationTests.cs │ ├── ServerRenderingTests.cs │ ├── TaskListTests.cs │ ├── ViewModelDependencyInjectionTests.cs │ └── ViewModelPopulateTests.cs │ ├── Control │ ├── AppendableDataPagerTests.cs │ ├── AuthenticatedViewTests.cs │ ├── ButtonTests.cs │ ├── CheckBoxTests.cs │ ├── ClaimViewTests.cs │ ├── ComboBoxTests.cs │ ├── ContentPlaceHolderTests.cs │ ├── DataPagerTests.cs │ ├── EnabledPropertyTests.cs │ ├── EnvironmentViewTests.cs │ ├── FileUploadInRepeaterTests.cs │ ├── FileUploadTests.cs │ ├── GridViewTests.cs │ ├── HierarchyRepeaterTests.cs │ ├── HtmlLiteralTests.cs │ ├── IncludeInPagePropertyTests.cs │ ├── LinkButtonTests.cs │ ├── ListBoxTests.cs │ ├── LiteralTests.cs │ ├── MultiSelectTests.cs │ ├── NestedRepeaterTests.cs │ ├── RadioButtonTests.cs │ ├── RepeaterTests.cs │ ├── RoleViewTests.cs │ ├── RouteLinkTests.cs │ ├── SpaContentPlaceHolderTests.cs │ ├── TemplateHostTests.cs │ ├── TextBoxTests.cs │ ├── TimerTests.cs │ ├── UpdateProgressTests.cs │ └── ValidationSummaryTests.cs │ ├── DotVVM.Samples.Tests.csproj │ ├── DotVVMAssertModified.cs │ ├── ErrorsTests.cs │ ├── Extensions.cs │ ├── Feature │ ├── ActionFilterErrorHandlingTest.cs │ ├── ApiTests.cs │ ├── ArrayTranslationTests.cs │ ├── AttachedPropertiesTests.cs │ ├── AttributeTests.cs │ ├── AutoUITests.cs │ ├── BindableCssStylesTests.cs │ ├── BindingContextsTests.cs │ ├── BindingNamespacesTests.cs │ ├── BindingPageInfoTests.cs │ ├── BindingVariablesTests.cs │ ├── BindingsWithGlobalizeTests.cs │ ├── ChildViewModelInvokeMethodsTests.cs │ ├── ClientExtendersTests.cs │ ├── CommandActionFilterTests.cs │ ├── CommandArgumentsTests.cs │ ├── CommandResultTests.cs │ ├── CompilationPageTests.cs │ ├── ConditionalCssClass.cs │ ├── CustomPrimitiveTypesTests.cs │ ├── DataSetTests.cs │ ├── DateTimeSerializationTests.cs │ ├── DateTimeTranslationTests.cs │ ├── DependencyInjectionTests.cs │ ├── DictionaryTranslationTests.cs │ ├── DirectivesTests.cs │ ├── EmbeddedResourceControlsTests.cs │ ├── FormControlsEnabledTests.cs │ ├── FormattingTests.cs │ ├── GenericTypesTests.cs │ ├── HotReloadTests.cs │ ├── HtmlTagTests.cs │ ├── IdGenerationTests.cs │ ├── JavascriptEventsTests.cs │ ├── JsComponentIntegrationTests.cs │ ├── ListTranslationTests.cs │ ├── LocalizationTests.cs │ ├── MarkupControlTests.cs │ ├── MasterPageTests.cs │ ├── ModalDialogTests.cs │ ├── NoJsFormTests.cs │ ├── ParameterBindingTests.cs │ ├── PostBackTests.cs │ ├── PostbackAbortSignal.cs │ ├── PostbackConcurrencyTests.cs │ ├── PostbackSpaNavigationTests.cs │ ├── RedirectTests.cs │ ├── RegexValidationTests.cs │ ├── RenderSettingsModeServerTest.cs │ ├── ResourcesTests.cs │ ├── ReturnedFileTests.cs │ ├── SerializationTests.cs │ ├── ServerCommentsTests.cs │ ├── ServerSideStylesTests.cs │ ├── StaticCommandStringMethodTests .cs │ ├── StaticCommandTests.cs │ ├── StaticCommandValidationTests.cs │ ├── StringInterpolationTests.cs │ ├── ValidationClientSideRulesTests.cs │ ├── ValidationSummaryTests.cs │ ├── ValidationTests.cs │ ├── ViewModelCacheTests.cs │ ├── ViewModelDeserializationTests.cs │ ├── ViewModelNestingTests.cs │ ├── ViewModelProtectionTests.cs │ ├── ViewModuleTests.cs │ └── WebUtilityTranslationTests.cs │ ├── Profiles │ ├── seleniumconfig.aspnetcore.chrome.json │ ├── seleniumconfig.aspnetcore.firefox.json │ ├── seleniumconfig.aspnetcorelatest.chrome.json │ ├── seleniumconfig.aspnetcorelatest.firefox.json │ ├── seleniumconfig.owin.chrome.json │ └── seleniumconfig.owin.firefox.json │ ├── SpaNavigationToEmptyUrlTests.cs │ ├── UITestUtils.cs │ └── seleniumconfig.json ├── Templates ├── DotVVM.Templates.nuspec └── content │ └── EmptyWeb │ ├── .dotvvm.json │ ├── .template.config │ ├── dotnetcli.host.json │ └── template.json │ ├── DotvvmApplication1.csproj │ ├── DotvvmStartup.cs │ ├── Pages │ ├── Default │ │ ├── DefaultViewModel.cs │ │ └── default.dothtml │ └── Error │ │ ├── ErrorViewModel.cs │ │ └── error.dothtml │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Startup.cs │ ├── Web.config │ └── wwwroot │ └── -.- ├── Tests ├── .gitignore ├── AspCore │ ├── CachingTests.cs │ └── Middleware │ │ ├── AfterMiddleware.cs │ │ ├── BeforeMiddleware.cs │ │ └── MiddlewareTest.cs ├── AssertEx.cs ├── AutoUI │ └── FieldPropertiesBindingProviderTests.cs ├── Binding │ ├── BindingCacheTests.cs │ ├── BindingCompilationTests.cs │ ├── CommandResolverTests.cs │ ├── CustomExtensionMethodTests.cs │ ├── ExpressionHelperTests.cs │ ├── GenericPropertyResolverTests.cs │ ├── ImplicitConversionTests.cs │ ├── IntegrityCheckTests.cs │ ├── JavascriptCompilationTests.cs │ ├── KnockoutHelperTests.cs │ ├── NullPropagationTests.cs │ ├── SideEffectAnalyzerTests.cs │ ├── StaticCommandCompilationTests.cs │ ├── StaticCommandExecutorTests.cs │ ├── StaticCommandPlanSerializationTests.cs │ ├── StaticCommandValidationPathTests.cs │ ├── TestNamespace1 │ │ └── TestClass1.cs │ ├── TestNamespace2 │ │ └── TestClass2.cs │ └── testoutputs │ │ ├── BindingCompilationTests.Error_DifferentDataContext.txt │ │ └── BindingCompilationTests.Error_MissingDataContext.txt ├── ControlTests │ ├── AutoUIFormTests.cs │ ├── AutoUIResourcesTests.cs │ ├── AutoUITests.cs │ ├── CommandTests.cs │ ├── CompilerEdgeCaseTests.cs │ ├── CompositeControlTests.cs │ ├── DataPagerTests.cs │ ├── DotvvmErrorTests.cs │ ├── GridViewTests.cs │ ├── HierarchyRepeaterTests.cs │ ├── HtmlGenericControlTests.cs │ ├── IdGeneration.cs │ ├── MarkupControlTests.cs │ ├── PostbackHandlerTests.cs │ ├── RepeaterTests.cs │ ├── ResourceDataContextTests.cs │ ├── ServerSideStyleTests.cs │ ├── SimpleControlTests.cs │ ├── ViewModulesServerSideTests.cs │ └── testoutputs │ │ ├── AutoUIFormTests.BootstrapFormTest.html │ │ ├── AutoUIFormTests.BulmaFormTest.html │ │ ├── AutoUIResourcesTests.ResourceLabelsFormTest-cs.html │ │ ├── AutoUIResourcesTests.ResourceLabelsFormTest-cs.json │ │ ├── AutoUIResourcesTests.ResourceLabelsFormTest-en.html │ │ ├── AutoUIResourcesTests.ResourceLabelsFormTest-en.json │ │ ├── AutoUITests.BasicColumn.html │ │ ├── AutoUITests.BasicEditor.html │ │ ├── AutoUITests.BasicForm.html │ │ ├── AutoUITests.BasicGrid.html │ │ ├── AutoUITests.EnumEditor.html │ │ ├── AutoUITests.FormInRepeater.html │ │ ├── AutoUITests.FormWithVisibleEnabledFields-Default--False.html │ │ ├── AutoUITests.FormWithVisibleEnabledFields-Edit-Admin-True.html │ │ ├── AutoUITests.FormWithVisibleEnabledFields-Insert--False.html │ │ ├── AutoUITests.FormWithVisibleEnabledFields-Insert-Admin-True.html │ │ ├── AutoUITests.Selections.html │ │ ├── CompositeControlTests.AutoclonedPostbackHandlers.html │ │ ├── CompositeControlTests.BasicWrappedHtmlControl.html │ │ ├── CompositeControlTests.BindingMapping.html │ │ ├── CompositeControlTests.BindingMappingWithEnum.html │ │ ├── CompositeControlTests.ClassBindingControl.html │ │ ├── CompositeControlTests.CommandDataContextChange.html │ │ ├── CompositeControlTests.CompositeControlInheritance.html │ │ ├── CompositeControlTests.ControlWithMultipleEnumClasses.html │ │ ├── CompositeControlTests.ControlWithMultipleEnumClasses.precompiled.html │ │ ├── CompositeControlTests.MarkupControlCreatedFromCodeControl.html │ │ ├── CompositeControlTests.MenuRepeater.html │ │ ├── CompositeControlTests.WrappedHierarchyRepeaterControlWithGeneratedIds.html │ │ ├── CompositeControlTests.WrappedRepeaterControl.html │ │ ├── CompositeControlTests.WrappedRepeaterControlWithGeneratedIds.html │ │ ├── DataPagerTests.CommandDataPager-command-bindings.txt │ │ ├── DataPagerTests.CommandDataPager.html │ │ ├── DataPagerTests.StaticCommandApendablePager.html │ │ ├── DataPagerTests.StaticCommandPager.html │ │ ├── DotvvmErrorTests.AuthView_InvalidWrapperTagUsage.txt │ │ ├── DotvvmErrorTests.HtmlLiteral_InvalidWrapperTagUsage.txt │ │ ├── DotvvmErrorTests.HtmlLiteral_InvalidWrapperTagUsage2.txt │ │ ├── GridViewTests.GridViewColumn_FormatString_ResourceBinding.html │ │ ├── GridViewTests.GridView_RowDecorators_AddChildren.html │ │ ├── GridViewTests.RequiredResourceInEditTemplate.html │ │ ├── GridViewTests.SortedChangedStaticCommand.html │ │ ├── HierarchyRepeaterTests.CommandInMarkupControl-client.html │ │ ├── HierarchyRepeaterTests.CommandInMarkupControl-server.html │ │ ├── HierarchyRepeaterTests.UsageWithThisInBindings.html │ │ ├── IdGeneration.AutomaticIdGeneration_IdAttributeConflict.html │ │ ├── IdGeneration.AutomaticIdGeneration_Label.html │ │ ├── MarkupControlTests.DataContextChange.html │ │ ├── MarkupControlTests.MarkupControl_CommandInResourceRepeater-resource.html │ │ ├── MarkupControlTests.MarkupControl_CommandInResourceRepeater-value.html │ │ ├── MarkupControlTests.MarkupControl_InternalProperty.html │ │ ├── MarkupControlTests.MarkupControl_JsInvoke.html │ │ ├── MarkupControlTests.MarkupControl_PassingStaticCommand.html │ │ ├── MarkupControlTests.MarkupControl_PropertyUsedManyTimes.html │ │ ├── MarkupControlTests.MarkupControl_UpdateSource.html │ │ ├── MarkupControlTests.PropertyDirectiveWithResourceBinding.html │ │ ├── PostbackHandlerTests.ButtonHandlers.html │ │ ├── RepeaterTests.IdGeneration.html │ │ ├── RepeaterTests.IdGeneration_CreatedAtRuntime.html │ │ ├── RepeaterTests.RepeatedTextBox.html │ │ ├── RepeaterTests.RepeaterSetsCorrectDataContextInside.html │ │ ├── ResourceDataContextTests.AutoGrid.html │ │ ├── ResourceDataContextTests.BasicDataContext.html │ │ ├── ResourceDataContextTests.DataContextRevert.html │ │ ├── ResourceDataContextTests.EmptyData.html │ │ ├── ResourceDataContextTests.GridView.html │ │ ├── ResourceDataContextTests.HierarchyRepeater_SimpleTemplate.html │ │ ├── ResourceDataContextTests.Repeater.html │ │ ├── ResourceLabelsFormTest-en.ResourceLabelsFormTest-en.html │ │ ├── ServerSideStyleTests.AddResourceWithMasterPage.html │ │ ├── ServerSideStyleTests.BindableObjectReads.html │ │ ├── ServerSideStyleTests.CapabilityReads.html │ │ ├── ServerSideStyleTests.CapabilitySetting.html │ │ ├── ServerSideStyleTests.ChildrenMatching.html │ │ ├── ServerSideStyleTests.CloneTemplateTranslation.html │ │ ├── ServerSideStyleTests.ContentCapabilityReads.html │ │ ├── ServerSideStyleTests.ContentInTemplates.html │ │ ├── ServerSideStyleTests.MarkupControlCreatedFromStyles.html │ │ ├── ServerSideStyleTests.PostbackHandlers.html │ │ ├── ServerSideStyleTests.StyleBindingMapping.html │ │ ├── ServerSideStyleTests.WrapperAndAppend.html │ │ ├── SimpleControlTests.Auth.html │ │ ├── SimpleControlTests.ClickEvents.html │ │ ├── SimpleControlTests.ComboBox.html │ │ ├── SimpleControlTests.CurlyBraceEscaping.raw.html │ │ ├── SimpleControlTests.CurlyBraceEscaping.reparsed.html │ │ ├── SimpleControlTests.Decorator.html │ │ ├── SimpleControlTests.EmptyData.html │ │ ├── SimpleControlTests.FileUpload.html │ │ ├── SimpleControlTests.FormControlsEnabled.html │ │ ├── SimpleControlTests.HtmlControl.html │ │ ├── SimpleControlTests.HtmlLiteral.html │ │ ├── SimpleControlTests.IncludeInPage.html │ │ ├── SimpleControlTests.JsComponent.html │ │ ├── SimpleControlTests.Literal_ClientServerRendering.html │ │ ├── SimpleControlTests.MultiSelect.html │ │ ├── SimpleControlTests.NamedCommand.html │ │ ├── SimpleControlTests.RadioButton.html │ │ ├── SimpleControlTests.RouteLink.html │ │ ├── SimpleControlTests.TextBox.html │ │ ├── ViewModulesServerSideTests.IncludeViewModule.html │ │ └── ViewModulesServerSideTests.IncludeViewModuleInControl.html ├── CultureUtils.cs ├── DotVVM.Framework.Tests.csproj ├── ExpectedExceptionMessage.cs ├── GlobalUsings.cs ├── Parser │ ├── Binding │ │ ├── BindingNodesVisitorTests.cs │ │ ├── BindingParserNodeFactory.cs │ │ ├── BindingParserTests.cs │ │ └── BindingTokenizerTests.cs │ └── Dothtml │ │ ├── DothtmlParserTests.cs │ │ ├── DothtmlTokenizerBindingTests.cs │ │ ├── DothtmlTokenizerDirectivesTests.cs │ │ ├── DothtmlTokenizerElementsTests.cs │ │ ├── DothtmlTokenizerHtmlSpecialElementsTests.cs │ │ ├── DothtmlTokenizerTestsBase.cs │ │ ├── FindNodeTests.cs │ │ └── VSExtensionContractTests.cs ├── Resource1.Designer.cs ├── Resource1.resx ├── ResourceManagement │ └── ResourceRepositoryTests.cs ├── Resources │ ├── AutoUIErrorMessages.Designer.cs │ ├── AutoUIErrorMessages.cs.resx │ ├── AutoUIErrorMessages.resx │ ├── AutoUIPropertyNames.Designer.cs │ ├── AutoUIPropertyNames.cs.resx │ ├── AutoUIPropertyNames.resx │ ├── CustomResourceFile.Designer.cs │ ├── CustomResourceFile.cs.resx │ └── CustomResourceFile.resx ├── Routing │ ├── DotvvmRouteTests.cs │ ├── LocalizablePresenterTests.cs │ ├── RouteSerializationTests.cs │ ├── RouteTableGroupTests.cs │ └── UrlHelperTests.cs ├── Runtime │ ├── CachingTests.cs │ ├── CapabilityPropertyTests.cs │ ├── CompositeControlPropertyRegistrationTests.cs │ ├── ConfigurationSerializationTests.cs │ ├── ConfigurationValidationTests.cs │ ├── ControlLifeCycleEvent.cs │ ├── ControlLifeCycleMock.cs │ ├── ControlTree │ │ ├── ControlValidationTests.cs │ │ ├── DefaultControlTreeResolver │ │ │ ├── BaseTypeDirectiveTests.cs │ │ │ ├── ClassWithDefaultDotvvmControlContent.cs │ │ │ ├── ClassWithDefaultDotvvmControlContent_NoDotvvmProperty.cs │ │ │ ├── ClassWithInnerElementProperty.cs │ │ │ ├── ClassWithUnsupportedPropertyGroup.cs │ │ │ ├── ClassWithoutInnerElementProperty.cs │ │ │ ├── CompilationWarningsTests.cs │ │ │ ├── ControlWithContentDataContext.cs │ │ │ ├── ControlWithInheritedRules.cs │ │ │ ├── ControlWithOverriddenRules.cs │ │ │ ├── ControlWithSpecialBindingsInside.cs │ │ │ ├── ControlWithValidationRules.cs │ │ │ ├── DefaultControlResolverTestViewModel.cs │ │ │ ├── DefaultControlTreeResolverTests.cs │ │ │ ├── DefaultControlTreeResolverTestsBase.cs │ │ │ ├── ImportDirectiveTests.cs │ │ │ ├── MarkupDeclaredPropertyTests.cs │ │ │ ├── PropertyDirectiveTests.cs │ │ │ ├── ServiceDirectiveTests.cs │ │ │ ├── TestService.cs │ │ │ ├── TestServiceGeneric.cs │ │ │ └── ViewModelDirectiveTest.cs │ │ ├── ServerSideStyleTests.cs │ │ ├── TypeDescriptorTests.cs │ │ └── ValueConversionTests.cs │ ├── DefaultViewCompilerTests.cs │ ├── DotvvmBindableObjectTests.cs │ ├── DotvvmCompilationExceptionSerializationTests.cs │ ├── DotvvmControlCollectionTests.cs │ ├── DotvvmControlErrorsTests.cs │ ├── DotvvmControlRenderedHtmlTests.cs │ ├── DotvvmControlTestBase.cs │ ├── DotvvmPropertyTests.cs │ ├── ErrorPageTests.cs │ ├── HtmlWriterTests.cs │ ├── JavascriptCompilation │ │ ├── JsFormatterTests.cs │ │ ├── JsNullChecksTests.cs │ │ ├── JsParametrizedCodeTests.cs │ │ ├── JsParensInsersionTests.cs │ │ └── JsTreeTests.cs │ ├── LruCacheTests.cs │ ├── MarkupLoaderTests.cs │ ├── MetricsTests.cs │ ├── PresenterTests.cs │ ├── ReflectionUtilsTests.cs │ ├── RepeaterMemoizationTest.cs │ ├── ResourceManagerTests.cs │ ├── RuntimeErrorTests.cs │ ├── ScriptEndingTests.cs │ ├── ViewCompilationServiceTests.cs │ ├── config-tests │ │ ├── ConfigurationSerializationTests.AuxOptions.json │ │ ├── ConfigurationSerializationTests.ExperimentalFeatures.json │ │ ├── ConfigurationSerializationTests.Markup.json │ │ ├── ConfigurationSerializationTests.RestAPI.json │ │ ├── ConfigurationSerializationTests.SerializeDefaultConfig.json │ │ ├── ConfigurationSerializationTests.SerializeEmptyConfig.json │ │ ├── ConfigurationSerializationTests.SerializeResources.json │ │ ├── ConfigurationSerializationTests.SerializeRoutes.json │ │ └── ConfigurationValidationTests.ValidateMissingRoutes.txt │ └── testoutputs │ │ ├── DotvvmControlRenderedHtmlTests.Button_ClickArgumentsCommand-Button_ClickArgumentsCommand.html │ │ ├── ErrorPageTests.SerializationDelegates.json │ │ ├── ErrorPageTests.SerializationDotvvmControls.json │ │ ├── ErrorPageTests.SerializationDotvvmProperties.json │ │ ├── ErrorPageTests.SerializationReflectionAssembly.json │ │ ├── ErrorPageTests.SerializationReflectionType.json │ │ ├── RuntimeErrorTests.BindingErrorsShouldBeReasonable.txt │ │ ├── RuntimeErrorTests.CantFindDataContextSpace.txt │ │ ├── RuntimeErrorTests.DataContextStack_ToString.txt │ │ ├── RuntimeErrorTests.InitResolverFailure.txt │ │ ├── RuntimeErrorTests.NonExistentBindingProperty.txt │ │ └── RuntimeErrorTests.PropertyResolverFailure.txt ├── ViewModel │ ├── ChildViewModelInvokeMethodsTests.cs │ ├── DefaultViewModelSerializerTests.cs │ ├── EFCoreGridViewDataSetTests.cs │ ├── GridViewDataSetTests.cs │ ├── JsonDiffTests.cs │ ├── JsonPatchTests.cs │ ├── ModelStateFromExpressionTests.cs │ ├── ParameterBindingTests.cs │ ├── PropertyPathTests.cs │ ├── SerializerErrorTests.cs │ ├── SerializerTests.cs │ ├── ValidationErrorFactoryTests.cs │ ├── ViewModelSerializationMapperTests.cs │ ├── ViewModelTypeMetadataSerializerTests.cs │ ├── ViewModelValidatorTests.cs │ └── testoutputs │ │ └── ViewModelTypeMetadataSerializerTests.ViewModelTypeMetadata_TypeMetadata.json ├── app.config └── dotvvmwizard.snk ├── Tools ├── AppStartupInstabilityTester.py ├── CommandLine │ ├── ApiClientDefinition.cs │ ├── ApiClientFetchOptions.cs │ ├── CommandLineExtensions.cs │ ├── CompilerCommands.cs │ ├── DotVVM.CommandLine.csproj │ ├── DotVVM.CommandLine.nuspec │ ├── Dothtml.cs │ ├── DotvvmProject.cs │ ├── InfoCommands.cs │ ├── MSBuild.cs │ ├── Names.cs │ ├── OpenApi │ │ ├── ApiClientManager.cs │ │ ├── ApiClientUtils.cs │ │ ├── Client.Method.Annotations.liquid │ │ ├── CustomOperationNameGenerator.cs │ │ ├── CustomPropertyNameGenerator.cs │ │ ├── DotvvmCSharpClientGenerator.cs │ │ ├── DotvvmCSharpOperationModel.cs │ │ ├── DotvvmCSharpParameterModel.cs │ │ ├── DotvvmCSharpTypeNameGenerator.cs │ │ ├── DotvvmClientTemplateFactory.cs │ │ ├── DotvvmTypeScriptClientGenerator.cs │ │ ├── DotvvmTypeScriptOperationModel.cs │ │ └── DotvvmTypeScriptParameterModel.cs │ ├── OpenApiCommands.cs │ ├── Program.cs │ ├── Resources │ │ └── DotVVMCommandLine.targets │ ├── TemplateCommands.cs │ ├── Templates │ │ ├── AppSeleniumTestTemplate.cs │ │ ├── ControlCodeBehindTemplate.cs │ │ ├── ControlTemplate.cs │ │ ├── PageTemplate.cs │ │ └── ViewModelTemplate.cs │ └── dotvvmwizard.snk ├── Compiler │ ├── AppDomainCompilerExecutor.cs │ ├── CompilerArgs.cs │ ├── DefaultCompilerExecutor.cs │ ├── DependencyContextCompilerExecutor.cs │ ├── DotVVM.Compiler.csproj │ ├── ICompilerExecutor.cs │ ├── IsExternalInit.cs │ ├── Program.cs │ ├── ProjectLoader.cs │ ├── Properties │ │ └── launchSettings.json │ └── dotvvmwizard.snk ├── HotReload │ ├── AspNetCore │ │ ├── Configuration │ │ │ ├── ApplicationBuilderExtensions.cs │ │ │ └── DotvvmServiceCollectionExtensions.cs │ │ ├── DotVVM.HotReload.AspNetCore.csproj │ │ ├── Hubs │ │ │ └── DotvvmHotReloadHub.cs │ │ ├── Scripts │ │ │ ├── dotvvm.hotreload.js │ │ │ └── signalr.min.js │ │ ├── Services │ │ │ └── AspNetCoreMarkupFileChangeNotifier.cs │ │ └── dotvvmwizard.snk │ ├── Common │ │ ├── DotVVM.HotReload.csproj │ │ ├── HotReloadAggregateMarkupFileLoader.cs │ │ ├── HotReloadErrorPageExtension.cs │ │ ├── HotReloadMarkupFileLoader.cs │ │ ├── IMarkupFileChangeNotifier.cs │ │ └── dotvvmwizard.snk │ └── Owin │ │ ├── Configuration │ │ ├── AppBuilderExtensions.cs │ │ ├── DotvvmServiceCollectionExtensions.cs │ │ └── DotvvmViewHotReloadOptions.cs │ │ ├── DotVVM.HotReload.Owin.csproj │ │ ├── Hubs │ │ └── DotvvmViewHotReloadHub.cs │ │ ├── Scripts │ │ ├── dotvvm.hotreload.js │ │ ├── jquery.min.js │ │ └── jquery.signalR.min.js │ │ ├── Services │ │ └── OwinMarkupFileChangeNotifier.cs │ │ └── dotvvmwizard.snk ├── SeleniumGenerator │ ├── DotVVM.Framework.Tools.SeleniumGenerator.csproj │ ├── DotvvmServiceCollectionExtensions.cs │ ├── Extensions │ │ └── DictionaryExtensions.cs │ ├── Generators │ │ └── Controls │ │ │ ├── ButtonControlGenerator.cs │ │ │ ├── CheckBoxControlGenerator.cs │ │ │ ├── ComboBoxControlGenerator.cs │ │ │ ├── DataPagerControlGenerator.cs │ │ │ ├── DotvvmControlGenerator.cs │ │ │ ├── EmptyDataControlGenerator.cs │ │ │ ├── FileUploadControlGenerator.cs │ │ │ ├── GridViewCheckBoxColumnControlGenerator.cs │ │ │ ├── GridViewControlGenerator.cs │ │ │ ├── GridViewTemplateColumnControlGenerator.cs │ │ │ ├── GridViewTextColumnControlGenerator.cs │ │ │ ├── LinkButtonControlGenerator.cs │ │ │ ├── ListBoxControlGenerator.cs │ │ │ ├── LiteralControlGenerator.cs │ │ │ ├── RadioButtonControlGenerator.cs │ │ │ ├── RepeaterControlGenerator.cs │ │ │ ├── RouteLinkControlGenerator.cs │ │ │ ├── TextBoxControlGenerator.cs │ │ │ ├── UpdateProgressControlGenerator.cs │ │ │ └── ValidationSummaryControlGenerator.cs │ ├── Helpers │ │ ├── RoslynHelper.cs │ │ └── SelectorStringHelper.cs │ ├── ISeleniumGenerator.cs │ ├── ISeleniumPageObjectVisitor.cs │ ├── MasterPageObjectDefinition.cs │ ├── Modifications │ │ ├── MarkupFileInsertText.cs │ │ ├── MarkupFileModification.cs │ │ └── UITestNameMarkupFileInsertText.cs │ ├── PageObjectDefinition.cs │ ├── PageObjectDefinitionBase.cs │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── SeleniumGenerator.cs │ ├── SeleniumGeneratorConfiguration.cs │ ├── SeleniumGeneratorContext.cs │ ├── SeleniumGeneratorOptions.cs │ ├── SeleniumPageObjectGenerator.cs │ ├── SeleniumPageObjectVisitor.cs │ ├── SeleniumSelectorFinderVisitor.cs │ └── UITestProject.cs ├── StartupPerfTester │ ├── DotVVM.Tools.StartupPerfTester.csproj │ ├── FileSystemHelper.cs │ ├── NetworkingHelpers.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── StartupPerformanceTest.cs │ ├── TestBasicSamples.ps1 │ └── dotvvmwizard.snk └── Tests │ └── SeleniumGenerator │ ├── DotVVM.Testing.SeleniumGenerator.Tests.csproj │ ├── ExtensionsTests.cs │ ├── Helpers │ ├── RoslynHelpers.cs │ ├── TestEnvironmentHelper.cs │ ├── VisitorHelper.cs │ └── WebApplicationHost.cs │ ├── SeleniumGeneratorTests.cs │ ├── UnitTests.cs │ └── Visitors │ ├── DataContextSelectorsTestingVisitor.cs │ ├── SeleniumGeneratorTestsVisitor.cs │ └── UiNamesTestingVisitor.cs ├── Tracing ├── ApplicationInsights.AspNetCore │ ├── ApplicationInsightsJavaScript.cs │ ├── DotVVM.Tracing.ApplicationInsights.AspNetCore.csproj │ ├── OperationNameTelemetryInitializer.cs │ ├── TracingBuilderExtensions.cs │ └── dotvvmwizard.snk ├── ApplicationInsights.Owin │ ├── ApplicationInsightsJavascript.cs │ ├── DotVVM.Tracing.ApplicationInsights.Owin.csproj │ ├── OperationNameTelemetryInitializer.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── TracingBuilderExtensions.cs │ └── dotvvmwizard.snk ├── ApplicationInsights │ ├── ApplicationInsightsTracer.cs │ ├── DotVVM.Tracing.ApplicationInsights.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RequestTelemetryFilter.cs │ ├── TracingBuilderExtensions.cs │ └── dotvvmwizard.snk ├── MiniProfiler.AspNetCore │ ├── DotVVM.Tracing.MiniProfiler.AspNetCore.csproj │ ├── MiniProfilerBuilderExtensions.cs │ └── dotvvmwizard.snk ├── MiniProfiler.Owin │ ├── DotVVM.Tracing.MiniProfiler.Owin.csproj │ ├── MiniProfilerBuilderExtensions.cs │ └── dotvvmwizard.snk └── MiniProfiler.Shared │ ├── DotVVM.Tracing.MiniProfiler.Shared.projitems │ ├── DotVVM.Tracing.MiniProfiler.Shared.shproj │ ├── DotvvmTimingStorage.cs │ ├── IMiniProfilerRequestTracer.cs │ ├── IRequestTimingStorage.cs │ ├── MiniProfilerActionFilter.cs │ ├── MiniProfilerIntegration.js │ ├── MiniProfilerTracer.cs │ ├── MiniProfilerWidget.cs │ └── jsconfig.json ├── global.json ├── package-icon.png ├── package.json ├── safe-uitests.playlist └── tslint.json /ci/scripts/Add-InternalNuGetFeed.ps1: -------------------------------------------------------------------------------- 1 | param( 2 | [string][parameter(Mandatory = $true)]$internalFeed, 3 | [string][parameter(Mandatory = $true)]$internalFeedUser, 4 | [string][parameter(Mandatory = $true)]$internalFeedPat, 5 | [string]$internalFeedName = "riganti" 6 | ) 7 | 8 | nuget sources add ` 9 | -Username "$internalFeedUser" ` 10 | -Password "$internalFeedPat" ` 11 | -StorePasswordInClearText ` 12 | -Name "$internalFeedName" ` 13 | -Source "$internalFeed" 14 | -------------------------------------------------------------------------------- /ci/scripts/SetSamplesActiveProfile.ps1: -------------------------------------------------------------------------------- 1 | Param( 2 | [string]$selectedProfile, 3 | [string]$configPath = '../DotVVM.Samples.Common/sampleConfig.json' 4 | ) 5 | if ([System.String]::IsNullOrEmpty($selectedProfile) -eq $true) { 6 | $selectedProfile = "Default" 7 | } 8 | 9 | $json = Get-Content $configPath -raw | ConvertFrom-Json 10 | $json.activeProfile = $selectedProfile 11 | $json | ConvertTo-Json -depth 32 | set-content $configPath -------------------------------------------------------------------------------- /ci/scripts/SetSamplesAppSettings.ps1: -------------------------------------------------------------------------------- 1 | Param( 2 | [string]$key, 3 | [string]$value, 4 | [string]$configPath = '../DotVVM.Samples.Common/sampleConfig.json' 5 | ) 6 | 7 | $json = Get-Content $configPath -raw | ConvertFrom-Json 8 | $json.appSettings.$key = $value 9 | $json | ConvertTo-Json -depth 32 | set-content $configPath -------------------------------------------------------------------------------- /ci/scripts/npm/build-dotvvm-types.ps1: -------------------------------------------------------------------------------- 1 | param([Parameter(Mandatory=$true)] $version) 2 | 3 | $dir = pwd 4 | push-location ../../../src/Framework/Framework 5 | 6 | npm run tsc-types 7 | if (-not (test-path "$dir/dotvvm-types/types")) { 8 | mkdir "$dir/dotvvm-types/types" 9 | } 10 | copy ./obj/typescript-types/dotvvm.d.ts "$dir/dotvvm-types/types/index.d.ts" 11 | 12 | pop-location 13 | 14 | push-location dotvvm-types 15 | 16 | npm version $version --no-git-tag-version 17 | 18 | pop-location -------------------------------------------------------------------------------- /ci/scripts/nuget.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/ci/scripts/nuget.exe -------------------------------------------------------------------------------- /src/.config/dotnet-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "isRoot": true, 4 | "tools": { 5 | "nugetkeyvaultsigntool": { 6 | "version": "3.2.3", 7 | "commands": [ 8 | "NuGetKeyVaultSignTool" 9 | ] 10 | }, 11 | "sign": { 12 | "version": "0.9.1-beta.23356.1", 13 | "commands": [ 14 | "sign" 15 | ] 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | yarnPath: .yarn/releases/yarn-3.2.0.cjs 2 | -------------------------------------------------------------------------------- /src/Adapters/Tests/WebForms/testoutputs/HybridRouteLinkTests.HybridRouteLink_NoBindings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | hello 1 5 | hello 2 6 | hello 3 7 | hello 4 8 | hello 5 9 | hello 6 10 | hello 6 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Adapters/WebForms/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Adapters/WebForms/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Analyzers/Analyzers.CodeFixes/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Analyzers/Analyzers.CodeFixes/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Analyzers/Analyzers.Package/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Analyzers/Analyzers.Package/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Analyzers/Analyzers/AnalyzerReleases.Shipped.md: -------------------------------------------------------------------------------- 1 | ; Shipped analyzer releases 2 | ; https://github.com/dotnet/roslyn-analyzers/blob/master/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md 3 | 4 | -------------------------------------------------------------------------------- /src/Analyzers/Analyzers/DiagnosticCategory.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | 4 | namespace DotVVM.Analyzers 5 | { 6 | internal static class DiagnosticCategory 7 | { 8 | public const string Serializability = nameof(Serializability); 9 | public const string StaticCommands = nameof(StaticCommands); 10 | public const string ApiUsage = nameof(ApiUsage); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Analyzers/Analyzers/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Analyzers/Analyzers/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/AutoUI/Annotations/AuthenticationMode.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.AutoUI.Annotations; 2 | 3 | public enum AuthenticationMode 4 | { 5 | Any = 0, 6 | Authenticated = 1, 7 | NonAuthenticated = 2 8 | } 9 | -------------------------------------------------------------------------------- /src/AutoUI/Annotations/IConditionalFieldAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.AutoUI.Annotations; 2 | 3 | public interface IConditionalFieldAttribute 4 | { 5 | string ViewNames { get; set; } 6 | string Roles { get; set; } 7 | AuthenticationMode IsAuthenticated { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /src/AutoUI/Annotations/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/AutoUI/Annotations/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/AutoUI/Core/ControlHelpers.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using DotVVM.Framework.Binding; 3 | using DotVVM.Framework.Controls; 4 | 5 | namespace DotVVM.AutoUI 6 | { 7 | public static class ControlHelpers 8 | { 9 | public static string ConcatCssClasses(params string?[] fragments) 10 | { 11 | return string.Join(" ", fragments.Select(f => f?.Trim() ?? "").Where(f => !string.IsNullOrEmpty(f))); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/AutoUI/Core/Controls/ColumnPlacement.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.AutoUI.Controls 2 | { 3 | public enum ColumnPlacement 4 | { 5 | Left = 0, 6 | Right = 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/AutoUI/Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("DotVVM.Framework.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010007c544d7dbb49a258f8f7509b74f488534c1872c417b2fba85a66b1fba2465caafbaec56663cab0f072cd801f9e22753a85dc55247d4ace012a5eceac50d84c3b9044b9a37ac8baa5eb24dec644ad9fafcc869ad93b6603ffd5321124362cf0ab3684b89db1ed2aca4f175f6fbfc770bdc076396b36017c6dce5a4385c7b67b7")] 4 | -------------------------------------------------------------------------------- /src/AutoUI/Core/PropertyHandlers/AutoUIPropertyHandlerBase.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using DotVVM.AutoUI.Metadata; 3 | 4 | namespace DotVVM.AutoUI.PropertyHandlers 5 | { 6 | public abstract class AutoUIPropertyHandlerBase : IAutoUIPropertyHandler 7 | { 8 | public virtual string[] UIHints => new string[] { }; 9 | 10 | public abstract bool CanHandleProperty(PropertyDisplayMetadata property, AutoUIContext context); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/AutoUI/Core/PropertyHandlers/FormEditors/IFormEditorProvider.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.AutoUI.Controls; 2 | using DotVVM.AutoUI.Metadata; 3 | using DotVVM.Framework.Controls; 4 | 5 | namespace DotVVM.AutoUI.PropertyHandlers.FormEditors 6 | { 7 | public interface IFormEditorProvider : IAutoUIPropertyHandler 8 | { 9 | DotvvmControl CreateControl(PropertyDisplayMetadata property, AutoEditor.Props props, AutoUIContext context); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/AutoUI/Core/PropertyHandlers/GridColumns/IGridColumnProvider.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.AutoUI.Controls; 2 | using DotVVM.AutoUI.Metadata; 3 | using DotVVM.Framework.Controls; 4 | 5 | namespace DotVVM.AutoUI.PropertyHandlers.GridColumns 6 | { 7 | public interface IGridColumnProvider : IAutoUIPropertyHandler 8 | { 9 | 10 | GridViewColumn CreateColumn(PropertyDisplayMetadata property, AutoGridViewColumn.Props props, AutoUIContext context); 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/AutoUI/Core/PropertyHandlers/IAutoUIPropertyHandler.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.AutoUI.Metadata; 2 | 3 | namespace DotVVM.AutoUI.PropertyHandlers 4 | { 5 | public interface IAutoUIPropertyHandler 6 | { 7 | string[] UIHints { get; } 8 | 9 | bool CanHandleProperty(PropertyDisplayMetadata property, AutoUIContext context); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/AutoUI/Core/PropertyHandlers/ISelectorDiscoveryService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using DotVVM.Framework.Binding.Expressions; 3 | 4 | namespace DotVVM.AutoUI.PropertyHandlers; 5 | 6 | public interface ISelectorDiscoveryService 7 | { 8 | IValueBinding DiscoverSelectorDataSourceBinding(AutoUIContext autoUiContext, Type propertyType); 9 | } 10 | -------------------------------------------------------------------------------- /src/AutoUI/Core/ViewContext.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.AutoUI.Annotations; 2 | 3 | namespace DotVVM.AutoUI 4 | { 5 | public class ViewContext : IViewContext 6 | { 7 | public string? ViewName { get; set; } 8 | public string? GroupName { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/AutoUI/Core/ViewModel/ISelectorViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.AutoUI.ViewModel; 4 | 5 | public interface ISelectorViewModel 6 | where TItem : Annotations.Selection 7 | { 8 | List? Items { get; } 9 | } 10 | -------------------------------------------------------------------------------- /src/AutoUI/Core/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/AutoUI/Core/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/DynamicData/Annotations/VisibilityMode.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls.DynamicData.Annotations 2 | { 3 | public enum VisibilityMode 4 | { 5 | Show, 6 | Hide 7 | } 8 | } -------------------------------------------------------------------------------- /src/DynamicData/Annotations/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/DynamicData/Annotations/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/Builders/IFormBuilder.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls.DynamicData.Builders 2 | { 3 | public interface IFormBuilder 4 | { 5 | void BuildForm(DotvvmControl hostControl, DynamicDataContext dynamicDataContext); 6 | } 7 | } -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/ColumnPlacement.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls.DynamicData 2 | { 3 | public enum ColumnPlacement 4 | { 5 | Left = 0, 6 | Right = 1 7 | } 8 | } -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/Configuration/ComboBoxConvention.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Controls.DynamicData.Annotations; 2 | using DotVVM.Framework.Controls.DynamicData.Utils; 3 | 4 | namespace DotVVM.Framework.Controls.DynamicData.Configuration 5 | { 6 | public class ComboBoxConvention 7 | { 8 | public PropertyMatch Match { get; set; } 9 | 10 | public ComboBoxSettingsAttribute Settings { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/PropertyHandlers/DynamicDataPropertyHandlerBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | 4 | namespace DotVVM.Framework.Controls.DynamicData.PropertyHandlers 5 | { 6 | public abstract class DynamicDataPropertyHandlerBase : IDynamicDataPropertyHandler 7 | { 8 | public abstract bool CanHandleProperty(PropertyInfo propertyInfo, DynamicDataContext context); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/PropertyHandlers/GridColumns/IGridColumnProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using DotVVM.Framework.Controls.DynamicData.Metadata; 3 | 4 | namespace DotVVM.Framework.Controls.DynamicData.PropertyHandlers.GridColumns 5 | { 6 | public interface IGridColumnProvider : IDynamicDataPropertyHandler 7 | { 8 | 9 | GridViewColumn CreateColumn(GridView gridView, PropertyDisplayMetadata property, DynamicDataContext context); 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/PropertyHandlers/IDynamicDataPropertyHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace DotVVM.Framework.Controls.DynamicData.PropertyHandlers 4 | { 5 | public interface IDynamicDataPropertyHandler 6 | { 7 | bool CanHandleProperty(PropertyInfo propertyInfo, DynamicDataContext context); 8 | } 9 | } -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/Utils/PropertyDelegateMatch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | 4 | namespace DotVVM.Framework.Controls.DynamicData.Utils 5 | { 6 | public class PropertyDelegateMatch : PropertyMatch 7 | { 8 | 9 | public Func Delegate { get; set; } 10 | 11 | public override bool IsMatch(PropertyInfo property) 12 | { 13 | return Delegate(property); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/Utils/PropertyMatch.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace DotVVM.Framework.Controls.DynamicData.Utils 4 | { 5 | public abstract class PropertyMatch 6 | { 7 | 8 | public abstract bool IsMatch(PropertyInfo property); 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/ViewContext.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Controls.DynamicData.Annotations; 2 | using System.Security.Principal; 3 | 4 | namespace DotVVM.Framework.Controls.DynamicData 5 | { 6 | public class ViewContext : IViewContext 7 | { 8 | public string ViewName { get; set; } 9 | public string GroupName { get; set; } 10 | public IPrincipal CurrentUser { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/DynamicData/DynamicData/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/DynamicData/DynamicData/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Framework/Core/CodeAnalysis/CallSiteType.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.CodeAnalysis 2 | { 3 | public enum CallSiteType 4 | { 5 | ServerSide, 6 | ClientSide 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Framework/Core/Controls/Options/IApplyToQueryable.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | 3 | namespace DotVVM.Framework.Controls 4 | { 5 | public interface IApplyToQueryable 6 | { 7 | IQueryable ApplyToQueryable(IQueryable queryable); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Core/Controls/Options/IFilteringOptions.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | public interface IFilteringOptions 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /src/Framework/Core/Controls/Options/NoFilteringOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | 3 | namespace DotVVM.Framework.Controls 4 | { 5 | /// Dataset with NoFilteringOptions does not support filtering. 6 | public sealed class NoFilteringOptions : IFilteringOptions, IApplyToQueryable 7 | { 8 | public IQueryable ApplyToQueryable(IQueryable queryable) => queryable; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Core/Controls/Options/NoPagingOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | 3 | namespace DotVVM.Framework.Controls 4 | { 5 | /// Dataset with NoPagingOptions does not support paging. 6 | public sealed class NoPagingOptions : IPagingOptions, IApplyToQueryable 7 | { 8 | public IQueryable ApplyToQueryable(IQueryable queryable) => queryable; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Core/Controls/Options/NoRowEditOptions.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | 4 | /// Dataset with NoRowEditOptions does not support the row edit feature. 5 | public sealed class NoRowEditOptions : IRowEditOptions 6 | { 7 | public string? PrimaryKeyPropertyName => null; 8 | 9 | public object? EditRowId => null; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Core/Controls/Options/NoRowInsertOptions.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | /// Dataset with NoRowInsertOptions does not support the row insertion feature. 4 | public sealed class NoRowInsertOptions : IRowInsertOptions 5 | { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Core/Controls/Options/NoSortingOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | 3 | namespace DotVVM.Framework.Controls 4 | { 5 | /// Dataset with NoSortingOptions does not support sorting. 6 | public sealed class NoSortingOptions : ISortingOptions, IApplyToQueryable 7 | { 8 | public IQueryable ApplyToQueryable(IQueryable queryable) => queryable; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Core/Storage/FileSize.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Core.Utils; 2 | 3 | namespace DotVVM.Core.Storage 4 | { 5 | public class FileSize 6 | { 7 | public long Bytes { get; set; } 8 | 9 | public string FormattedText => TextUtils.FormatSize(Bytes); 10 | 11 | public override string ToString() 12 | { 13 | return FormattedText; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Framework/Core/Storage/ReturnedFileMetadata.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Core.Storage 4 | { 5 | public class ReturnedFileMetadata 6 | { 7 | public string? FileName { get; set; } 8 | public string? MimeType { get; set; } 9 | public Dictionary? AdditionalHeaders { get; set; } = new Dictionary(); 10 | public string? AttachmentDispositionType { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Core/ViewModel/IPropertySerialization.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace DotVVM.Framework.ViewModel 4 | { 5 | public interface IPropertySerialization 6 | { 7 | string ResolveName(MemberInfo propertyInfo); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Core/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Framework/Core/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Framework/Framework/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | -------------------------------------------------------------------------------- /src/Framework/Framework/Binding/BindingCompilationRequirementType.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Text; 4 | using System.Threading.Tasks; 5 | 6 | namespace DotVVM.Framework.Binding 7 | { 8 | public enum BindingCompilationRequirementType 9 | { 10 | No, 11 | IfPossible, 12 | StronglyRequire 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Binding/Expressions/IUpdatableValueBinding.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Controls; 2 | 3 | namespace DotVVM.Framework.Binding.Expressions 4 | { 5 | public interface IUpdatableValueBinding: IBinding 6 | { 7 | BindingUpdateDelegate UpdateDelegate { get; } 8 | } 9 | 10 | public interface IUpdatableValueBinding: IBinding 11 | { 12 | BindingUpdateDelegate UpdateDelegate { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Binding/UnknownTypeSentinel.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 DotVVM.Framework.Compilation.Binding 8 | { 9 | internal sealed class UnknownTypeSentinel 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/CompilationState.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Compilation 2 | { 3 | public enum CompilationState 4 | { 5 | None = 1, 6 | InProcess = 2, 7 | CompletedSuccessfully = 3, 8 | CompilationFailed = 4, 9 | CompilationWarning = 5, 10 | NonCompilable = 6 11 | } 12 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractContentNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using DotVVM.Framework.Compilation.Parser.Dothtml.Parser; 3 | 4 | namespace DotVVM.Framework.Compilation.ControlTree 5 | { 6 | public interface IAbstractContentNode : IAbstractTreeNode 7 | { 8 | IEnumerable Content { get; } 9 | IControlResolverMetadata Metadata { get; } 10 | IDataContextStack DataContextTypeStack { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractDirective.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using DotVVM.Framework.Compilation.Parser.Dothtml.Parser; 7 | 8 | namespace DotVVM.Framework.Compilation.ControlTree 9 | { 10 | public interface IAbstractDirective : IAbstractTreeNode 11 | { 12 | string Value { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractPropertyBinding.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.Parser.Dothtml.Parser; 2 | 3 | namespace DotVVM.Framework.Compilation.ControlTree 4 | { 5 | public interface IAbstractPropertyBinding : IAbstractPropertySetter 6 | { 7 | IAbstractBinding Binding { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractPropertyControl.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Compilation.ControlTree 2 | { 3 | public interface IAbstractPropertyControl : IAbstractPropertySetter 4 | { 5 | IAbstractControl? Control { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractPropertyControlCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Compilation.ControlTree 4 | { 5 | public interface IAbstractPropertyControlCollection : IAbstractPropertySetter 6 | { 7 | IEnumerable Controls { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractPropertySetter.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.Parser.Dothtml.Parser; 2 | 3 | namespace DotVVM.Framework.Compilation.ControlTree 4 | { 5 | public interface IAbstractPropertySetter : IAbstractTreeNode 6 | { 7 | IPropertyDescriptor Property { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractPropertyTemplate.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Compilation.ControlTree 4 | { 5 | public interface IAbstractPropertyTemplate : IAbstractPropertySetter 6 | { 7 | IEnumerable Content { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractPropertyValue.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Compilation.ControlTree 2 | { 3 | public interface IAbstractPropertyValue : IAbstractPropertySetter 4 | { 5 | object? Value { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractTreeNode.cs: -------------------------------------------------------------------------------- 1 |  2 | using DotVVM.Framework.Compilation.Parser.Dothtml.Parser; 3 | 4 | namespace DotVVM.Framework.Compilation.ControlTree 5 | { 6 | public interface IAbstractTreeNode 7 | { 8 | DothtmlNode? DothtmlNode { get; } 9 | 10 | IAbstractTreeNode? Parent { get; } 11 | 12 | IAbstractTreeRoot TreeRoot { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IAbstractTreeRoot.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.Collections.Generic; 3 | using DotVVM.Framework.Compilation.ViewCompiler; 4 | 5 | namespace DotVVM.Framework.Compilation.ControlTree 6 | { 7 | public interface IAbstractTreeRoot : IAbstractControl 8 | { 9 | Dictionary> Directives { get; } 10 | string? FileName { get; set; } 11 | IAbstractControlBuilderDescriptor? MasterPage { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/IControlTreeResolver.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.Parser.Dothtml.Parser; 2 | 3 | namespace DotVVM.Framework.Compilation.ControlTree 4 | { 5 | public interface IControlTreeResolver 6 | { 7 | IAbstractTreeRoot ResolveTree(DothtmlRootNode root, string fileName); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/Resolved/IPropertyGroupMember.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 DotVVM.Framework.Compilation.ControlTree.Resolved 8 | { 9 | public interface IPropertyGroupMember 10 | { 11 | string Name { get; } 12 | IPropertyGroupDescriptor PropertyGroup { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ControlTree/Resolved/IResolvedTreeNode.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace DotVVM.Framework.Compilation.ControlTree.Resolved 3 | { 4 | public interface IResolvedTreeNode 5 | { 6 | void Accept(IResolvedControlTreeVisitor visitor); 7 | 8 | void AcceptChildren(IResolvedControlTreeVisitor visitor); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Directives/IMarkupDirectiveCompilerPipeline.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.Parser.Dothtml.Parser; 2 | 3 | namespace DotVVM.Framework.Compilation.Directives 4 | { 5 | public interface IMarkupDirectiveCompilerPipeline 6 | { 7 | MarkupPageMetadata Compile(DothtmlRootNode dothtmlRoot, string fileName); 8 | } 9 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Directives/ViewModuleCompilationResult.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.ControlTree; 2 | using DotVVM.Framework.Binding; 3 | 4 | namespace DotVVM.Framework.Compilation.Directives 5 | { 6 | public record ViewModuleCompilationResult(JsExtensionParameter ExtensionParameter, ViewModuleReferenceInfo Reference); 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/IBindingCompiler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq.Expressions; 3 | using DotVVM.Framework.Compilation.ControlTree.Resolved; 4 | using DotVVM.Framework.Compilation.ViewCompiler; 5 | 6 | namespace DotVVM.Framework.Compilation 7 | { 8 | public interface IBindingCompiler 9 | { 10 | Expression EmitCreateBinding(DefaultViewCompilerCodeEmitter emitter, ResolvedBinding binding); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/IControlBuilderFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using DotVVM.Framework.Compilation.ViewCompiler; 3 | 4 | namespace DotVVM.Framework.Compilation 5 | { 6 | public interface IControlBuilderFactory 7 | { 8 | (ControlBuilderDescriptor descriptor, Lazy builder) GetControlBuilder(string virtualPath); 9 | void InvalidateCache(string virtualPath); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/IControlType.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.ControlTree; 2 | 3 | namespace DotVVM.Framework.Compilation 4 | { 5 | public interface IControlType 6 | { 7 | 8 | ITypeDescriptor Type { get; } 9 | 10 | string? VirtualPath { get; } 11 | 12 | ITypeDescriptor? DataContextRequirement { get; } 13 | 14 | string PrimaryName { get; } 15 | 16 | string[] AlternativeNames { get; } 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Inference/Results/ITypeInferenceResult.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 DotVVM.Framework.Compilation.Inference.Results 8 | { 9 | internal interface ITypeInferenceResult 10 | { 11 | bool Result { get; } 12 | Type? Type { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Javascript/Ast/JsExpression.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Framework.Compilation.Javascript.Ast 6 | { 7 | public abstract class JsExpression: JsNode 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Javascript/Ast/JsStatement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Framework.Compilation.Javascript.Ast 6 | { 7 | public abstract class JsStatement: JsNode 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Javascript/IJavascriptMethodTranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Linq.Expressions; 2 | using System.Reflection; 3 | using DotVVM.Framework.Compilation.Javascript.Ast; 4 | 5 | namespace DotVVM.Framework.Compilation.Javascript 6 | { 7 | public interface IJavascriptMethodTranslator 8 | { 9 | JsExpression? TryTranslateCall(LazyTranslatedExpression? context, LazyTranslatedExpression[] arguments, MethodInfo method); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/LoadControlBuilderAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Compilation 4 | { 5 | public class LoadControlBuilderAttribute : Attribute 6 | { 7 | public string FilePath { get; set; } 8 | public LoadControlBuilderAttribute(string filePath) 9 | { 10 | this.FilePath = filePath; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Parser/Binding/Parser/Annotations/IBindingParserAnnotation.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 DotVVM.Framework.Compilation.Parser.Binding.Parser.Annotations 8 | { 9 | public interface IBindingParserAnnotation 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Parser/Binding/Parser/NumberLiteralSuffix.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Compilation.Parser.Binding.Parser 2 | { 3 | public enum NumberLiteralSuffix 4 | { 5 | None, 6 | Unsigned, 7 | Long, 8 | UnsignedLong, 9 | Float, 10 | Double, 11 | Decimal 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Parser/Dothtml/Tokenizer/DothtmlToken.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Compilation.Parser.Dothtml.Tokenizer 2 | { 3 | public class DothtmlToken : TokenBase 4 | { 5 | public DothtmlToken(string text, DothtmlTokenType type, int lineNumber, int columnNumber, int length, int startPosition) : base(text, type, lineNumber, columnNumber, length, startPosition) 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Parser/ITextRange.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace DotVVM.Framework.Compilation.Parser 7 | { 8 | public interface ITextRange 9 | { 10 | int StartPosition { get; } 11 | int Length { get; } 12 | int EndPosition { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Static/ICompilationReportLogger.cs: -------------------------------------------------------------------------------- 1 | 2 | using System.Collections.Generic; 3 | using System.IO; 4 | 5 | namespace DotVVM.Framework.Compilation.Static 6 | { 7 | internal interface ICompilationReportLogger 8 | { 9 | void Log(Stream stream, IEnumerable diagnostics); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Styles/ApplyControlStyleAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Framework.Compilation.Styles 6 | { 7 | public class ApplyControlStyleAttribute : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Styles/IStyle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Compilation.Styles 4 | { 5 | public interface IStyle 6 | { 7 | bool Matches(IStyleMatchContext context); 8 | IStyleApplicator Applicator { get; } 9 | Type ControlType { get; } 10 | bool ExactTypeMatch { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/Validation/IControlUsageValidator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using DotVVM.Framework.Compilation.ControlTree; 3 | 4 | namespace DotVVM.Framework.Compilation.Validation 5 | { 6 | public interface IControlUsageValidator 7 | { 8 | IEnumerable Validate(IAbstractControl control); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Compilation/ViewCompiler/ViewCompilerConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using DotVVM.Framework.Compilation.ControlTree.Resolved; 4 | 5 | namespace DotVVM.Framework.Compilation.ViewCompiler 6 | { 7 | public class ViewCompilerConfiguration 8 | { 9 | public List> TreeVisitors { get; } = new List>(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Framework/Configuration/IControlRegistrationStrategy.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 DotVVM.Framework.Configuration 8 | { 9 | public interface IControlRegistrationStrategy 10 | { 11 | IEnumerable GetControls(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Configuration/IDotvvmStartup.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 DotVVM.Framework.Configuration 8 | { 9 | public interface IDotvvmStartup 10 | { 11 | void Configure(DotvvmConfiguration config, string applicationPath); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/ButtonTagName.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 DotVVM.Framework.Controls 8 | { 9 | public enum ButtonTagName 10 | { 11 | input, 12 | button 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/ClientIDMode.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | public enum ClientIDMode 4 | { 5 | /// 6 | /// The ID is generated automatically to be unique. 7 | /// 8 | AutoGenerated, 9 | 10 | /// 11 | /// The ID is used without any changes. 12 | /// 13 | Static 14 | } 15 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/ConcurrencyQueueSettingsCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Controls 4 | { 5 | public class ConcurrencyQueueSettingsCollection : List 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/ContainsDotvvmPropertiesAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Framework.Controls 6 | { 7 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] 8 | public class ContainsDotvvmPropertiesAttribute : Attribute 9 | { 10 | } 11 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/FormatValueType.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | public enum FormatValueType 4 | { 5 | Text = 0, 6 | DateTime = 1, 7 | Number = 2, 8 | DateOnly = 3, 9 | TimeOnly = 4 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/GridViewFilterPlacement.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | public enum GridViewFilterPlacement 4 | { 5 | /// 6 | /// Places the filter inside the header cell. 7 | /// 8 | HeaderRow = 0, 9 | 10 | /// 11 | /// Places the filter in the extra row below the headers. 12 | /// 13 | ExtraRow = 1 14 | } 15 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/IRenderable.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Hosting; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace DotVVM.Framework.Controls 7 | { 8 | public interface IRenderable 9 | { 10 | void Render(IHtmlWriter writer, IDotvvmRequestContext context); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/LifeCycleEventType.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | public enum LifeCycleEventType 4 | { 5 | None = 0, 6 | PreInit = 1, 7 | Init = 2, 8 | Load = 3, 9 | PreRender = 4, 10 | PreRenderComplete = 5 11 | } 12 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/MultiSelect.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | /// Renders HTML list box - the <select multiple size=10 element. 4 | public class MultiSelect : MultiSelectHtmlControlBase 5 | { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/Panel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Controls 4 | { 5 | [ControlMarkupOptions(AllowContent = true)] 6 | public class Panel : HtmlGenericControl 7 | { 8 | public Panel() : base("div") 9 | { 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/Placeholder.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Controls 2 | { 3 | /// 4 | /// Renders a control that does nothing, just wraps the . 5 | /// 6 | public class PlaceHolder : DotvvmControl 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/PostBackHandlerCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Controls 4 | { 5 | public class PostBackHandlerCollection : List 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Framework/Framework/Controls/RenderMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Framework.Controls 6 | { 7 | public enum RenderMode 8 | { 9 | Client = 0, 10 | Server = 1 11 | } 12 | } -------------------------------------------------------------------------------- /src/Framework/Framework/DependencyInjection/IDotvvmServiceCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using DotVVM.Framework.Configuration; 3 | 4 | namespace Microsoft.Extensions.DependencyInjection 5 | { 6 | /// 7 | /// An interface for configuring DotVVM services. 8 | /// 9 | public interface IDotvvmServiceCollection : IList 10 | { 11 | IServiceCollection Services { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Diagnostics/Models/EventTiming.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Diagnostics.Models 2 | { 3 | public record EventTiming(string EventName, long Duration, long TotalDuration, bool StartupComplete = false) 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/DotvvmRequestContextStorage.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Hosting 2 | { 3 | internal sealed class DotvvmRequestContextStorage 4 | { 5 | public IDotvvmRequestContext? Context; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/ErrorPages/IErrorPageExtension.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Framework.Hosting.ErrorPages 6 | { 7 | public interface IErrorPageExtension 8 | { 9 | 10 | string GetHeadContents(IDotvvmRequestContext context, Exception ex); 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/ICookieCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Hosting 4 | { 5 | public interface ICookieCollection : IEnumerable> 6 | { 7 | string this[string key] { get; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/IDotvvmPresenter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using DotVVM.Framework.Runtime; 6 | 7 | namespace DotVVM.Framework.Hosting 8 | { 9 | public interface IDotvvmPresenter 10 | { 11 | /// 12 | /// Processes the request. 13 | /// 14 | Task ProcessRequest(IDotvvmRequestContext context); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/IEnvironmentNameProvider.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Hosting 2 | { 3 | public interface IEnvironmentNameProvider 4 | { 5 | /// 6 | /// Returns the name of the hosting environment (e.g. Development, Production). 7 | /// 8 | string GetEnvironmentName(IDotvvmRequestContext context); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/IHeaderCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Hosting 4 | { 5 | public interface IHeaderCollection : IDictionary 6 | { 7 | new string? this[string key] { get; set; } 8 | 9 | void Append(string key, string value); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/IPathString.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Hosting 4 | { 5 | public interface IPathString : IEquatable 6 | { 7 | string? Value { get; } 8 | bool HasValue(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/IQueryCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Diagnostics.CodeAnalysis; 3 | 4 | namespace DotVVM.Framework.Hosting 5 | { 6 | public interface IQueryCollection : IEnumerable> 7 | { 8 | string this[string key] { get; } 9 | 10 | bool TryGetValue(string key, [MaybeNullWhen(false)] out string value); 11 | 12 | bool ContainsKey(string key); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/Hosting/IRequestCancellationTokenProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading; 6 | using System.Threading.Tasks; 7 | 8 | namespace DotVVM.Framework.Hosting 9 | { 10 | public interface IRequestCancellationTokenProvider 11 | { 12 | CancellationToken GetCancellationToken(IDotvvmRequestContext context); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/ResourceManagement/IDeferableResource.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.ResourceManagement 2 | { 3 | public interface IDeferrableResource 4 | { 5 | /// If `defer` attribute should be used. 6 | bool Defer { get; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Framework/Framework/ResourceManagement/IDotvvmResourceRepository.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 DotVVM.Framework.ResourceManagement 8 | { 9 | public interface IDotvvmResourceRepository 10 | { 11 | IResource? FindResource(string name); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/ResourceManagement/ResourceRenderPosition.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 DotVVM.Framework.ResourceManagement 8 | { 9 | public enum ResourceRenderPosition 10 | { 11 | Head, 12 | Body, 13 | Anywhere 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Framework/Framework/Resources/Scripts/api/eventHub.ts: -------------------------------------------------------------------------------- 1 | const eventMap: { 2 | [key: string]: KnockoutObservable 3 | } = {}; 4 | 5 | export function notify(id: string) { 6 | if (id in eventMap) { 7 | eventMap[id].notifySubscribers(); 8 | } 9 | } 10 | 11 | export function get(id: string) { 12 | return eventMap[id] || (eventMap[id] = ko.observable(0).extend({ notify: 'always' })); 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Resources/Scripts/binding-handlers/register.ts: -------------------------------------------------------------------------------- 1 | import bindingHandlers from './all-handlers' 2 | import { keys } from '../utils/objects'; 3 | 4 | export default () => { 5 | for (const h of keys(bindingHandlers)) { 6 | ko.bindingHandlers[h] = bindingHandlers[h]; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Framework/Framework/Resources/Scripts/compileConstants.ts: -------------------------------------------------------------------------------- 1 | declare var compileConstants : { 2 | /** If the compiled bundle is for SPA applications */ 3 | isSpa: boolean, 4 | /** If the compiled bundle is unminified */ 5 | debug: boolean 6 | }; 7 | -------------------------------------------------------------------------------- /src/Framework/Framework/Resources/Scripts/postback/counter.ts: -------------------------------------------------------------------------------- 1 | var postBackCounter: number = 0; 2 | 3 | export function backUpPostBackCounter(): number { 4 | return ++postBackCounter; 5 | } 6 | -------------------------------------------------------------------------------- /src/Framework/Framework/Resources/Scripts/spa/events.ts: -------------------------------------------------------------------------------- 1 | import { DotvvmEvent } from "../events"; 2 | 3 | export const spaNavigating = new DotvvmEvent("dotvvm.events.spaNavigating"); 4 | export const spaNavigated = new DotvvmEvent("dotvvm.events.spaNavigated"); 5 | export const spaNavigationFailed = new DotvvmEvent("dotvvm.events.spaNavigationFailed"); 6 | -------------------------------------------------------------------------------- /src/Framework/Framework/Resources/Scripts/tests/setup.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace jest { 2 | interface Matchers { 3 | observable(): R; 4 | observableArray(): R; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/Framework/Framework/Resources/Scripts/utils/promise.ts: -------------------------------------------------------------------------------- 1 | /** Runs the callback in the next event loop cycle */ 2 | export const defer = (callback: () => T) => Promise.resolve().then(callback) 3 | export const delay = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)) 4 | -------------------------------------------------------------------------------- /src/Framework/Framework/Routing/DotvvmConfigurationAssertReason.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Routing 2 | { 3 | internal enum DotvvmConfigurationAssertReason 4 | { 5 | MissingFile, 6 | MissingRouteName, 7 | InvalidCombination, 8 | Conflict 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Framework/Framework/Routing/IPartialMatchRoute.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Diagnostics.CodeAnalysis; 3 | 4 | namespace DotVVM.Framework.Routing; 5 | 6 | public interface IPartialMatchRoute 7 | { 8 | bool IsPartialMatch(string url, [MaybeNullWhen(false)] out RouteBase matchedRoute, [MaybeNullWhen(false)] out IDictionary values); 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Framework/Routing/IRoutingStrategy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Routing 4 | { 5 | public interface IRoutingStrategy 6 | { 7 | IEnumerable GetRoutes(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Framework/Routing/NoRouteException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Routing 4 | { 5 | public class NoRouteException : Exception 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Routing/RouteStrategyMarkupFileInfo.cs: -------------------------------------------------------------------------------- 1 | #nullable disable 2 | namespace DotVVM.Framework.Routing 3 | { 4 | public class RouteStrategyMarkupFileInfo 5 | { 6 | 7 | public string AbsolutePath { get; set; } 8 | 9 | public string AppRelativePath { get; set; } 10 | 11 | public string ViewsFolderRelativePath { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/Runtime/Filters/IActionFilter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace DotVVM.Framework.Runtime.Filters 7 | { 8 | public interface IActionFilter 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Framework/Runtime/Filters/NotAuthorizedAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Runtime.Filters 4 | { 5 | /// 6 | /// Specifies that the class does not require authorization. 7 | /// 8 | [AttributeUsage(AttributeTargets.Class)] 9 | public class NotAuthorizedAttribute : Attribute 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Framework/Framework/Runtime/IDotvvmViewBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using DotVVM.Framework.Controls; 5 | using DotVVM.Framework.Controls.Infrastructure; 6 | using DotVVM.Framework.Hosting; 7 | 8 | namespace DotVVM.Framework.Runtime 9 | { 10 | public interface IDotvvmViewBuilder 11 | { 12 | 13 | DotvvmView BuildView(IDotvvmRequestContext context); 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Framework/Framework/Runtime/IDotvvmWarningSink.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Runtime 2 | { 3 | public interface IDotvvmWarningSink 4 | { 5 | void RuntimeWarning(DotvvmRuntimeWarning warning); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Framework/Runtime/IViewModelParameterBinder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using DotVVM.Framework.Hosting; 5 | using DotVVM.Framework.ViewModel.Validation; 6 | 7 | namespace DotVVM.Framework.Runtime 8 | { 9 | public interface IViewModelParameterBinder 10 | { 11 | 12 | void BindParameters(IDotvvmRequestContext context, object viewModel); 13 | 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/Framework/Framework/Runtime/Tracing/IStartupTracer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using DotVVM.Framework.Diagnostics; 6 | 7 | namespace DotVVM.Framework.Runtime.Tracing 8 | { 9 | public interface IStartupTracer 10 | { 11 | void TraceEvent(string eventName); 12 | 13 | Task NotifyStartupCompleted(IDiagnosticsInformationSender informationSender); 14 | 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/Framework/Framework/Testing/ViewCompilationFakeRequestContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Testing 4 | { 5 | class ViewCompilationFakeRequestContext : TestDotvvmRequestContext 6 | { 7 | public ViewCompilationFakeRequestContext(IServiceProvider services): base(services) 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Framework/ViewModel/ISerializationInfoAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using DotVVM.Framework.Hosting; 5 | using DotVVM.Framework.Utils; 6 | using DotVVM.Framework.ViewModel.Serialization; 7 | 8 | namespace DotVVM.Framework.ViewModel 9 | { 10 | public interface ISerializationInfoAttribute 11 | { 12 | void SetOptions(ViewModelPropertyMap map); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/ViewModel/Serialization/IViewModelLoader.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Controls.Infrastructure; 2 | using DotVVM.Framework.Hosting; 3 | 4 | namespace DotVVM.Framework.ViewModel.Serialization 5 | { 6 | public interface IViewModelLoader 7 | { 8 | 9 | object InitializeViewModel(IDotvvmRequestContext context, DotvvmView view); 10 | 11 | void DisposeViewModel(object instance); 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/ViewModel/Serialization/IViewModelServerStore.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using DotVVM.Framework.Runtime.Caching; 4 | 5 | namespace DotVVM.Framework.ViewModel.Serialization 6 | { 7 | public interface IViewModelServerStore 8 | { 9 | 10 | void Store(string hash, byte[] cacheData); 11 | 12 | byte[]? Retrieve(string hash); 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Framework/Framework/ViewModel/Serialization/ViewModelServerCacheConfiguration.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Framework.ViewModel.Serialization 6 | { 7 | public class ViewModelServerCacheConfiguration 8 | { 9 | 10 | public TimeSpan CacheLifetime { get; set; } = TimeSpan.FromMinutes(5); 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/ViewModel/Validation/IValidationErrorPathExpander.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using DotVVM.Framework.Hosting; 7 | 8 | namespace DotVVM.Framework.ViewModel.Validation 9 | { 10 | public interface IValidationErrorPathExpander 11 | { 12 | void Expand(ModelState modelState, object? viewModel); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Framework/ViewModel/Validation/IViewModelValidationMetadataProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.ComponentModel.DataAnnotations; 3 | using System.Reflection; 4 | 5 | namespace DotVVM.Framework.ViewModel.Validation 6 | { 7 | public interface IViewModelValidationMetadataProvider 8 | { 9 | 10 | IEnumerable GetAttributesForProperty(MemberInfo property); 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/ViewModel/Validation/IViewModelValidator.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 DotVVM.Framework.ViewModel.Validation 8 | { 9 | public interface IViewModelValidator 10 | { 11 | IEnumerable ValidateViewModel(object? viewModel); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Framework/Framework/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Framework/Framework/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Framework/Framework/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'ts-jest', 3 | testEnvironment: 'jsdom', 4 | setupFiles: [ "./Resources/Scripts/tests/setup.js", "./Resources/Scripts/knockout-latest.debug.js" ], 5 | transform: { 6 | "^.+\\.ts$": [ "ts-jest", { 7 | 'tsconfig': 'tsconfig.jest.json' 8 | } ] 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /src/Framework/Hosting.AspNetCore/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Framework/Hosting.AspNetCore/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Framework/Hosting.Owin/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Framework/Hosting.Owin/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Framework/Testing.SeleniumHelpers/Proxies/FileUploadProxy.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Testing.SeleniumHelpers.Proxies 2 | { 3 | public class FileUploadProxy : WebElementProxyBase 4 | { 5 | public FileUploadProxy(SeleniumHelperBase helper, PathSelector selector) : base(helper, selector) 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Testing.SeleniumHelpers/Proxies/IButtonProxyBase.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Testing.SeleniumHelpers.Proxies 2 | { 3 | public interface IButtonProxyBase 4 | { 5 | void Click(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Framework/Testing.SeleniumHelpers/Proxies/LinkButtonProxy.cs: -------------------------------------------------------------------------------- 1 | using OpenQA.Selenium.Interactions; 2 | 3 | namespace DotVVM.Framework.Testing.SeleniumHelpers.Proxies 4 | { 5 | public class LinkButtonProxy : ButtonProxy 6 | { 7 | public LinkButtonProxy(SeleniumHelperBase helper, PathSelector selector) : base(helper, selector) 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Framework/Testing.SeleniumHelpers/Proxies/ListBoxProxy.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Testing.SeleniumHelpers.Proxies 2 | { 3 | public class ListBoxProxy : SelectBaseProxy 4 | { 5 | public ListBoxProxy(SeleniumHelperBase helper, PathSelector selector) : base(helper, selector) 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Testing.SeleniumHelpers/Proxies/RouteLinkProxy.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Testing.SeleniumHelpers.Proxies 2 | { 3 | public class RouteLinkProxy : ButtonProxy 4 | { 5 | public RouteLinkProxy(SeleniumHelperBase helper, PathSelector selector) : base(helper, selector) 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Framework/Testing.SeleniumHelpers/Proxies/UpdateProgressProxy.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Testing.SeleniumHelpers.Proxies 2 | { 3 | public class UpdateProgressProxy : WebElementProxyBase 4 | { 5 | public UpdateProgressProxy(SeleniumHelperBase helper, PathSelector selector) : base(helper, selector) 6 | { 7 | } 8 | 9 | public bool IsUpdateInProgress() 10 | { 11 | return FindElement().Displayed; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Framework/Testing/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Framework/Testing/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCore/DotvvmServiceConfigurator.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Configuration; 2 | using Microsoft.Extensions.DependencyInjection; 3 | 4 | namespace DotVVM.Samples.BasicSamples.Api.AspNetCore 5 | { 6 | public class DotvvmServiceConfigurator : IDotvvmServiceConfigurator 7 | { 8 | public void ConfigureServices(IDotvvmServiceCollection services) 9 | { 10 | services.AddDefaultTempStorages("temp"); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCore/DotvvmStartup.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Configuration; 2 | 3 | namespace DotVVM.Samples.BasicSamples.Api.AspNetCore 4 | { 5 | public class DotvvmStartup : IDotvvmStartup 6 | { 7 | public void Configure(DotvvmConfiguration config, string applicationPath) 8 | { 9 | config.RouteTable.Add("Generator", "", "Views/Generator.dothtml"); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCore/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "DotVVM.Samples.BasicSamples.Api.AspNetCore": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "launchUrl": "http://localhost:50001", 7 | "applicationUrl": "http://localhost:50001" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCore/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCore/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Warning" 6 | } 7 | }, 8 | "urls": "http://localhost:5001/" 9 | } 10 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCore/wwwroot/create.dir: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Samples/Api.AspNetCore/wwwroot/create.dir -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCoreLatest/DotvvmServiceConfigurator.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Configuration; 2 | using Microsoft.Extensions.DependencyInjection; 3 | 4 | namespace DotVVM.Samples.BasicSamples.Api.AspNetCoreLatest 5 | { 6 | public class DotvvmServiceConfigurator : IDotvvmServiceConfigurator 7 | { 8 | public void ConfigureServices(IDotvvmServiceCollection services) 9 | { 10 | services.AddDefaultTempStorages("temp"); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCoreLatest/DotvvmStartup.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Configuration; 2 | 3 | namespace DotVVM.Samples.BasicSamples.Api.AspNetCoreLatest 4 | { 5 | public class DotvvmStartup : IDotvvmStartup 6 | { 7 | public void Configure(DotvvmConfiguration config, string applicationPath) 8 | { 9 | config.RouteTable.Add("Generator", "", "Views/Generator.dothtml"); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCoreLatest/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "DotVVM.Samples.BasicSamples.Api.AspNetCore": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "launchUrl": "http://localhost:50001", 7 | "applicationUrl": "http://localhost:50001" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCoreLatest/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCoreLatest/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Warning" 6 | } 7 | }, 8 | "urls": "http://localhost:5003/" 9 | } 10 | -------------------------------------------------------------------------------- /src/Samples/Api.AspNetCoreLatest/wwwroot/create.dir: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Samples/Api.AspNetCoreLatest/wwwroot/create.dir -------------------------------------------------------------------------------- /src/Samples/Api.Common/Model/Company.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.BasicSamples.Api.Common.Model 2 | { 3 | public class Company 4 | { 5 | public int Id { get; set; } 6 | 7 | public string Name { get; set; } 8 | 9 | public string Owner { get; set; } 10 | 11 | public T Department { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Api.Common/Model/OrderItem.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace DotVVM.Samples.BasicSamples.Api.Common.Model 3 | { 4 | public class OrderItem 5 | { 6 | public int Id { get; set; } 7 | 8 | public string Text { get; set; } 9 | 10 | public decimal Amount { get; set; } 11 | 12 | public decimal? Discount { get; set; } 13 | 14 | public bool IsOnStock { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Samples/Api.Owin/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "DotVVM.Samples.BasicSamples.Api.Owin": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "launchUrl": "http://localhost:61453", 7 | "applicationUrl": "http://localhost:61453", 8 | "environmentVariables": { 9 | "ASPNETCORE_ENVIRONMENT": "Development" 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.AspNetCore/Connected Services/Application Insights/ConnectedService.json: -------------------------------------------------------------------------------- 1 | { 2 | "ProviderId": "Microsoft.ApplicationInsights.ConnectedService.ConnectedServiceProvider", 3 | "Version": "8.6.404.2", 4 | "GettingStartedDocument": { 5 | "Uri": "https://go.microsoft.com/fwlink/?LinkID=798432" 6 | } 7 | } -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.AspNetCore/ViewModels/Test/CorrectViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.ApplicationInsights.AspNetCore.ViewModels.Test 8 | { 9 | public class CorrectViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.AspNetCore/Views/Test/correct.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.ApplicationInsights.AspNetCore.ViewModels.Test.CorrectViewModel, DotVVM.Samples.ApplicationInsights.AspNetCore 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.AspNetCore/Views/Test/initException.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.ApplicationInsights.AspNetCore.ViewModels.Test.InitExceptionViewModel, DotVVM.Samples.ApplicationInsights.AspNetCore 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.AspNetCore/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ApplicationInsights": { 3 | "InstrumentationKey": "a03d74c6-1d9e-4a8e-b77a-9da312846cf2" 4 | } 5 | } -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.Owin/Properties/serviceDependencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "appInsights1": { 4 | "type": "appInsights", 5 | "connectionId": "APPINSIGHTS_CONNECTIONSTRING" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.Owin/Properties/serviceDependencies.local.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "appInsights1": { 4 | "resourceId": "/subscriptions/[parameters('subscriptionId')]/resourceGroups/[parameters('resourceGroupName')]/providers/microsoft.insights/components/DotvvmTrackingPoints", 5 | "type": "appInsights.azure", 6 | "connectionId": "APPINSIGHTS_CONNECTIONSTRING", 7 | "secretStore": null 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.Owin/ViewModels/Test/CorrectViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.ApplicationInsights.Owin.ViewModels.Test 8 | { 9 | public class CorrectViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.Owin/Views/Test/correct.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.ApplicationInsights.Owin.ViewModels.Test.CorrectViewModel, DotVVM.Samples.ApplicationInsights.Owin 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/ApplicationInsights.Owin/Views/Test/initException.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.ApplicationInsights.Owin.ViewModels.Test.InitExceptionViewModel, DotVVM.Samples.ApplicationInsights.Owin 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/Samples/AspNetCore/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "DotVVM.Samples.BasicSamples": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "launchUrl": "http://localhost:16019", 7 | "applicationUrl": "http://localhost:16019", 8 | "environmentVariables": { 9 | "ASPNETCORE_ENVIRONMENT": "Development" 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/AspNetCore/runtimeconfig.template.json: -------------------------------------------------------------------------------- 1 | { 2 | "configProperties": { 3 | "System.GC.Server": true 4 | } 5 | } -------------------------------------------------------------------------------- /src/Samples/AspNetCore/wwwroot/Scripts/testResource.js: -------------------------------------------------------------------------------- 1 | window.dotvvmTestResource = "testResource.js"; 2 | alert("javascript resource loaded!"); -------------------------------------------------------------------------------- /src/Samples/AspNetCore/wwwroot/Scripts/testResource2.js: -------------------------------------------------------------------------------- 1 | window.dotvvmTestResource = "testResource2.js"; 2 | alert("javascript 2 resource loaded!"); -------------------------------------------------------------------------------- /src/Samples/AspNetCore/wwwroot/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Samples/AspNetCore/wwwroot/test.zip -------------------------------------------------------------------------------- /src/Samples/AspNetCoreLatest/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "DotVVM.Samples.BasicSamples": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "launchUrl": "http://localhost:16019", 7 | "applicationUrl": "http://localhost:16019", 8 | "environmentVariables": { 9 | "ASPNETCORE_ENVIRONMENT": "Development" 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/AspNetCoreLatest/runtimeconfig.template.json: -------------------------------------------------------------------------------- 1 | { 2 | "configProperties": { 3 | "System.GC.Server": true 4 | } 5 | } -------------------------------------------------------------------------------- /src/Samples/AspNetCoreLatest/wwwroot/Scripts/testResource.js: -------------------------------------------------------------------------------- 1 | window.dotvvmTestResource = "testResource.js"; 2 | alert("javascript resource loaded!"); -------------------------------------------------------------------------------- /src/Samples/AspNetCoreLatest/wwwroot/Scripts/testResource2.js: -------------------------------------------------------------------------------- 1 | window.dotvvmTestResource = "testResource2.js"; 2 | alert("javascript 2 resource loaded!"); -------------------------------------------------------------------------------- /src/Samples/AspNetCoreLatest/wwwroot/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Samples/AspNetCoreLatest/wwwroot/test.zip -------------------------------------------------------------------------------- /src/Samples/Common/.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | -------------------------------------------------------------------------------- /src/Samples/Common/Content/testResource.css: -------------------------------------------------------------------------------- 1 | .invisibleText { display: none; } -------------------------------------------------------------------------------- /src/Samples/Common/Controls/DerivedControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using DotVVM.Framework.Binding; 5 | using DotVVM.Framework.Controls; 6 | 7 | namespace DotVVM.Samples.BasicSamples.Controls 8 | { 9 | public class DerivedControl : ServerSideStylesControl 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Localization_Resources.cs-CZ.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Samples/Common/Localization_Resources.cs-CZ.Designer.cs -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/ControlSamples_NamedCommand_ParameterStaticCommand.js: -------------------------------------------------------------------------------- 1 | export default context => new MyModule(context); 2 | 3 | class MyModule { 4 | 5 | constructor(context) { 6 | this.context = context; 7 | } 8 | 9 | callCommand(v) { 10 | this.context.namedCommands["test"](v); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/svelte/Button.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/svelte/Incrementer.svelte: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 |
7 | Svelte: {i} 8 | 9 | 10 |
11 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/svelte/Incrementer2.svelte: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/svelte/TemplateSelector.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 |
10 | c.extend({ $kokos: 1 })} /> 15 | 16 |
17 | -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/testResource.js: -------------------------------------------------------------------------------- 1 | window.dotvvmTestResource = "testResource.js"; 2 | alert("javascript resource loaded!"); -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/testResource2.js: -------------------------------------------------------------------------------- 1 | window.dotvvmTestResource = "testResource2.js"; 2 | alert("javascript 2 resource loaded!"); -------------------------------------------------------------------------------- /src/Samples/Common/Scripts/testViewModule3.js: -------------------------------------------------------------------------------- 1 | export default (context) => new Page(context); 2 | 3 | class Page { 4 | constructor(context) { 5 | this.context = context; 6 | this.appendLine("testViewModule: init"); 7 | } 8 | appendLine(text) { 9 | let info = document.createElement("div"); 10 | info.innerHTML = text; 11 | document.getElementById("log").appendChild(info) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/TestNamespace1/TestClass1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.TestNamespace1 6 | { 7 | public class TestClass1 8 | { 9 | public static string Property => "Works"; 10 | } 11 | } -------------------------------------------------------------------------------- /src/Samples/Common/TestNamespace2/SubNamespace/Class1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.TestNamespace2.SubNamespace 6 | { 7 | public class Class1 8 | { 9 | public static string Property => "Works"; 10 | } 11 | } -------------------------------------------------------------------------------- /src/Samples/Common/TestNamespace2/TestClass2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.TestNamespace2 6 | { 7 | public class TestClass2 8 | { 9 | public static string Property => "Works"; 10 | } 11 | } -------------------------------------------------------------------------------- /src/Samples/Common/TestNamespace3/TestModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.BasicSamples.TestNamespace3 2 | { 3 | public class TestModel 4 | { 5 | public string TestString { get; set; } = "Test string"; 6 | } 7 | } -------------------------------------------------------------------------------- /src/Samples/Common/TestNamespace3/WrongTestModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.BasicSamples.TestNamespace3 2 | { 3 | public class WrongTestModel 4 | { 5 | public string DifferentString { get; set; } = "Test string"; 6 | } 7 | } -------------------------------------------------------------------------------- /src/Samples/Common/Utilities/JavaScriptUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using DotVVM.Framework.Utils; 5 | 6 | namespace DotVVM.Samples.Common.Utilities 7 | { 8 | public static class JavaScriptUtils 9 | { 10 | public static string LimitLength(string text, int length) => StringUtils.LimitLength(text, length); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ComplexSamples/NamespaceCollision/NamespaceCollisionViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.ComplexSamples.DotVVM 8 | { 9 | public class NamespaceCollisionViewModel : DotvvmViewModelBase 10 | { 11 | public string Test { get; set; } = "Hello from DotVVM!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ComplexSamples/NestedComboBox/SampleDto.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 DotVVM.Samples.BasicSamples.ViewModels.ComplexSamples.NestedComboBox 8 | { 9 | public class SampleDto 10 | { 11 | public int Value { get; set; } 12 | 13 | public string Label { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ComplexSamples/SPA/DefaultViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.ComplexSamples.SPA 8 | { 9 | public class DefaultViewModel : SiteViewModel 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ComplexSamples/SPA/TestViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using DotVVM.Framework.ViewModel; 7 | 8 | namespace DotVVM.Samples.BasicSamples.ViewModels.ComplexSamples.SPA 9 | { 10 | public class TestViewModel : SiteViewModel 11 | { 12 | [Required] 13 | public string Name { get; set; } 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/CheckBox/CheckedItemsNullViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.CheckBox 4 | { 5 | public class CheckedItemsNullViewModel : WithColorsViewModel 6 | { 7 | public override Task PreRender() 8 | { 9 | Colors = null; 10 | return base.PreRender(); 11 | } 12 | 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/ContentPlaceHolder/ContentPlaceHolderMasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.ContentPlaceHolder 8 | { 9 | public class ContentPlaceHolderMasterPageViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/ContentPlaceHolder/ContentPlaceHolderPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.ContentPlaceHolder 8 | { 9 | public class ContentPlaceHolderPageViewModel : ContentPlaceHolderMasterPageViewModel 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/ContentPlaceHolder/ContentPlaceHolderPage_ContentTestViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.ContentPlaceHolder 8 | { 9 | public class ContentPlaceHolderPage_ContentTestViewModel : ContentPlaceHolderMasterPageViewModel 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/ContentPlaceHolder/DoubleContentPlaceHolderMasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.Common.ViewModels.ControlSamples.ContentPlaceHolder 8 | { 9 | public class DoubleContentPlaceHolderMasterPageViewModel : DotvvmViewModelBase 10 | { 11 | 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/EnvironmentView/EnvironmentViewTestViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.EnvironmentView 4 | { 5 | public class EnvironmentViewTestViewModel : DotvvmViewModelBase 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/HtmlLiteral/HtmlLiteralViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using DotVVM.Framework.ViewModel; 3 | 4 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.HtmlLiteral 5 | { 6 | public class HtmlLiteralViewModel : DotvvmViewModelBase 7 | { 8 | 9 | public string Html => "Hello value"; 10 | 11 | } 12 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/Repeater/CollectionIndexViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using DotVVM.Framework.ViewModel; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.Repeater 6 | { 7 | public class CollectionIndexViewModel : DotvvmViewModelBase 8 | { 9 | public List Collection { get; set; } = Enumerable.Range(0, 4).ToList(); 10 | 11 | public int Counter { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/Repeater/NestedRepeaterEntry.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.Repeater 4 | { 5 | public class NestedRepeaterEntry 6 | { 7 | public string Name { get; set; } 8 | 9 | public List Children { get; set; } 10 | 11 | public NestedRepeaterEntry Entry { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/Repeater/RepeaterWrapperTagViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.Repeater 2 | { 3 | public class RepeaterWrapperTagViewModel 4 | { 5 | public string[] Items => new[] {"1", "2", "3", "4"}; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/Repeater/RequiredResourceViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using DotVVM.Framework.ViewModel; 3 | 4 | namespace DotVVM.Samples.Common.ViewModels.ControlSamples.Repeater 5 | { 6 | public class RequiredResourceViewModel : DotvvmViewModelBase 7 | { 8 | public List Items { get; set; } = new List(0); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/RouteLink/RouteLinkEnabledFalseViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.RouteLink 6 | { 7 | public class RouteLinkEnabledFalseViewModel 8 | { 9 | } 10 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/RouteLink/RouteLinkEnabledViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.RouteLink 6 | { 7 | public class RouteLinkEnabledViewModel 8 | { 9 | public bool Enabled { get; set; } 10 | public int RouteParameter { get; set; } = 1; 11 | } 12 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/RouteLink/RouteLinkUrlGenViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.RouteLink 2 | { 3 | public class RouteLinkUrlGenViewModel 4 | { 5 | public int RouteParameter { get; set; } = 1; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/RouteLink/TestRouteViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.RouteLink 6 | { 7 | public class TestRouteViewModel 8 | { 9 | } 10 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/DefaultViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 6 | { 7 | public class DefaultViewModel : SpaMasterViewModel 8 | { 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/MultiSpaDefaultViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 6 | { 7 | public class MultiSpaDefaultViewModel : MultiSpaMasterViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/MultiSpaMasterViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using DotVVM.Framework.ViewModel; 5 | 6 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 7 | { 8 | public class MultiSpaMasterViewModel : DotvvmViewModelBase 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/Spa1PageAViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 6 | { 7 | public class Spa1PageAViewModel : MultiSpaMasterViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/Spa1PageBViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 6 | { 7 | public class Spa1PageBViewModel : MultiSpaMasterViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/Spa1Spa2ViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 6 | { 7 | public class Spa1Spa2ViewModel : MultiSpaMasterViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/Spa2PageAViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 6 | { 7 | public class Spa2PageAViewModel : MultiSpaMasterViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/Spa2PageBViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 6 | { 7 | public class Spa2PageBViewModel : MultiSpaMasterViewModel 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/SpaContentPlaceHolder_HistoryApi/SpaMasterViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using DotVVM.Framework.ViewModel; 5 | 6 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi 7 | { 8 | public class SpaMasterViewModel : DotvvmViewModelBase 9 | { 10 | public string HeaderText { get; set; } 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/TextBox/TextBoxViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.TextBox 2 | { 3 | public class TextBoxViewModel 4 | { 5 | 6 | public string TextValue => "Hello!"; 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/ControlSamples/ValidationSummary/LoginInfo.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace DotVVM.Samples.Common.ViewModels.ControlSamples.ValidationSummary 4 | { 5 | public class LoginInfo 6 | { 7 | public bool IsLoggedIn { get; set; } 8 | 9 | [Required] 10 | public string Nick { get; set; } 11 | 12 | [Required] 13 | public string Password { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/EmptyViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels 4 | { 5 | public class EmptyViewModel : DotvvmViewModelBase 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/Errors/ConfigurableHtmlControlValidation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | using DotVVM.Samples.BasicSamples.TestNamespace3; 7 | 8 | namespace DotVVM.Samples.BasicSamples.ViewModels.Errors 9 | { 10 | public class ConfigurableHtmlControlValidation : DotvvmViewModelBase 11 | { 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/Errors/CorruptedContentBetweenContentControlsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.Common.ViewModels.Errors 8 | { 9 | public class CorruptedContentBetweenContentControlsViewModel : DotVVM.Samples.BasicSamples.ViewModels.MasterPageViewModel 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/Errors/ExceptionInLifecycleViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using DotVVM.Framework.ViewModel; 7 | 8 | namespace DotVVM.Samples.Common.ViewModels.Errors 9 | { 10 | public class ExceptionInLifecycleViewModel : DotvvmViewModelBase 11 | { 12 | 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/Errors/ExceptionInRenderViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using DotVVM.Framework.ViewModel; 7 | 8 | namespace DotVVM.Samples.Common.ViewModels.Errors 9 | { 10 | public class ExceptionInRenderViewModel : DotvvmViewModelBase 11 | { 12 | 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/Errors/FieldInValueBindingViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.Errors 8 | { 9 | public class FieldInValueBindingViewModel : DotvvmViewModelBase 10 | { 11 | public string SomeField = "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/Errors/UndefinedRouteLinkParametersViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using DotVVM.Framework.ViewModel; 5 | 6 | namespace DotVVM.Samples.BasicSamples.ViewModels.Errors 7 | { 8 | public class UndefinedRouteLinkParametersViewModel : DotvvmViewModelBase 9 | { 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Api/ApiInSpa_MasterViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using DotVVM.Framework.ViewModel; 7 | 8 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.Api 9 | { 10 | public class ApiInSpa_MasterViewModel : DotvvmViewModelBase 11 | { 12 | 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/AttachedProperties/AttachedPropertiesViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.AttachedProperties 4 | { 5 | public class AttachedPropertiesViewModel : DotvvmViewModelBase 6 | { 7 | 8 | public string Test { get; set; } = "aaa"; 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/BindingNamespaces/BindingUsingNamespaceViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.BindingNamespaces 8 | { 9 | public class BindingUsingNamespaceViewModel : DotvvmViewModelBase 10 | { 11 | public static string Property => "Works"; 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/BindingPageInfo/BindingPageInfoViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading; 5 | 6 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.BindingPageInfo 7 | { 8 | public class BindingPageInfoViewModel 9 | { 10 | public void LongCommand() => Thread.Sleep(1000); 11 | } 12 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/CompilationPage/MasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.CompilationPage 8 | { 9 | public class MasterPageViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/CustomPrimitiveTypes/ITypeId.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.CustomPrimitiveTypes 4 | { 5 | public interface ITypeId 6 | { 7 | Guid IdValue { get; } 8 | } 9 | 10 | } 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/CustomPrimitiveTypes/SampleId.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Security.Cryptography; 3 | using DotVVM.Framework.ViewModel; 4 | 5 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.CustomPrimitiveTypes 6 | { 7 | public record SampleId : TypeId, IDotvvmPrimitiveType 8 | { 9 | public SampleId(Guid idValue) : base(idValue) 10 | { 11 | } 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/CustomPrimitiveTypes/SampleItem.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.CustomPrimitiveTypes 2 | { 3 | public class SampleItem 4 | { 5 | public SampleId Id { get; set; } 6 | public string Text { get; set; } 7 | } 8 | 9 | } 10 | 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Directives/ImportDirectiveInvalidViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Directives 8 | { 9 | public class ImportDirectiveInvalidViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Directives/ViewModelMissingAssemblyViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Directives 8 | { 9 | public class ViewModelMissingAssemblyViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/IdGeneration/IdGeneration.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.IdGeneration 2 | { 3 | public class IdGenerationViewModel 4 | { 5 | 6 | public string[] Items => new[] {"1", "2", "3", "4"}; 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/LiteralBinding/LiteralBinding_ZeroViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.LiteralBinding 8 | { 9 | public class LiteralBinding_ZeroViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Localization/LocalizableRouteViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using DotVVM.Framework.ViewModel; 7 | using DotVVM.Framework.Hosting; 8 | 9 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.Localization 10 | { 11 | public class LocalizableRouteViewModel : DotvvmViewModelBase 12 | { 13 | 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Localization/LocalizationNestedViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using DotVVM.Framework.Hosting; 3 | 4 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Localization 5 | { 6 | public class LocalizationNestedViewModel : MasterPageViewModel 7 | { 8 | public override Task Init() 9 | { 10 | return base.Init(); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Localization/LocalizationViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using DotVVM.Framework.Hosting; 3 | using DotVVM.Framework.ViewModel; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Localization 6 | { 7 | public class LocalizationViewModel : DotvvmViewModelBase 8 | { 9 | public override Task Init() 10 | { 11 | return base.Init(); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/MarkupControl/ComboBoxDataSourceBoundToStaticCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.MarkupControl 8 | { 9 | public class ComboBoxDataSourceBoundToStaticCollection : DotvvmViewModelBase 10 | { 11 | public int Value { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/MarkupControl/ControlCommandBindingDTO.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.MarkupControl 2 | { 3 | public class ControlCommandBindingDTO 4 | { 5 | public string Value { get; set; } = "Init"; 6 | public void Click() 7 | { 8 | Value = "changed"; 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/MarkupControl/ControlPropertyUpdatingViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.MarkupControl 6 | { 7 | public class ControlPropertyUpdatingViewModel 8 | { 9 | public string Property { get; set; } = "TEST 123"; 10 | } 11 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/MarkupControl/MultiControlHierarchyViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.MarkupControl 8 | { 9 | public class MultiControlHierarchyViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/MarkupControl/ResourceBindingInControlPropertyViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.MarkupControl 4 | { 5 | public class ResourceBindingInControlPropertyViewModel : DotvvmViewModelBase 6 | { 7 | public string SimpleProperty { get; set; } = "Sample Text"; 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/PostbackConcurrency/RedirectPostbackQueueMasterViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using DotVVM.Framework.ViewModel; 5 | 6 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.PostbackConcurrency 7 | { 8 | public class RedirectPostbackQueueMasterViewModel : DotvvmViewModelBase 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/PostbackSpaNavigation/DenyPostbacksOnSpaNavigationViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using DotVVM.Framework.ViewModel; 5 | 6 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.PostBackSpaNavigation 7 | { 8 | public class DenyPostbacksOnSpaNavigationViewModel : DotvvmViewModelBase 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Redirect/RedirectStaticCommandViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | using DotVVM.Framework.Hosting; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Redirect 8 | { 9 | public class RedirectStaticCommandViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Redirect/RedirectionHelpersViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | using DotVVM.Framework.Hosting; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Redirect 8 | { 9 | public class RedirectionHelpersViewModel : DotvvmViewModelBase 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Redirect/TransientTestService.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.Redirect 2 | { 3 | public class TransientTestService 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Resources/CdnScriptPriorityViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Resources 8 | { 9 | public class CdnScriptPriorityViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Resources/CdnUnavailableResourceLoadViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Resources 8 | { 9 | public class CdnUnavailableResourceLoadViewModel : DotvvmViewModelBase 10 | { 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Serialization/DateOnlyTimeOnlyViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using DotVVM.Framework.ViewModel; 3 | 4 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.Serialization 5 | { 6 | public class DateOnlyTimeOnlyViewModel : DotvvmViewModelBase 7 | { 8 | public DateOnly DateOnly { get; set; } = new DateOnly(2022, 9, 14); 9 | public TimeOnly TimeOnly { get; set; } = new TimeOnly(23, 56, 42, 123); 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ServerComments/ServerCommentsViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.ServerComments 4 | { 5 | public class ServerCommentsViewModel : DotvvmViewModelBase 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/UsageValidation/OverrideValidationViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.UsageValidation 8 | { 9 | public class OverrideValidationViewModel : DotvvmViewModelBase 10 | { 11 | 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModelDeserialization/NegativeLongNumberViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.ViewModelDeserialization 4 | { 5 | public class NegativeLongNumberViewModel : DotvvmViewModelBase 6 | { 7 | public long Id { get; set; } 8 | public void Postback() 9 | { 10 | Id--; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModules/ModuleInPageCommandAmbiguousViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules 4 | { 5 | public class ModuleInPageCommandAmbiguousViewModel : DotvvmViewModelBase 6 | { 7 | 8 | public ViewModulesViewModel Page { get; set; } = new ViewModulesViewModel(); 9 | 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModules/ModuleInPageMasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules 2 | { 3 | public class ModuleInPageMasterPageViewModel : ModuleMasterPageViewModel 4 | { 5 | 6 | public ViewModulesViewModel Page2 { get; set; } = new ViewModulesViewModel(); 7 | 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModules/ModuleInPageSpaMasterPage2ViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules 2 | { 3 | public class ModuleInPageSpaMasterPage2ViewModel : ModuleSpaMasterPageViewModel 4 | { 5 | 6 | } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModules/ModuleInPageSpaMasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules 2 | { 3 | public class ModuleInPageSpaMasterPageViewModel : ModuleSpaMasterPageViewModel 4 | { 5 | public ViewModulesViewModel Page2 { get; set; } = new ViewModulesViewModel(); 6 | 7 | } 8 | } 9 | 10 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModules/ModuleInPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules 4 | { 5 | public class ModuleInPageViewModel : DotvvmViewModelBase 6 | { 7 | 8 | public ViewModulesViewModel Page { get; set; } = new ViewModulesViewModel(); 9 | 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModules/ModuleMasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules 4 | { 5 | public class ModuleMasterPageViewModel : DotvvmViewModelBase 6 | { 7 | 8 | public ViewModulesViewModel Page { get; set; } = new ViewModulesViewModel(); 9 | 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/ViewModules/ModuleSpaMasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules 4 | { 5 | public class ModuleSpaMasterPageViewModel : DotvvmViewModelBase 6 | { 7 | 8 | public ViewModulesViewModel Page { get; set; } = new ViewModulesViewModel(); 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/FeatureSamples/Warnings/SelfClosingTagsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DotVVM.Framework.ViewModel; 6 | 7 | namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.Warnings 8 | { 9 | public class SelfClosingTagsViewModel : DotvvmViewModelBase 10 | { 11 | 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/InheritedViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels 4 | { 5 | public class InheritedViewModel : DotvvmViewModelBase 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/MasterPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.ViewModel; 2 | 3 | namespace DotVVM.Samples.BasicSamples.ViewModels 4 | { 5 | public class MasterPageViewModel : DotvvmViewModelBase 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/SamplesViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using DotVVM.Framework.ViewModel; 5 | 6 | namespace DotVVM.Samples.BasicSamples.ViewModels 7 | { 8 | public class SamplesViewModel : DotvvmViewModelBase 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/SpaNavigationToEmptyUrlViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Samples.BasicSamples.ViewModels 6 | { 7 | public class SpaNavigationToEmptyUrlViewModel : SamplesViewModel 8 | { 9 | 10 | public void Redirect() 11 | { 12 | Context.RedirectToRoute("Default"); 13 | } 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Samples/Common/ViewModels/TasksViewModel.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 DotVVM.Samples.BasicSamples.ViewModels 8 | { 9 | public class TasksViewModel 10 | { 11 | public List Tasks { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/Samples/Common/Views/ComplexSamples/FileUploadInRepeater/FileUploadWrapper.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ComplexSamples.FileUploadInRepeater.FileUploadInRepeaterCollection, DotVVM.Samples.Common 2 | @baseType DotVVM.Samples.BasicSamples.Views.ComplexSamples.FileUploadInRepeater.FileUploadWrapper, DotVVM.Samples.Common 3 | 4 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ComplexSamples/NamespaceCollision/NamespaceCollision.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ComplexSamples.DotVVM.NamespaceCollisionViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | {{value: Test}} 10 | 11 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ComplexSamples/NestedComboBox/OuterWrapper.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.BasicSamples.Views.ComplexSamples.NestedComboBox.OuterWrapper, DotVVM.Samples.Common 3 | 4 |
5 | 7 |
8 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ComplexSamples/SPARedirect/home.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ComplexSamples.SPARedirect.HomeViewModel 2 | @masterPage Views/ComplexSamples/SPARedirect/site.dotmaster 3 | 4 | 5 | 6 |

Welcome home.

7 | 8 | 9 | 10 |
11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ComplexSamples/SPARedirect/site.dotmaster: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Framework.ViewModel.DotvvmViewModelBase, DotVVM.Framework 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

Test App

13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ComplexSamples/ServerRendering/ArticleEditor.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.BasicSamples.Views.ComplexSamples.ServerRendering.ArticleEditor, DotVVM.Samples.Common 3 | 4 |
5 |
    6 |
  • 7 |
  • 8 |
  • 9 |
10 |
-------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/ContentPlaceHolder/ContentPlaceHolderPage.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.ContentPlaceHolder.ContentPlaceHolderPageViewModel, DotVVM.Samples.Common 2 | @masterPage Views/ControlSamples/ContentPlaceHolder/ContentPlaceHolderMasterPage.dotmaster 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/ContentPlaceHolder/ContentPlaceHolderPage_ContentTest.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.ContentPlaceHolder.ContentPlaceHolderPage_ContentTestViewModel, DotVVM.Samples.Common 2 | @masterPage Views/ControlSamples/ContentPlaceHolder/ContentPlaceHolderMasterPage.dotmaster 3 | 4 | 5 | SpecifiedContent 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/HierarchyRepeater/NodeControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.ControlSamples.HierarchyRepeater.BasicViewModel.Node, DotVVM.Samples.Common 2 | 3 |
4 | {{value: Name}} 5 | 6 |
7 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/Repeater/SampleControl/ControlWithButton.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.Views.ControlSamples.Repeater.SampleControl.ControlWithButton 3 | 4 |
5 | 7 | 8 | 9 |
10 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/Repeater/SampleControl/ControlWithButton2.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.Views.ControlSamples.Repeater.SampleControl.ControlWithButton2 3 | 4 |
5 | 7 |
8 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/RouteLink/TestRoute.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.RouteLink.TestRouteViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/SpaContentPlaceHolder_HistoryApi/Default.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi.DefaultViewModel, DotVVM.Samples.Common 2 | @masterPage Views/ControlSamples/SpaContentPlaceHolder_HistoryApi/SpaMaster.dotmaster 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/SpaContentPlaceHolder_HistoryApi/MultiSpaDefault.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.ControlSamples.SpaContentPlaceHolder_HistoryApi.MultiSpaDefaultViewModel, DotVVM.Samples.Common 2 | @masterPage Views/ControlSamples/SpaContentPlaceHolder_HistoryApi/MultiSpaMaster.dotmaster 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/TemplateHost/TemplatedMarkupControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.Views.ControlSamples.TemplateHost.TemplatedMarkupControl, DotVVM.Samples.Common 3 | 4 |
5 | {{value: _control.HeaderText}} 6 | 7 |
8 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/UpdateProgress/UpdateProgressRedirect2.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.ControlSamples.UpdateProgress.UpdateProgressRedirectViewModel, DotVVM.Samples.Common 2 | @masterPage Views/ControlSamples/UpdateProgress/UpdateProgressRedirect.dotmaster 3 | 4 | 5 | PAGE 2 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/ControlSamples/UpdateProgress/UpdateProgressRedirectSPA2.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.ControlSamples.UpdateProgress.UpdateProgressRedirectSPAViewModel, DotVVM.Samples.Common 2 | @masterPage Views/ControlSamples/UpdateProgress/UpdateProgressRedirectSPA.dotmaster 3 | 4 | 5 | PAGE 2 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Default.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.DefaultViewModel, DotVVM.Samples.Common 2 | @masterPage Views/Samples.dotmaster 3 | 4 | 5 | 6 |
  • {{resource: RouteName}}
  • 7 |
    8 |
    Number of Tests: {{resource: Routes.Count}}
    9 |
    10 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/BindingInvalidCommand.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/BindingInvalidProperty.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/ControlAsViewModel.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Framework.Controls.EmptyData, DotVVM.Framework 2 | 3 | 4 | 5 | Hello from DotVVM! 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/ControlUsageValidation.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | Template content 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/EmptyBinding.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | <%-- asdasd-- --dasda --%> 13 | 14 | {{value: }} 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/EncryptedPropertyInValueBinding.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.Errors.EncryptedPropertyInValueBindingViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | {{value: SomeProperty}} 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/FieldInValueBinding.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.Errors.FieldInValueBindingViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | {{value: SomeField}} 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/InvalidLocationFallback.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel object 2 | 3 | 4 | 5 | 6 | Invalid LocationFallback 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/InvalidServiceDirective.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel System.Object 2 | @service TestService = DotVVM.InvalidNamespace.NonExistingService 3 | 4 | 5 | 6 | 7 | A page with invalid @service directive 8 | 9 | 10 |

    A page with invalid @service directive

    11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/InvalidViewModel.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel invalid_viewmodel_class 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 |

    Hello!

    10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MalformedBinding.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MarkupControlInvalidViewModel.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.TestNamespace3.TestModel, DotVVM.Samples.Common 2 | 3 | {{value: TestString}} 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MarkupControlPropertiesSameName.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel object 2 | 3 | @property int MyProperty 4 | @property bool MyProperty 5 | 6 | {{value: _control.MyProperty}} 7 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MarkupControlPropertiesSameName.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel object 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MarkupControlPropertiesSameNameWithBase.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel object 2 | @baseType DotVVM.Samples.Common.ViewModels.Errors.MarkupControlPropertiesSameNameWithBase 3 | 4 | @property bool MyProperty 5 | 6 | {{value: _control.MyProperty}} 7 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MarkupControlPropertiesSameNameWithBase.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel object 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/Master.dotmaster: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.MasterPageViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MasterPageRequiresDifferentViewModel.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | @masterPage Views/Errors/Master.dotmaster 3 | 4 | 5 | @viewmodel is not inherited from masterpage viewmodel 6 | 7 | !!! In error page, viewModel directive should by underlined !!! 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MissingRequiredProperty.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.TasksViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | Hello from DotVVM! 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/MissingViewModel.dothtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Directive @ViewModel is missing 9 | 10 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/NonExistingControl.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/NotAllowedHardCodedPropertyValue.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/ResourceCircularDependency.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel object 2 | 3 | 4 | 5 | 6 | Resource Circular Dependency Sample 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/UnknownInnerControl.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/Errors/WrongPropertyValue.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.EmptyViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | Hello from DotVVM! 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/CompilationPage/ControlError.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | {{value: "Control rendered" }} -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/CompilationPage/MasterPage.dotmaster: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.CompilationPage.MasterPageViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | DotVVM Compilation Page Sample 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/CompilationPage/NestedControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | {{value: "Control rendered" }} -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/CompilationPage/control.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | {{value: "Control rendered" }} -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/CompilationPage/nestedControlParent.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | {{value: "Control rendered" }} 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/EmbeddedResourceControls/EmbeddedResourceControls.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.EmbeddedResourceControls.EmbeddedResourceControlsViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/IdGeneration/IdGeneration_control.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.IdGeneration.IdGenerationViewModel, DotVVM.Samples.Common 2 | 3 |
    4 |
    5 |
    6 |
    7 |
    8 |
    9 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/Control1.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.Views.FeatureSamples.MarkupControl.Control1, DotVVM.Samples.Common 3 | 4 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/Control2.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.Views.FeatureSamples.MarkupControl.Control2, DotVVM.Samples.Common 3 | 4 | 5 |
  • {{value: _this}}
  • 6 |
    -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ControlCommandBinding.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.ViewModels.FeatureSamples.MarkupControl.ControlCommandBinding, DotVVM.Samples.Common 3 | 4 |
    5 | 6 | 7 | {{value: Value}} 8 |
    -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ControlControlCommandInvokeAction.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.Views.FeatureSamples.MarkupControl.ControlControlCommandInvokeAction, DotVVM.Samples.Common 3 | 4 | 7 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ControlPropertyUpdating.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object 2 | @baseType DotVVM.Samples.BasicSamples.Views.FeatureSamples.MarkupControl.ControlPropertyUpdating, DotVVM.Samples.Common 3 | 4 | {{controlProperty: ControlProperty + " HUHA"}} 5 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ControlPropertyValidation.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.BasicSamples.Views.FeatureSamples.MarkupControl.ControlPropertyValidation, DotVVM.Samples.Common 3 | 4 |
    5 | 6 | 7 | VALIDATION ERROR 8 | 9 |
    -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ControlValueBindingWithCommand.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.ViewModels.FeatureSamples.MarkupControl.ControlCommandBinding, DotVVM.Samples.Common 3 | 4 |
    5 | 6 | {{value: Value}} 7 |
    -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/HierarchicalItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.Common.Views.FeatureSamples.MarkupControl 6 | { 7 | public class HierarchicalItem 8 | { 9 | public string Title { get; set; } 10 | public List Children { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/MyButton.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.BasicSamples.Views.FeatureSamples.MarkupControl.MyButton, DotVVM.Samples.Common 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ServiceDependency/ScopedTestService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.Samples.Common.Views.FeatureSamples.MarkupControl.ServiceDependency 6 | { 7 | public class ScopedTestService 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ServiceDependency/ServiceDependencyControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.Common.Views.FeatureSamples.MarkupControl.ServiceDependency.ServiceDependencyControl, DotVVM.Samples.Common 3 | This control has scoped dependency in constructor. This sample tests that compilation page can resolve this dependency and compile the control correctly. 4 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/ServiceDependency/SingletonTestService.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Samples.Common.Views.FeatureSamples.MarkupControl.ServiceDependency 2 | { 3 | public class SingletonTestService 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/MarkupControl/TextEditorControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @baseType DotVVM.Samples.BasicSamples.Views.FeatureSamples.MarkupControl.TextEditorControl, DotVVM.Samples.Common 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/NestedMasterPages/Content.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.MasterPageViewModel, DotVVM.Samples.Common 2 | @masterPage Views/FeatureSamples/NestedMasterPages/Nested.dotmaster 3 | 4 | 5 |

    Root -> Nested -> This content

    6 |
    -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/NestedMasterPages/Nested.dotmaster: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.MasterPageViewModel, DotVVM.Samples.Common 2 | @masterPage Views/FeatureSamples/NestedMasterPages/Root.dotmaster 3 | 4 |

    Nested Masterpage

    5 | 6 |
    7 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/NestedMasterPages/Root.dotmaster: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.MasterPageViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

    Masterpage Root

    11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/PostbackSpaNavigation/PageB.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.PostBackSpaNavigation.PageBViewModel, DotVVM.Samples.Common 2 | @masterPage Views/FeatureSamples/PostbackSpaNavigation/DenyPostbacksOnSpaNavigation.dotmaster 3 | 4 | 5 | 6 |

    Navigation success

    7 | 8 |

    {{value: Result}}

    9 | 10 |
    11 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/Redirect/RedirectionHelpers_PageA.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Redirect.RedirectionHelpersViewModel , DotVVM.Samples.Common 2 | 3 | 4 | Hello from DotVVM! 5 | 6 | 7 |
    8 |

    Hello from PageA

    9 |
    10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/Redirect/RedirectionHelpers_PageB.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Redirect.RedirectionHelpersViewModel , DotVVM.Samples.Common 2 | 3 | 4 | Hello from DotVVM! 5 | 6 | 7 |
    8 |

    Hello from PageB

    9 |
    10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/Redirect/RedirectionHelpers_PageC.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Redirect.RedirectionHelpersViewModel , DotVVM.Samples.Common 2 | 3 | 4 | Hello from DotVVM! 5 | 6 | 7 |
    8 |

    Hello from PageC

    9 |
    10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/Redirect/RedirectionHelpers_PageD.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Redirect.RedirectionHelpersViewModel , DotVVM.Samples.Common 2 | 3 | 4 | Hello from DotVVM! 5 | 6 | 7 |
    8 |

    Hello from PageD

    9 |
    10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/Redirect/RedirectionHelpers_PageE.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Redirect.RedirectionHelpersViewModel , DotVVM.Samples.Common 2 | 3 | 4 | Hello from DotVVM! 5 | 6 | 7 |
    8 |

    Hello from PageE

    9 |
    10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/Resources/CdnScriptPriority.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.FeatureSamples.Resources.CdnScriptPriorityViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/ViewModules/InnerModuleControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | 3 |
    4 | This control does not contain @JS directive. Therefore no module should be registered on this view. 5 |
    6 | {{value: "Loaded"}} 7 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/ViewModules/LinkModuleControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel object 2 | @baseType DotVVM.Samples.Common.Views.FeatureSamples.ViewModules.LinkModuleControl 3 | @js FeatureSamples_Resources_TestViewModule 4 | 5 | ("buildQuery", _control.Page, _control.QueryParameters)} data-ui="test-link" InnerText={value: _control.Text}/> 6 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/ViewModules/ModuleInPageSpaMasterPage2.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.ViewModules.ModuleInPageSpaMasterPage2ViewModel, DotVVM.Samples.Common 2 | @masterPage Views/FeatureSamples/ViewModules/ModuleSpaMasterPage.dotmaster 3 | 4 | 5 | 6 |

    No module here

    7 | 8 |
    9 | 10 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/FeatureSamples/ViewModules/OuterModuleControl.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel System.Object, mscorlib 2 | @js FeatureSamples_Resources_TestViewModule3 3 | 4 |
    5 | This control contain @js module and should register this view to inited modules. 6 | 7 |
    8 | -------------------------------------------------------------------------------- /src/Samples/Common/Views/SpaNavigationToEmptyUrl.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.BasicSamples.ViewModels.SpaNavigationToEmptyUrlViewModel, DotVVM.Samples.Common 2 | @masterPage Views/Samples.dotmaster 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Samples/Common/rebuild-apis.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env powershell 2 | 3 | dotnet run --project ../DotVVM.CommandLine/ -- api regen ./GithubApiClient.cs 4 | 5 | tsc ./Scripts/GithubApiClient.ts 6 | 7 | git checkout ./GithubApiClient.cs # the generation of C# is broken for some reason -> revert it 8 | -------------------------------------------------------------------------------- /src/Samples/Common/regen_api_client.cmd: -------------------------------------------------------------------------------- 1 | dotnet ..\..\Tools\CommandLine\bin\Debug\net6.0\dotnet-dotvvm.dll api regen http://localhost:50001/swagger/v1/swagger.json 2 | tsc .\Scripts\TestWebApiClientAspNetCore.ts 3 | 4 | dotnet ..\..\Tools\CommandLine\bin\Debug\net6.0\dotnet-dotvvm.dll api regen http://localhost:61453/swagger/v1/swagger.json 5 | tsc .\Scripts\TestWebApiClientOwin.ts 6 | -------------------------------------------------------------------------------- /src/Samples/Common/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "noImplicitAny": false, 4 | "noEmitOnError": true, 5 | "removeComments": false, 6 | "sourceMap": true, 7 | "jsx": "react", 8 | "target": "es6", 9 | "lib": [ 10 | "dom", 11 | "es2015" 12 | ] 13 | }, 14 | "exclude": [ 15 | "node_modules", 16 | "wwwroot" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/Samples/Common/tsconfig.react.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "noImplicitAny": false, 4 | "noEmitOnError": true, 5 | "removeComments": false, 6 | "sourceMap": true, 7 | "jsx": "react", 8 | "target": "ES6", 9 | "moduleResolution": "node", 10 | "lib": [ 11 | "dom", 12 | "ES6" 13 | ] 14 | }, 15 | "include": [ 16 | "Scripts/react/**/*" 17 | ], 18 | 19 | "exclude": [ 20 | "node_modules", 21 | "wwwroot", 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /src/Samples/EmbeddedResourceControls/Button.dotcontrol: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.EmbeddedResourceControls.EmbeddedResourceControlsViewModel, DotVVM.Samples.Common 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/Samples/EmbeddedResourceControls/EmbeddedResourceView.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.EmbeddedResourceControls.EmbeddedResourceControlsViewModel, DotVVM.Samples.Common 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Samples/MiniProfiler.AspNetCore/Views/page1.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.MiniProfiler.AspNetCore.ViewModels.Page1ViewModel 2 | @masterPage Views/default.dotmaster 3 | 4 | 5 | 6 |

    Page1 Content

    7 | 8 |
    9 | 10 | -------------------------------------------------------------------------------- /src/Samples/MiniProfiler.AspNetCore/Views/page2.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotVVM.Samples.MiniProfiler.AspNetCore.ViewModels.Page2ViewModel 2 | @masterPage Views/default.dotmaster 3 | 4 | 5 | 6 |

    Page2 Content

    7 | 8 |
    9 | 10 | -------------------------------------------------------------------------------- /src/Samples/Owin/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "DotVVM.Samples.BasicSamples.Owin": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "launchUrl": "http://localhost:65481", 7 | "applicationUrl": "http://localhost:65481", 8 | "environmentVariables": { 9 | "ASPNETCORE_ENVIRONMENT": "Development" 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Owin/Scripts/testResource.js: -------------------------------------------------------------------------------- 1 | window.dotvvmTestResource = "testResource.js"; 2 | alert("javascript resource loaded!"); -------------------------------------------------------------------------------- /src/Samples/Owin/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dotvvm", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": {} 6 | } 7 | -------------------------------------------------------------------------------- /src/Samples/Owin/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Samples/Owin/test.zip -------------------------------------------------------------------------------- /src/Samples/Tests/Abstractions/SampleReferenceAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Testing.Abstractions 4 | { 5 | [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] 6 | public class SampleReferenceAttribute : Attribute 7 | { 8 | public string SampleName { get; } 9 | 10 | public SampleReferenceAttribute(string sampleName) 11 | { 12 | SampleName = sampleName; 13 | } 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Samples/Tests/CompletenessChecker/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Base/TimeoutAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Samples.Tests.Base 4 | { 5 | public class TimeoutAttribute : Attribute 6 | { 7 | public TimeoutAttribute(int i) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Extensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Samples.Tests 4 | { 5 | public static class Extensions 6 | { 7 | public static bool Contains(this string text, string value, StringComparison comparison) 8 | { 9 | 10 | return text.IndexOf(value, comparison) > -1; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Profiles/seleniumconfig.aspnetcore.chrome.json: -------------------------------------------------------------------------------- 1 | { 2 | "factories": { 3 | "chrome:fast": { 4 | "capabilities": [ "--headless", "--no-sandbox" ] 5 | } 6 | }, 7 | "baseUrls": [ 8 | "http://localhost:16018/" 9 | ], 10 | "testRunOptions": { 11 | "runInParallel": false, 12 | "testAttemptsCount": 2 13 | }, 14 | "logging": { 15 | "loggers": { 16 | "testContext": {} 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Profiles/seleniumconfig.aspnetcore.firefox.json: -------------------------------------------------------------------------------- 1 | { 2 | "factories": { 3 | "firefox:fast": {} 4 | }, 5 | "baseUrls": [ 6 | "http://localhost:16018/" 7 | ], 8 | "testRunOptions": { 9 | "runInParallel": false, 10 | "testAttemptsCount": 2 11 | }, 12 | "logging": { 13 | "loggers": { 14 | "testContext": {} 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Profiles/seleniumconfig.aspnetcorelatest.chrome.json: -------------------------------------------------------------------------------- 1 | { 2 | "factories": { 3 | "chrome:fast": { 4 | "capabilities": [ "--no-sandbox" ] 5 | } 6 | }, 7 | "baseUrls": [ 8 | "http://localhost:16019/" 9 | ], 10 | "testRunOptions": { 11 | "runInParallel": false, 12 | "testAttemptsCount": 2 13 | }, 14 | "logging": { 15 | "loggers": { 16 | "testContext": {} 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Profiles/seleniumconfig.aspnetcorelatest.firefox.json: -------------------------------------------------------------------------------- 1 | { 2 | "factories": { 3 | "firefox:fast": {} 4 | }, 5 | "baseUrls": [ 6 | "http://localhost:16019/" 7 | ], 8 | "testRunOptions": { 9 | "runInParallel": false, 10 | "testAttemptsCount": 2 11 | }, 12 | "logging": { 13 | "loggers": { 14 | "testContext": {} 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Profiles/seleniumconfig.owin.chrome.json: -------------------------------------------------------------------------------- 1 | { 2 | "factories": { 3 | "chrome:fast": { 4 | "capabilities": [ "--headless" ] 5 | } 6 | }, 7 | "baseUrls": [ 8 | "http://localhost:5407/" 9 | ], 10 | "testRunOptions": { 11 | "runInParallel": false, 12 | "testAttemptsCount": 2 13 | }, 14 | "logging": { 15 | "loggers": { 16 | "testContext": {} 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/Profiles/seleniumconfig.owin.firefox.json: -------------------------------------------------------------------------------- 1 | { 2 | "factories": { 3 | "firefox:fast": {} 4 | }, 5 | "baseUrls": [ 6 | "http://localhost:5407/" 7 | ], 8 | "testRunOptions": { 9 | "runInParallel": false, 10 | "testAttemptsCount": 2 11 | }, 12 | "logging": { 13 | "loggers": { 14 | "testContext": {}, 15 | "debug": {}, 16 | "Stdout": {}, 17 | "trace": {} 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Samples/Tests/Tests/seleniumconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "factories": { 3 | "firefox:fast": {} 4 | }, 5 | "baseUrls": [ 6 | "http://localhost:16019/" 7 | ], 8 | "testRunOptions": { 9 | "runInParallel": false, 10 | "testAttemptsCount": 2 11 | }, 12 | "logging": { 13 | "loggers": { 14 | "testContext": {} 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Templates/content/EmptyWeb/.dotvvm.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "projectName": "DotvvmApplication1", 4 | "rootNamespace": "DotvvmApplication1", 5 | "uiTestProjectPath": null, 6 | "uiTestProjectRootNamespace": null 7 | } -------------------------------------------------------------------------------- /src/Templates/content/EmptyWeb/.template.config/dotnetcli.host.json: -------------------------------------------------------------------------------- 1 | { 2 | "symbolInfo": { 3 | "IncludeApplicationInsights": { 4 | "isHidden": "true" 5 | }, 6 | "Framework": { 7 | "longName": "framework" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Templates/content/EmptyWeb/Pages/Default/default.dothtml: -------------------------------------------------------------------------------- 1 | @viewModel DotvvmApplication1.ViewModels.DefaultViewModel, DotvvmApplication1 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

    {{value: Title}}

    11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Templates/content/EmptyWeb/wwwroot/-.-: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Templates/content/EmptyWeb/wwwroot/-.- -------------------------------------------------------------------------------- /src/Tests/.gitignore: -------------------------------------------------------------------------------- 1 | coveragereport 2 | coveragereport.zip 3 | -------------------------------------------------------------------------------- /src/Tests/Binding/TestNamespace1/TestClass1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Framework.Tests.Binding.TestNamespace1 6 | { 7 | public class TestClass1 8 | { 9 | public static string Property => "Works"; 10 | } 11 | } -------------------------------------------------------------------------------- /src/Tests/Binding/TestNamespace2/TestClass2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace DotVVM.Framework.Tests.Binding.TestNamespace2 6 | { 7 | public class TestClass2 8 | { 9 | public static string Property => "Works 2"; 10 | } 11 | } -------------------------------------------------------------------------------- /src/Tests/Binding/testoutputs/BindingCompilationTests.Error_DifferentDataContext.txt: -------------------------------------------------------------------------------- 1 | WrongDataContextTypeException occurred: Could not evaluate binding {resource: _this + 'aaa'}, data context _this: string was expected, but got int. Control has the following contexts: int 2 | at void DotVVM.Framework.Compilation.BindingCompiler+ParameterReplacementVisitor+CodegenHelpers.ThrowWrongContextType(ErrorInfo errorInfo, object receivedObject, DotvvmBindableObject evaluatingControl) 3 | -------------------------------------------------------------------------------- /src/Tests/Binding/testoutputs/BindingCompilationTests.Error_MissingDataContext.txt: -------------------------------------------------------------------------------- 1 | NotEnoughDataContextsException occurred: Could not evaluate binding {resource: _parent.StringProp}, data context _parent: TestViewModel does not exist. Control has the following contexts: string 2 | at void DotVVM.Framework.Compilation.BindingCompiler+ParameterReplacementVisitor+CodegenHelpers.ThrowNotEnoughDataContexts(ErrorInfo errorInfo, DotvvmBindableObject evaluatingControl) 3 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/AutoUITests.BasicEditor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/AutoUITests.EnumEditor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/CompositeControlTests.ClassBindingControl.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
    7 | 8 | 9 |
    10 | 11 | 12 |
    13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/CompositeControlTests.CompositeControlInheritance.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    Text1
    5 |

    SecondText1.1

    6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/DotvvmErrorTests.HtmlLiteral_InvalidWrapperTagUsage2.txt: -------------------------------------------------------------------------------- 1 | DotvvmControlException occurred: Cannot set HTML attributes, Visible, ID, Postback.Update, ... bindings on a control which does not render its own element! 2 | at void DotVVM.Framework.Controls.HtmlGenericControl.EnsureNoAttributesSet(in RenderState r) 3 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/MarkupControlTests.MarkupControl_JsInvoke.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/MarkupControlTests.MarkupControl_UpdateSource.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/MarkupControlTests.PropertyDirectiveWithResourceBinding.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 |

    test

    6 |
    7 |
    8 |

    test

    9 |
    10 |
    11 |
    12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/ResourceDataContextTests.BasicDataContext.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | Server o. Customer 6 | 7 | 8 |
    9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/ServerSideStyleTests.CapabilitySetting.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 |
    6 | 7 | 8 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/ServerSideStyleTests.CloneTemplateTranslation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 |
    You are not authorized, btw.
    6 |
    7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/ServerSideStyleTests.ContentCapabilityReads.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | Test 6 |
    7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/SimpleControlTests.Auth.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IsAuthenticated: True 5 |
    6 | Only for admins 7 |
    8 | Only for authenticated users not member 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/SimpleControlTests.CurlyBraceEscaping.raw.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CDATA: <span>{{value: Label}}</span> 7 | 8 |
    9 | 10 | Escape sequence: {{value: Label}} 11 | 12 |
    13 | 14 | Lazy escaping: {{value: Label}} 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/SimpleControlTests.CurlyBraceEscaping.reparsed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CDATA: <span>{{value: Label}}</span> 5 |
    6 | Escape sequence: {{value: Label}} 7 |
    8 | Lazy escaping: {{value: Label}} 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/SimpleControlTests.Decorator.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 |
    6 | 7 | 8 |
    9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/SimpleControlTests.HtmlLiteral.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
    some text
    7 | 8 | 9 |
    My Label
    10 | 11 | 12 | 13 | 14 | some text 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/Tests/ControlTests/testoutputs/SimpleControlTests.IncludeInPage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | not included 6 | 7 | 8 | included 9 |
    10 | 11 | returns null -> included 12 |
    13 | 14 | value binding 15 |
    16 | 17 | value binding + DataContext 18 |
    19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/Tests/GlobalUsings.cs: -------------------------------------------------------------------------------- 1 | global using XAssert = Xunit.Assert; 2 | -------------------------------------------------------------------------------- /src/Tests/Runtime/ControlTree/DefaultControlTreeResolver/ControlWithInheritedRules.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Tests.Runtime.ControlTree.DefaultControlTreeResolver 2 | { 3 | public class ControlWithInheritedRules : ControlWithValidationRules 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/Tests/Runtime/ControlTree/DefaultControlTreeResolver/DefaultControlResolverTestViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace DotVVM.Framework.Tests.Runtime.ControlTree.DefaultControlTreeResolver 4 | { 5 | public class DefaultControlResolverTestViewModel 6 | { 7 | public List Items { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Tests/Runtime/ControlTree/DefaultControlTreeResolver/TestService.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Tests.Runtime.ControlTree.DefaultControlTreeResolver 2 | { 3 | public class TestService 4 | { 5 | public void TestCall() { } 6 | public string TestCallWithReturn() { return ""; } 7 | public string TestCallWithReturnAndParameters(int a, string b) { return ""; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Tests/Runtime/ControlTree/DefaultControlTreeResolver/TestServiceGeneric.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Tests.Runtime.ControlTree.DefaultControlTreeResolver 2 | { 3 | public class TestServiceGeneric 4 | where Q : new() 5 | where T : new() 6 | { 7 | public void TestCall() { } 8 | public Q TestCallWithReturn() { return new Q(); } 9 | public T TestCallWithReturnAndParameters(int a, string b) { return new T(); } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Tests/Runtime/config-tests/ConfigurationSerializationTests.SerializeEmptyConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "dotvvmVersion": "*.*.*.*", 3 | "config": { 4 | "markup": { 5 | "ViewCompilation": {} 6 | }, 7 | "resources": {}, 8 | "security": {}, 9 | "runtime": {}, 10 | "defaultCulture": "en-US", 11 | "experimentalFeatures": {}, 12 | "diagnostics": { 13 | "compilationPage": {}, 14 | "perfWarnings": {} 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Tests/Runtime/config-tests/ConfigurationValidationTests.ValidateMissingRoutes.txt: -------------------------------------------------------------------------------- 1 | DotvvmConfigurationException occurred: Route 'b' included in feature flag RequireSecFetchHeaders, LazyCsrfToken and excluded in feature flag XssProtectionHeader is not registered in the RouteTable 2 | Route 'c' included in feature flag RequireSecFetchHeaders is not registered in the RouteTable 3 | at void DotVVM.Framework.Routing.RouteHelper.ValidateFeatureFlags(DotvvmConfiguration config) 4 | -------------------------------------------------------------------------------- /src/Tests/Runtime/testoutputs/DotvvmControlRenderedHtmlTests.Button_ClickArgumentsCommand-Button_ClickArgumentsCommand.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/Tests/Runtime/testoutputs/ErrorPageTests.SerializationDelegates.json: -------------------------------------------------------------------------------- 1 | { 2 | "func": "[delegate System.Func]", 3 | "funcObj": "[delegate System.Func]", 4 | "dynamicMethod": "[delegate System.Func]" 5 | } 6 | -------------------------------------------------------------------------------- /src/Tests/Runtime/testoutputs/ErrorPageTests.SerializationDotvvmProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "normal": "DotvvmControl.IncludeInPage", 3 | "interfaceType": "DotvvmControl.IncludeInPage", 4 | "alias": "TestObject.Alias", 5 | "withFallback": "ButtonBase.Enabled", 6 | "capability": "ButtonBase.TextOrContentCapability", 7 | "group": "DotVVM.Framework.Compilation.ControlTree.DotvvmPropertyGroup", 8 | "groupMember": "HtmlGenericControl.Attributes:class" 9 | } 10 | -------------------------------------------------------------------------------- /src/Tests/Runtime/testoutputs/ErrorPageTests.SerializationReflectionAssembly.json: -------------------------------------------------------------------------------- 1 | { 2 | "assembly": "System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", 3 | "assemblyObj": "System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", 4 | "assemblyInterface": "System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" 5 | } 6 | -------------------------------------------------------------------------------- /src/Tests/Runtime/testoutputs/ErrorPageTests.SerializationReflectionType.json: -------------------------------------------------------------------------------- 1 | { 2 | "plainType": "string", 3 | "plainTypeObj": "string", 4 | "plainTypeInterface": "System.String", 5 | "nullableType": "int?", 6 | "genericType": "System.Collections.Generic.List", 7 | "typeDescriptor": "System.String", 8 | "typeDescriptorInterface": "System.String", 9 | "typeDescriptorObj": "System.String" 10 | } 11 | -------------------------------------------------------------------------------- /src/Tests/Runtime/testoutputs/RuntimeErrorTests.DataContextStack_ToString.txt: -------------------------------------------------------------------------------- 1 | (type=int, imports=[import(System), import(Text=System.Text)], ext=[_index: int], par=[string, RuntimeErrorTests]) 2 | -------------------------------------------------------------------------------- /src/Tests/Runtime/testoutputs/RuntimeErrorTests.NonExistentBindingProperty.txt: -------------------------------------------------------------------------------- 1 | BindingPropertyException occurred: Unable to get property OriginalStringBindingProperty, resolver not found. Binding: {value: 12}. 2 | at void DotVVM.Framework.Tests.Runtime.RuntimeErrorTests.NonExistentBindingProperty()+() => { } 3 | -------------------------------------------------------------------------------- /src/Tests/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /src/Tests/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tests/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tools/CommandLine/ApiClientFetchOptions.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | using System.Text.Json.Serialization; 3 | 4 | namespace DotVVM.CommandLine 5 | { 6 | public class ApiClientFetchOptions 7 | { 8 | [DefaultValue("same-origin")] 9 | [JsonPropertyName("credentials")] 10 | public string Credentials { get; set; } = "same-origin"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Tools/CommandLine/OpenApi/Client.Method.Annotations.liquid: -------------------------------------------------------------------------------- 1 | [DotVVM.Framework.Configuration.RestApiRegistrationHelpers.HttpMethod("{{ operation.HttpMethodUpper }}")] 2 | [DotVVM.Framework.Configuration.RestApiRegistrationHelpers.MethodUrl("{{ operation.Path }}{% for parameter in operation.QueryParameters %}/{{ parameter.VariableName | prepend:'{' }}}{% endfor %}")] 3 | [DotVVM.Framework.Configuration.RestApiRegistrationHelpers.AutoRefreshKey("{{ operation.AutoRefreshKey }}")] 4 | -------------------------------------------------------------------------------- /src/Tools/CommandLine/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tools/CommandLine/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tools/Compiler/ICompilerExecutor.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Compiler 2 | { 3 | public interface ICompilerExecutor 4 | { 5 | bool ExecuteCompile(CompilerArgs args); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Tools/Compiler/IsExternalInit.cs: -------------------------------------------------------------------------------- 1 | #if !NET5_0_OR_GREATER 2 | 3 | using System.Diagnostics; 4 | using System.Diagnostics.CodeAnalysis; 5 | 6 | namespace System.Runtime.CompilerServices 7 | { 8 | [DebuggerNonUserCode] 9 | [ExcludeFromCodeCoverage] 10 | internal static class IsExternalInit {} 11 | } 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/Tools/Compiler/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tools/Compiler/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tools/HotReload/AspNetCore/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tools/HotReload/AspNetCore/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tools/HotReload/Common/IMarkupFileChangeNotifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace DotVVM.HotReload 6 | { 7 | public interface IMarkupFileChangeNotifier 8 | { 9 | 10 | void NotifyFileChanged(IEnumerable virtualPaths); 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Tools/HotReload/Common/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tools/HotReload/Common/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tools/HotReload/Owin/Configuration/AppBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Owin; 2 | using Microsoft.Owin; 3 | using System; 4 | using Microsoft.AspNet.SignalR; 5 | 6 | namespace Microsoft.Owin 7 | { 8 | public static class AppBuilderExtensions 9 | { 10 | 11 | public static void UseDotvvmHotReload(this IAppBuilder app) 12 | { 13 | app.MapSignalR(); 14 | } 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Tools/HotReload/Owin/Configuration/DotvvmViewHotReloadOptions.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.HotReload.Owin.Configuration 2 | { 3 | public class DotvvmHotReloadOptions 4 | { 5 | 6 | public bool RegisterSignalrHubs { get; set; } = true; 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Tools/HotReload/Owin/Hubs/DotvvmViewHotReloadHub.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNet.SignalR; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace DotVVM.HotReload.Owin.Hubs 6 | { 7 | public class DotvvmHotReloadHub : Hub 8 | { 9 | internal static void NotifyFileChanged(IHubContext context, IEnumerable virtualPaths) 10 | { 11 | context.Clients.All.fileChanged(virtualPaths); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Tools/HotReload/Owin/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tools/HotReload/Owin/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tools/SeleniumGenerator/ISeleniumGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Tools.SeleniumGenerator 4 | { 5 | public interface ISeleniumGenerator 6 | { 7 | Type ControlType { get; } 8 | 9 | void AddDeclarations(PageObjectDefinition pageObject, SeleniumGeneratorContext context); 10 | 11 | bool CanAddDeclarations(PageObjectDefinition pageObject, SeleniumGeneratorContext context); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Tools/SeleniumGenerator/ISeleniumPageObjectVisitor.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.ControlTree.Resolved; 2 | 3 | namespace DotVVM.Framework.Tools.SeleniumGenerator 4 | { 5 | public interface ISeleniumPageObjectVisitor : IResolvedControlTreeVisitor 6 | { 7 | void PushScope(PageObjectDefinition definition); 8 | PageObjectDefinition PopScope(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Tools/SeleniumGenerator/Modifications/MarkupFileInsertText.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace DotVVM.Framework.Tools.SeleniumGenerator.Modifications 4 | { 5 | public class MarkupFileInsertText : MarkupFileModification 6 | { 7 | public virtual string Text { get; set; } 8 | public override void Apply(StringBuilder markupFile) 9 | { 10 | markupFile.Insert(Position, Text); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Tools/SeleniumGenerator/Modifications/MarkupFileModification.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace DotVVM.Framework.Tools.SeleniumGenerator.Modifications 4 | { 5 | public abstract class MarkupFileModification 6 | { 7 | public int Position { get; set; } 8 | 9 | public abstract void Apply(StringBuilder markupFile); 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Tools/SeleniumGenerator/PageObjectDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace DotVVM.Framework.Tools.SeleniumGenerator 4 | { 5 | public class PageObjectDefinitionImpl: PageObjectDefinition 6 | { 7 | public PageObjectDefinitionImpl(string name, string @namespace) 8 | { 9 | Name = name ?? throw new ArgumentNullException(nameof(name)); 10 | Namespace = @namespace ?? throw new ArgumentNullException(nameof(name)); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Tools/SeleniumGenerator/SeleniumGeneratorConfiguration.cs: -------------------------------------------------------------------------------- 1 | namespace DotVVM.Framework.Tools.SeleniumGenerator 2 | { 3 | public class SeleniumGeneratorConfiguration 4 | { 5 | public string TargetNamespace { get; set; } 6 | 7 | public string PageObjectName { get; set; } 8 | 9 | public string PageObjectFileFullPath { get; set; } 10 | 11 | public string ViewFullPath { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Tools/StartupPerfTester/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "DotVVM.Tools.StartupPerfTester": { 4 | "commandName": "Project", 5 | "commandLineArgs": "-t owin -r 1" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Tools/StartupPerfTester/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tools/StartupPerfTester/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tools/Tests/SeleniumGenerator/Visitors/SeleniumGeneratorTestsVisitor.cs: -------------------------------------------------------------------------------- 1 | using DotVVM.Framework.Compilation.ControlTree.Resolved; 2 | 3 | namespace DotVVM.Testing.SeleniumGenerator.Tests.Visitors 4 | { 5 | public class SeleniumGeneratorTestsVisitor : ResolvedControlTreeVisitor 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /src/Tracing/ApplicationInsights.AspNetCore/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tracing/ApplicationInsights.AspNetCore/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tracing/ApplicationInsights.Owin/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tracing/ApplicationInsights.Owin/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tracing/ApplicationInsights/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tracing/ApplicationInsights/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tracing/MiniProfiler.AspNetCore/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tracing/MiniProfiler.AspNetCore/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tracing/MiniProfiler.Owin/dotvvmwizard.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/Tracing/MiniProfiler.Owin/dotvvmwizard.snk -------------------------------------------------------------------------------- /src/Tracing/MiniProfiler.Shared/DotvvmTimingStorage.cs: -------------------------------------------------------------------------------- 1 | using StackExchange.Profiling; 2 | 3 | namespace DotVVM.Tracing.MiniProfiler 4 | { 5 | public class DotvvmTimingStorage : IRequestTimingStorage 6 | { 7 | public Timing Current { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Tracing/MiniProfiler.Shared/IRequestTimingStorage.cs: -------------------------------------------------------------------------------- 1 | using StackExchange.Profiling; 2 | 3 | namespace DotVVM.Tracing.MiniProfiler 4 | { 5 | public interface IRequestTimingStorage 6 | { 7 | Timing Current { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Tracing/MiniProfiler.Shared/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2018" 4 | }, 5 | "include": [ 6 | "**/*.js", 7 | "../../Framework/Framework/obj/typescript-types/dotvvm.d.ts", 8 | "../../Framework/Framework/Resources/Scripts/**/*.d.ts" 9 | ], 10 | "exclude": [ 11 | "../../Framework/Framework/Resources/Scripts/tests" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /src/global.json: -------------------------------------------------------------------------------- 1 | { 2 | "msbuild-sdks": { 3 | "MSBuild.SDK.SystemWeb" : "4.0.64" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/package-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riganti/dotvvm/8e4b4fe09bdef62b3abd2025dd6712a468030e66/src/package-icon.png -------------------------------------------------------------------------------- /src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "packageManager": "yarn@3.2.0" 3 | } 4 | --------------------------------------------------------------------------------