Skip to content

Commit 408f80b

Browse files
authored
Added TreeView component (#60)
Added TreeView component
2 parents 1ae6ac3 + ec02ea0 commit 408f80b

File tree

148 files changed

+3414
-357
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+3414
-357
lines changed

CODE-OF-CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to make participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies within all project spaces, and it also applies when
49+
an individual is representing the project or its community in public spaces.
50+
Examples of representing a project or community include using an official
51+
project e-mail address, posting via an official social media account, or acting
52+
as an appointed representative at an online or offline event. Representation of
53+
a project may be further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project leader at [[email protected]](mailto:[email protected]). All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

CONTRIBUTING.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Contributing to BlazorWebFormsComponents
2+
3+
Thank you for taking the time to consider contributing to our project.
4+
5+
The following is a set of guidelines for contributing to the project. These are mostly guidelines, not rules, and can be changed in the future. Please submit your suggestions with a pull-request to this document.
6+
7+
1. [Code of Conduct](#code-of-conduct)
8+
1. [What should I know before I get started?](#what-should-i-know-before-i-get-started?)
9+
1. [Project Folder Structure](#project-folder-structure)
10+
1. [Design Decisions](#design-decisions)
11+
1. [How can I contribute?](#how-can-i-contribute?)
12+
1. [Tell us your story](#tell-us-your-story)
13+
1. [Write code for a component](#write-code-for-a-component)
14+
1. [Write documentation](#write-documentation)
15+
16+
17+
## Code of Conduct
18+
19+
We have adopted a code of conduct from the Contributor Covenant. Contributors to this project are expected to adhere to this code. Please report unwanted behavior to [[email protected]](mailto:[email protected])
20+
21+
## What should I know before I get started?
22+
23+
This project is currently a single library that will provide a shim, a buffer that will help you convert markup to run in Blazor. The project will grow in the future to support more automated conversion from ASP<span></span>.NET Web Forms to Blazor.
24+
25+
### Project Folder Structure
26+
27+
This project is designed to be built and run primarily with Visual Studio 2019. The folders are configured so that they will support editing and working in other editors and on non-Windows operating systems. We encourage you to develop with these other environments, because we would like to be able to support developers who use those tools as well. The folders are configured as follows:
28+
29+
```
30+
/docs -- User Documentation
31+
/samples -- Usage Samples
32+
BeforeWebForms
33+
AfterBlazorClientSide -- Shell project with WebAssembly config
34+
AfterBlazorServerSide -- Shared project with Server-Side config
35+
/Pages/ControlSamples/COMPONENT_NAME/SCENARIO.razor
36+
/src -- Library source and unit tests
37+
BlazorWebFormsComponents
38+
BlazorWebFormsComponents.Test
39+
/COMPONENT_NAME/test.razor -- Unit tests
40+
```
41+
42+
43+
44+
We may add a top level `tests` folder if there are integration tests to show at some point.
45+
46+
All official versions of the project are built and delivered with Azure DevOps Pipelines and linked in the main README.md and [releases tab in GitHub](https://github.com/FritzAndFriends/BlazorWebFormsComponents/releases).
47+
48+
### Design Decisions
49+
50+
Design for this project is ultimately decided by the project lead, [Jeff Fritz](https://github.com/csharpfritz). The following project tenets are adhered to when making decisions:
51+
52+
1. All attributes of the original controls should be supported. This helps emphasize the 'convert your markup' feature.
53+
1. HTML markup generated by the components should replicate the markup generated by the original controls. This helps to ensure the components behave as the Web Forms controls were expected to.
54+
1. Minimal .NET APIs should be supported, in order to present the API. The following are the primary APIs available:
55+
1. Component events: OnInit, OnLoad, OnPrerender, OnUnload
56+
1. DataBind()
57+
1. The following APIs and Controls will NOT be supported:
58+
1. **DataSources** - These are components that provide connectivity to a data source. In Blazor, this code should be moved to a Repository pattern and classes. You can still connect that Repository to the components and work with the data.
59+
1. **ViewState** - There is no viewstate in Blazor. ViewState is marked obsolete on components, and state of your interactions with the controls should be stored in private variables or Session.
60+
1. **Postback** - There is no postback in Blazor, therefore we will not support this feature.
61+
62+
## How can I contribute?
63+
64+
We are always looking for help on this project. There are many millions of applications built that target ASP<span></span>.NET Web Forms, and we need your help building and identifying scenarios that need to be supported. There are several ways that you can help:
65+
66+
### Tell us your story
67+
68+
Tell us how you are currently using the web forms framework so that we can build to meet your needs. This means one of several types of contributions:
69+
70+
1. Send a pull request with a sample page that shows your scenario in the `samples/BeforeWebForms` project
71+
1. Send a pull request with your desired scenario as a unit test in `src/BlazorWebFormsComponents.Test`
72+
1. [Report an issue](https://github.com/FritzAndFriends/BlazorWebFormsComponents/Issues) with the details of a bug that you have found. Be sure to tag it as a `Bug` so that we can triage and track it
73+
74+
### Write code for a component
75+
76+
All code for a component should have an assigned issue that matches it. This way we can prevent contributors from working on the same feature at the same time.
77+
78+
Any code that is written to support a component are required to be accompanied with unit tests at the time the pull request is submitted. Pull requests without unit tests will be delayed and asked for unit tests to prove their functionality. We use the [Razor Components Testing Library](https://www.nuget.org/packages/Razor.Components.Testing.Library/) to test our components.
79+
80+
Code for components' features should also include some definition in the `/docs` folder so that our users can identify and understand which feature is supported.
81+
82+
### Write documentation
83+
84+
The documentation for the migration and consumption of these components will be significant in scope and need to cover many scenarios. We are always looking for help to add content to the `/docs` section of the repository with proper links back through to the main `/README.md`

Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
44
<PackageReference Include="Nerdbank.GitVersioning">
5-
<Version>3.0.28</Version>
5+
<Version>3.0.50</Version>
66
<PrivateAssets>all</PrivateAssets>
77
</PackageReference>
88
</ItemGroup>
9-
</Project>
9+
</Project>

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
A collection of Blazor components that emulate the web forms components of the same name
44

5-
[![Build status](https://dev.azure.com/FritzAndFriends/BlazorWebFormsComponents/_apis/build/status/BlazorWebFormsComponents-.NET%20Standard-CI)](https://dev.azure.com/FritzAndFriends/BlazorWebFormsComponents/_build/latest?definitionId=14)
5+
[![Build status](https://dev.azure.com/FritzAndFriends/BlazorWebFormsComponents/_apis/build/status/BlazorWebFormsComponents-.NET%20Standard-CI)](https://dev.azure.com/FritzAndFriends/BlazorWebFormsComponents/_build/latest?definitionId=14)
66

77
[![Nuget](https://img.shields.io/nuget/v/Fritz.BlazorWebFormsComponents?color=violet)](https://www.nuget.org/packages/Fritz.BlazorWebFormsComponents/) [![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Fritz.BlazorWebFormsComponents)](https://www.nuget.org/packages/Fritz.BlazorWebFormsComponents/)
88

@@ -37,7 +37,7 @@ There are a significant number of controls in ASP.NET Web Forms, and we will foc
3737
- Navigation Controls
3838
- Menu
3939
- SiteMapPath
40-
- TreeView
40+
- [TreeView](docs/TreeView.md)
4141
- Login Controls
4242
- ChangePassword
4343
- Login

0 commit comments

Comments
 (0)