Finally, after more than two months I’m proud to announce the new version of Blazorise.
0.8.7 is both long overdue and accordingly packed with important bug fixes and enhancements.
I have intended to release the 0.8.x versions more regularly(every month or so) but then the life happened. I left the company where I worked for the last 9 years and moved to a new job. I must say that it wasn’t easy to leave but I felt like it was needed for me personally and professionally. Now that I have settled I must say the change went more than good.
As mentioned, this release includes many bug fixes, usability enhancements and documentation improvements.
Refactoring input fields
This one gave me a lot of headache. While for the most part input fields worked just fine, there were some special cases where they would just not update the value or react to any change. Especially when working with
Validation component. So after a while I knew I had to bite it and do the refactoring. It wasn’t easy but it finally paid off.
I must thank brettwinters for his help and very detailed bug reports and how to reproduce them.
Data Annotations Validator
This feature was requested several times but it just wasn’t possible in an easy way in previous versions of Blazorise. But after all the hard work refactoring the input fields I realized it could finally be done. While the old delegate validator is very flexible and powerful enough to be used for almost every scenario, the new validator type is very easy and also it’s familiar to more people so I believe it will be of great use.
But, the code can speak for itself. so please look at the validation page.
A lot of people wanted this feature and I wasn’t so sure about it. So, even if it feels like a hack to me, I implemented it so that Blazorise components could be more flexible. For those of you not familiar with attributes-splatting, essentially it’s a way to pass the list of additional parameters to the underline element(s) that Blazorise component can represent. To learn more you can visit official documentations.
While it’s for sure a helpful feature I’m still not convinced this is the right way for Blazorise. With Blazorise I wish to have an abstraction over any html element. With attribute-splatting I’m giving a way to use component(s) low-level attributes. Anyways, the feature is here and we’ll see how it goes.
First I need to mention some breaking changes on
DataGrid. It’s nothing to be afraid of. Essentially some of the attributes have being renamed so if you’ve being using them you just need to replace them with new names:
|Old name||New name|
Now back to the improvements.
DataGridColumnnow have additional parameters named
CellsEditableOnEditCommand. They’re used for scenarios where you need to control when and how the cell values will be edited. So now you can disable or enable editing on
DataGridCommandColumnalso have new parameters like
EditCommandAllowed, etc. They’re used to handle visibility of command buttons. So for example you can hide a
Newcommand for the grid, or maybe you can hide
Deletecommand by setting the
false. Whatever you choose you have the freedom to do so.
RowSelectableevent handler. It’s used to handle the selection of the clicked row.
TextEdit. It specifies the visible width, in characters, of an
- #251 Fixed two-way binding issue on
- #263 Fixed
- #295 Remove lock from CreateDotNetObjectRef
SelectEditint valued items ignores 0 when IsMultiple is true
- #320 Validation not updating after reference is changed
- #285 Autocomplete
DataGridNumericColumndoes not sort numerically
I also need to mention these people that took some time and helped with this release.
- #311 Chart Options Not Updating @andrewwilkin
- #310 Fix so that Autocomplete dropdown doesn’t show empty dropdown @robalexclark
- #321 Fix custom class provider registration @mszyszko
- #299 Removing unused classes @WillianGruber
- #347 Font Awesome icon styles @cassioesp
Guys, thank you!
Right now, I’m going to give my best to finish next minor version(0.8.8) as soon as possible. The very next thing after that is going to be a long awaited 0.9 that will bring some major upgrades. Hopefully it will not take as long as 0.8.7.