Releases: masastack/MASA.Blazor
v1.7.0-rc.3
What's Changed
- 🐛 fix(PdfMobileViewer): compatible with old browsers by @capdiem in #2119
- 🐛 fix(Icon): an exception thrown when an alias cannot be found by @capdiem in #2121
- 🐛 fix(Sortable): the re-order should be triggered after the Order property value changes by @capdiem in #2120
Full Changelog: 1.7.0-rc.2...1.7.0-rc.3
v1.7.0-rc.2
What's Changed
- 🐛 fix(PageStack): unexpected scrollbar appear on stack pages on iOS by @capdiem in #2108
- 🆕 feat(InfiniteScroll): add the ResetStatus public method by @capdiem in #2110
- 🐛 fix(PdfMobileViewer): compatible with old browsers by @capdiem in #2112
- 🐛 fix(Routable): invalid regex pattern by @capdiem in #2113
- 🐛 fix(DataTable): the initial value set for selection is ineffective by @capdiem in #2117
- 🐛 fix(Button): ignore the exceptions thrown druing pre-rendering by @capdiem in #2116
- 🐛 fix(ListItem): do not render the element when there is not subtitle by @capdiem in #2115
- ⚡ refactor(Sortable): add a detection mechanism for potential frequent rendering by @capdiem in #2114
- 🐛 fix(Carousel): ChildContent and delimiters are missing by @capdiem in #2118
Full Changelog: 1.7.0-rc.1...1.7.0-rc.2
v1.7.0-rc.1
⬆️ Upgrade guide
-
Pagination: A mini style UI has been added, now when the browser window is less than 600px, it will automatically use it. If you don’t want to use the mini style, you can manually set it through the
MiniVariant
property. Thanks to @Lee-Lily-Lea. #2072 #2075<MPagination @bind-Value="page" Length="10" + MiniVariant="false" ></MPagination>
-
Form: DataAnnotations validation now natively supports complex types, no need to reference additional libraries and code. #2073 #2084
- <PackageReference Include="Microsoft.AspNetCore.Components.DataAnnotations.Validation" Version="3.2.0-rc1.20223.4" />
<MForm> - <ObjectGraphDataAnnotationsValidator /> @foreach (var person in _order.Persons) { <MTextField @bind-Value="person.Name" Label="Name"></MTextField> } </MForm> @code { public class Order { - [ValidateComplexType] public List<Person> Persons { get; set; } } public class Person { [Required] public string Name { get; set; } } private Order _order = new() { Persons = [] }; }
-
Treeview: After enabling the
Selectable
property, you can now select by clicking on the row. To disable this functionality, you need to setSelectOnRowClick
tofalse
. #2064<MTreeview @bind-Value="_selected" + SelectOnRowClick="false" Selectable="true"> </MTreeview>
✨ Release notes
🎉 New components
- PdfMobileViewer: a PDF viewer designed for mobile #2103
- Toggle: a wrapper that allows you to switch between two states #2066
- AppThemeStylesheet: using for avoiding the brief flicker when application is loaded, more details can ben found in the docs. #2043
🚀 Features
- DateTimePicker: a default MTextField component is built-in now, and you can customize the MTextField component using the PDefaultDateTimePickerActivator #2054 #2052
<!-- before --> <PDateDigitalClockPicker @bind-Value="_date" TimeFormat="TimeFormat.Hr24" ViewType="_pickerViewType"> <ActivatorContent> <MTextField @bind-Value="_date" @attributes="@context.Attrs"> </MTextField> </ActivatorContent> </PDateDigitalClockPicker> <!-- now --> <PDateDigitalClockPicker @bind-Value="_date" TimeFormat="TimeFormat.Hr24" ViewType="_pickerViewType"> @* Uncomment the following code if you want to customize the build-in MTextField component *@ @* <PDefaultDateTimePickerActivator Filled Label="Pick a date time" Format="yyyy-MM-dd HH:mm:ss"/> *@ </PDateDigitalClockPicker>
- Form: splitting DataAnnotations and FluentValidation, auto label generating and built-in complex type validation #2073
<!-- auto label generating --> <MForm Model="_model" AutoLabel> <MTextField @bind-Value="_model.Name" Filled> </MTextField> <MButton Type="submit" Block Color="primary">Submit</MButton> @* <Masa.Blazor.Components.Form.AutoLabelOptions AttributeType="@typeof(DisplayAttribute)"/> *@ </MForm> @code { class Model { [Display(Name = "Username")] [Required] public string Name { get; set; } } private Model _model = new(); }
- Form: add the ValidateOn parameter to support setting the validation timing #2080
- PageStack:
- DataFilter: Add
OnReset
andExpandFirst
parameters #203 - Form: add the ValidateOn parameter to support setting the validation timing #2080
- PopupService: add support for clearing all opened popups #2098
- Slider: add support for customizing the size of track #2079
🐛 Bug fixes
- Button: the click event conflicts with the click event of menu activator #2106
- Button: button hover state on mobile after press #2063
- DataTable: filter in header doesn't work #2104
- Checkbox/Switch: refactor the ripple scheme to solve the issue of focus/blur not working #2077 #2088 #2093
- Checkbox/Switch: display the focus state only when focused by keyboard #2086
- DatePicker: Incorrect year value when Locale="fa-IR" #2099
- DatePicker: cannot select only the year #2070
- InteractivePopup: Use the parent class's dispose method #2057
- NavigationDrawer: MobileBreakpoint parameter is not functioning as expected #2071
- PageStack: continuous clicking on
a
tag causes multiple entries in the stack #2058 - PageStack: unexpected scrollbar my appear in the stack page on iOS #2059
- Popup: missing the specific class name for popup components #2055
- RangeSlider: the focus state still exists after click the slider #2081
- SimpleCheckbox: use ripple custom attribute instead of ripple element #2089
- Swiper: Initial index doesn't work #2102
- Swiper: 'super()' must be called in derived constructor before accessing |this| or returning non-object #2105
♻️ Refactors
- Input: active color no longer distinguishes themes, defaults to primary #2087
- Breakpoint: differentiate the window size, breakpoint and mobile change events #2068
📝 Documentation
- DataTable: the css 'editable-cell' was set on the wrong element #2065
- TextField: fix the CustomColors demo #2090
- PageStack: improve the api doc #2107
Full Changelog: 1.6.8...1.7.0-rc.1
v1.7.0-beta.5
What's Changed
- 🆕 feat(PageStack): add support for going back to specific page by @capdiem in #2094
- 💄 style(Switch): Update UI by @capdiem in #2093
- 🆕 feat(PageStack): add support for going back specific page and then replace with new uri by @capdiem in #2095
- 🐛 fix(DatePicker): Incorrect year value when Locale="fa-IR" by @capdiem in #2099
- 🆕 feat(PageStack): add support for going back with specific delta and then replace with new uri by @capdiem in #2096
- 🆕 feat(PopupService): add support for clearing all opened popups by @capdiem in #2098
Full Changelog: 1.7.0-beta.4...1.7.0-beta.5
1.7.0-beta.4
What's Changed
- 🐛 fix(NavigationDrawer): MobileBreakpoint parameter is not functioning as expected by @capdiem in #2071
- 🐛 fix(DatePicker): cannot select only the year by @capdiem in #2070
- 🆕 feat(MPagination): Added MiniVariant MiniVariantChange and MobileBr… by @Lee-Lily-Lea in #2072
- feat(Form): splitting DataAnnotations and FluentValidation, auto label generating and built-in complex type validation by @capdiem in #2073
- fix(Checkbox/Switch): refactor the ripple scheme to solve the issue of focus/blur not working by @capdiem in #2077
- 🐛 fix(OtpInput): error occurs when setting value form a non-empty to an empty value by @capdiem in #2074
- 📝 docs(Pagination): add example for MiniVariant property by @capdiem in #2075
- 🐛 fix(Swiper): missing the InvokeVoidAsync public method by @capdiem in #2078
- 🆕 feat(Slider): fix the issue of losing focus state and add support for customizing the size of track by @capdiem in #2079
- 🐛 fix(RangeSlider): the focus state still exists after click the slider by @capdiem in #2081
- 🆕 feat(Form): add the ValidateOn parameter to support setting the validation timing by @capdiem in #2080
- (Form): optimize default behavior, add demos and update docs by @capdiem in #2084
- 🐛 fix(DataTable): change BListItemContent to MListItemContent by @capdiem in #2092
- 🐛 fix(TextField): the hex color of TextColor doesn't work by @capdiem in #2091
- docs(TextField): fix the CustomColors demo by @capdiem in #2090
- ♻ refactor(SimpleCheckbox): use ripple custom attribute instead of ripple element by @capdiem in #2089
- 💄 style(Switch): cursor:pointer doesn't work on label element by @capdiem in #2088
- ♻ refactor(Input): active color no longer distinguishes themes, defaults to primary by @capdiem in #2087
- 🐛 fix(Switch/Checkbox): display the focus state only when focused by keyboard by @capdiem in #2086
- 🐛 fix(OtpInput): failed to load initial value by @capdiem in #2085
Full Changelog: 1.7.0-beta.3...1.7.0-beta.4
v1.6.8
v1.6.7
✨ Release notes
🔧 Bug Fixes
- InfiniteScroll: crashes when the parent element doesn't exist #2060
- OtpInput: error occurs when setting value form a non-empty to an empty value #2074
- Swiper: missing the InvokeVoidAsync public method #2078
- Transition: one element may instantiate the transition class multiple times #2062
Full Changelog: 1.6.6...1.6.7
1.7.0-beta.3
What's Changed
- 🆕 add the new component MToggle by @capdiem in #2066
- 🎬 docs(DataTable): the css 'editable-cell' was set on the wrong element by @capdiem in #2065
- ♻️ refactor(Breakpoint): differentiate the window size, breakpoint and mobile change events by @capdiem in #2068
Full Changelog: 1.7.0-beta.2...1.7.0-beta.3
v1.7.0-beta.2
What's Changed
- 🐛 fix(PageStack): continuous clicking on
a
tag causes multiple entries in the stack by @capdiem in #2058 - 🐛 fix(InteractivePopup): Use the parent class's dispose method by @capdiem in #2057
- 🐛 fix(Popup): missing the specific class name for popup components by @capdiem in #2055
- 🐛 fix(InfiniteScroll): crashes when the parent element doesn't exist by @capdiem in #2060
- 🐛 fix(PageStack): unexpected scrollbars may appear in the stack page on iOS by @capdiem in #2059
- 🐛 fix(Transition): one element may instantiate the transition class multiple times by @capdiem in #2062
- 🆕 feat(PageStack): add PageClosed event to PageStackNavController by @capdiem in #2061
- 💄 style(Button): button hover state on mobile after press by @capdiem in #2063
- 🆕 feat(Treeview): add support for selecting on row click by @capdiem in #2064
Full Changelog: 1.7.0-beta.1...1.7.0-beta.2
v1.7.0-beta.1
What's Changed
- 🚸 feat(DateTimePickers): it's not convenient when using with InputsFilter by @capdiem in #2052
- 🆕 feat(DateTimePicker): add support for a default text-field activator by @capdiem in #2054
- 🆕 feat: Add MAppThemeStylesheet component by @capdiem in #2043
- 🆕 feat(DataFilter): Add OnReset and ExpandFirst parameters by @capdiem in #2037
Full Changelog: 1.6.6...1.7.0-beta.1