Skip to content
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

Performance Optimizations #760

Open
wants to merge 29 commits into
base: main
Choose a base branch
from

Conversation

Lucasharskamp
Copy link
Contributor

@Lucasharskamp Lucasharskamp commented Jun 17, 2024

Continues from #747


If you let Blazor itself fill the Parameter/CascadingParameter items, it causes a kind of System.Reflection magic which is not great for performance. This is fine for pages or components which aren't used over and over, but for things like buttons this is very performance intensive. By setting the parameters ourselves, pages and components are rendered a tad faster, and this creates a noticable improvement when rendering things like Grids.

Apart from that, this PR contains little changes: more added documentation and a bugfix for AccordionItems.

Set collection properties for chart settings to IReadOnly to allow programmers to enter any valid stack.
Added options for Charts to allow for more styling options build into ChartJs
Added documentation
Bugfix: nuget package never contained xml documentation. It does now.
CSS generator documentation created
Documentation fixes
Added XML summary documentation
…t Tabs

Added documentation
Bugfix: Accordion collapse all AccordionItems causes stack change issues.
2) Added performance improvement for Image as well.
Added documentation
Fixed nullref-issues
@gvreddy04
Copy link
Contributor

@Lucasharskamp I appreciate 👏 your efforts on this pull request (PR) . This is a very large PR. I don't have any intention of holding up any PRs unless they introduce too many changes. This PR introduces too many changes in one go. I cannot merge this PR as-is. I'll take care of this PR, so don't worry about out-of-sync changes; I'll merge the changes step-by-step. For Light and Dark mode, I'm looking for a better way to implement it. Performance optimization is definitely needed for improvements.

Can you share the Accordion bug fix information for my understanding?

@Lucasharskamp
Copy link
Contributor Author

@Lucasharskamp I appreciate 👏 your efforts on this pull request (PR) . This is a very large PR. I don't have any intention of holding up any PRs unless they introduce too many changes. This PR introduces too many changes in one go. I cannot merge this PR as-is. I'll take care of this PR, so don't worry about out-of-sync changes; I'll merge the changes step-by-step. For Light and Dark mode, I'm looking for a better way to implement it. Performance optimization is definitely needed for improvements.

Can you share the Accordion bug fix information for my understanding?

Reminder that these were far smaller but you kept pushing changes, causing me to have to re-merge it with new features. Bit of a snowball effect.

…nce they were lacking for the CSS generator.
@Lucasharskamp
Copy link
Contributor Author

Added disabled buttons color/bg color/border color for the CSS generator.

@Lucasharskamp
Copy link
Contributor Author

@gvreddy04 Merged back with main, fixed some issues in your code in relation to charts.

Also: chartdata should be double? and not double. Why? Because nullable data, to say skip x-positions in a linechart, is a feature of chartjs.

@Lucasharskamp
Copy link
Contributor Author

@gvreddy04 Note: the ''static code fail'' is because I added a new rule, namely that all public interfaces (methods, classes, etc) that end users can use must have XML summaries, and they're lacking on a lot of code.

@Lucasharskamp
Copy link
Contributor Author

@gvreddy04 updated to 3.0

Removed non-bootstrap features
Fixed bug causing child content to throw nullrefs if the content are in a error state
…class name stacks, switch statements replaced with dictionaries. Need some drilling for potential bugs
Improved performance for reading parameters, and allow users to differentiate between Class en "class" attributes without causing errors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants