-
-
Notifications
You must be signed in to change notification settings - Fork 384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extraction of MatBlazor Documentation as a reusable component #872
Open
TFTomSun
wants to merge
29
commits into
SamProf:develop
Choose a base branch
from
TFTomSun:develop
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…mentation project
added useful exception message move matblazor specific type filtering to Matblazor.Demo Added doc app specific AppModel
added more complex demos
…feature optional, added prerender hook in app model
…ancel pending js calls on runtime unload
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
1. Extraction of Documation App Frame to be reusable & Generate XML Documentation and Razor View at runtime
I really like the way how you created your documentation, and would like to reuse it for other blazor components. Therefore I extracted the documentation app frame from MatBlazor.Demo. I also made the xml doc and razor code view generator executable at runtime, so that anybody simply can write some docu components and provide the xml doc file of the documented component as a embedded resource. I kept everything backward compatible.
You can toggle between the old and the new documentation apporach by selecting the launch target with the _new postfix.
There you can see that only the class doc razor is required. Menus, xml docs, and razor code view are automatically provided at runtime.
Some things I made configurable: e.g. turn on / off ads. The defaults are always set in the way that your MatBlazor documentation doesn't change.
You can use the new and the old approach of documentation side by side, but to keep it clean, I remove now the runtime generated XmlDoc and RazorDoc support from the MatBlazor.Demo project. The MatBlazor.Doc.Demo only uses the runtime generation approach.
2. MatBlazorVirtualScroll component
I've added a Blazor Virtualize based control "MatBlazorVirtualScroll", on .netstandard2.1 it falls back to MatVirtualScroll. I did it because the MatVirtualScroll had issues in .NET 5 (items were not correctly displayed). I've added a doc page in the new MatBlazor.Doc.Demo. You could take it over to MatBlazor.Demo if you decide to keep the documentation as it is, instead of using the dynamically generated xml and razor doc view
3. Fix of MatVirtualScrollView
I fixed MatVirtualScroll, the properties of MatVirtualScrollView have to be of type double instead of int, however I would like to keep the MatBlazorVirtualScroll component, because Blazor Virtualize has more features (like lazy loading, placeholder, when item not loaded, etc.) that could be utilized. I'll add some examples for that.