diff --git a/src/MatBlazor.Demo/Demo/DemoMatSlider.razor b/src/MatBlazor.Demo/Demo/DemoMatSlider.razor index f10d6233..2ff2e0e0 100644 --- a/src/MatBlazor.Demo/Demo/DemoMatSlider.razor +++ b/src/MatBlazor.Demo/Demo/DemoMatSlider.razor @@ -3,7 +3,7 @@
Continuous Slider: @Val
- + @code { @@ -50,7 +50,7 @@
Initializing the slider with custom ranges/values: @Val2
- + @code { @@ -71,7 +71,7 @@ + @code { @@ -98,7 +98,7 @@

Pin will round to nearest 3 digit. Pin only works with Discrete.

- + @code { @@ -119,7 +119,7 @@ + @code { @@ -145,7 +145,7 @@

Markers only work with Discrete

- + @code { @@ -166,7 +166,7 @@ + @code { @@ -193,7 +193,7 @@

Changes to the slider will immediately reflect in changes to the value.

- + @code { @@ -214,7 +214,7 @@ + @code { @@ -288,16 +288,16 @@ - - - + + + @code { public decimal Value { get; set; } = 50; - public decimal ValueMin { get; set; } = 0; - public decimal ValueMax { get; set; } = 100; + public decimal Min { get; set; } = 0; + public decimal Max { get; set; } = 100; public void OnValueChanged2(decimal val) { @@ -310,16 +310,16 @@ - - - + + + @code { public decimal Value { get; set; } = 50; - public decimal ValueMin { get; set; } = 0; - public decimal ValueMax { get; set; } = 100; + public decimal Min { get; set; } = 0; + public decimal Max { get; set; } = 100; public void OnValueChanged2(decimal val) { diff --git a/src/MatBlazor.Demo/Demo/DemoNumericUpDownField.razor b/src/MatBlazor.Demo/Demo/DemoNumericUpDownField.razor index 444fd55c..e6d70590 100644 --- a/src/MatBlazor.Demo/Demo/DemoNumericUpDownField.razor +++ b/src/MatBlazor.Demo/Demo/DemoNumericUpDownField.razor @@ -18,7 +18,7 @@ + Min=null Max=null>

@@ -35,7 +35,7 @@ @bind-Value=@testingNullableDecimal1 FieldType="MatNumericUpDownFieldType.Percent" DecimalPlaces=0 - Minimum=null Maximum=null> + Min=null Max=null>

@@ -44,7 +44,7 @@ @bind-Value=@testingNullableDecimal2 DecimalPlaces=0 Disabled=true - Minimum=null Maximum=null> + Min=null Max=null>

@@ -53,7 +53,7 @@ @bind-Value=@testingNullableDecimal3 DecimalPlaces=0 Icon="favorite" - Minimum=null Maximum=null> + Min=null Max=null>

@@ -62,7 +62,7 @@ @bind-Value=@testingNullableDecimal4 DecimalPlaces=0 Outlined="true" - Minimum=null Maximum=null> + Min=null Max=null>

@@ -79,7 +79,7 @@ DecimalPlaces=0 Outlined="true" FullWidth="true" - Minimum=null Maximum=null> + Min=null Max=null>

@@ -122,7 +122,7 @@ + Min=null Max=null>

@@ -139,7 +139,7 @@ @bind-Value=@testingNullableDecimal1 FieldType=""MatNumericUpDownFieldType.Percent"" DecimalPlaces=0 - Minimum=null Maximum=null> + Minimum=null Max=null>

@@ -148,7 +148,7 @@ @bind-Value=@testingNullableDecimal2 DecimalPlaces=0 Disabled=true - Minimum=null Maximum=null> + Min=null Max=null>

@@ -157,7 +157,7 @@ @bind-Value=@testingNullableDecimal3 DecimalPlaces=0 Icon=""favorite"" - Minimum=null Maximum=null> + Min=null Max=null>

@@ -166,7 +166,7 @@ @bind-Value=@testingNullableDecimal4 DecimalPlaces=0 Outlined=""true"" - Minimum=null Maximum=null> + Min=null Max=null>

@@ -183,7 +183,7 @@ DecimalPlaces=0 Outlined=""true"" FullWidth=""true"" - Minimum=null Maximum=null> + Min=null Max=null>

diff --git a/src/MatBlazor.Demo/Doc/DocMatNumericUpDownField.razor b/src/MatBlazor.Demo/Doc/DocMatNumericUpDownField.razor index c57918fe..c0e6571d 100644 --- a/src/MatBlazor.Demo/Doc/DocMatNumericUpDownField.razor +++ b/src/MatBlazor.Demo/Doc/DocMatNumericUpDownField.razor @@ -134,11 +134,21 @@ String + + Max + TValue + + Maximum TValue + + Min + TValue + + Minimum TValue diff --git a/src/MatBlazor.Demo/Doc/DocMatSlider.razor b/src/MatBlazor.Demo/Doc/DocMatSlider.razor index 55901e4b..2f11cf53 100644 --- a/src/MatBlazor.Demo/Doc/DocMatSlider.razor +++ b/src/MatBlazor.Demo/Doc/DocMatSlider.razor @@ -64,6 +64,16 @@ Boolean + + Max + TValue + + + + Min + TValue + + Pin Boolean diff --git a/src/MatBlazor.Demo/Shared/Sponsors.razor b/src/MatBlazor.Demo/Shared/Sponsors.razor index 36acf9a1..ad247c43 100644 --- a/src/MatBlazor.Demo/Shared/Sponsors.razor +++ b/src/MatBlazor.Demo/Shared/Sponsors.razor @@ -33,7 +33,7 @@ The development is active and we are working hard to release great things for yo
  • Maurizio Verde
  • Adam Salvo
  • Dorana
  • -
  • Yevhen Shmakov
  • +
  • Eugene Shmakov
  • Jacobus Terhorst
  • Xiao Song
  • Martin Friesenbichler
  • diff --git a/src/MatBlazor/Components/MatNumericUpDownField/BaseMatNumericUpDownFieldInternal.cs b/src/MatBlazor/Components/MatNumericUpDownField/BaseMatNumericUpDownFieldInternal.cs index 1ef3fa4b..92eb7059 100644 --- a/src/MatBlazor/Components/MatNumericUpDownField/BaseMatNumericUpDownFieldInternal.cs +++ b/src/MatBlazor/Components/MatNumericUpDownField/BaseMatNumericUpDownFieldInternal.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; +using System; using System.Collections.Generic; using System.Threading.Tasks; @@ -11,6 +12,8 @@ namespace MatBlazor /// sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, decimal? public class BaseMatNumericUpDownFieldInternal : MatInputTextComponent { + private TValue minimum; + private TValue maximum; protected override EventCallback OnKeyDownEvent() { return OnKeyDownEvent2; @@ -18,12 +21,12 @@ protected override EventCallback OnKeyDownEvent() protected void Increase() { - CurrentValue = SwitchT.Increase(CurrentValue, Step, Maximum); + CurrentValue = SwitchT.Increase(CurrentValue, Step, Max); } protected void Decrease() { - CurrentValue = SwitchT.Decrease(CurrentValue, Step, Minimum); + CurrentValue = SwitchT.Decrease(CurrentValue, Step, Min); } protected override TValue CurrentValue @@ -35,12 +38,46 @@ protected override TValue CurrentValue [Parameter] public bool AllowInput { get; set; } = true; + [Parameter] + public TValue Min + { + get => minimum; + set + { + minimum = value; + } + } [Parameter] - public TValue Maximum { get; set; } + [Obsolete("Use parameter Min")] + public TValue Minimum + { + get => minimum; + set + { + minimum = value; + } + } + [Parameter] + public TValue Max + { + get => maximum; + set + { + maximum = value; + } + } [Parameter] - public TValue Minimum { get; set; } + [Obsolete("Use parameter Max")] + public TValue Maximum + { + get => maximum; + set + { + maximum = value; + } + } [Parameter] public int DecimalPlaces { get; set; } = 0; @@ -77,8 +114,8 @@ public BaseMatNumericUpDownFieldInternal() Decrease(); } }); - Maximum = SwitchT.GetMaximum(); - Minimum = SwitchT.GetMinimum(); + Max = SwitchT.GetMaximum(); + Min = SwitchT.GetMinimum(); ClassMapper.Add("mat-numeric-up-down-field"); ClassMapper.Add("mat-text-field-with-actions-container"); @@ -148,8 +185,8 @@ protected override bool TryParseValueFromString(string value, out TValue result, if (result != null) // Snap to Min/Max { var comparer = Comparer.Default; - if (Maximum != null && comparer.Compare(result, Maximum) > 0) result = Maximum; - if (Minimum != null && comparer.Compare(result, Minimum) < 0) result = Minimum; + if (Max != null && comparer.Compare(result, Max) > 0) result = Max; + if (Min != null && comparer.Compare(result, Min) < 0) result = Min; } return success; diff --git a/src/MatBlazor/Components/MatSlider/BaseMatSlider.cs b/src/MatBlazor/Components/MatSlider/BaseMatSlider.cs index 9ece8463..9bbf91f3 100644 --- a/src/MatBlazor/Components/MatSlider/BaseMatSlider.cs +++ b/src/MatBlazor/Components/MatSlider/BaseMatSlider.cs @@ -21,8 +21,8 @@ public BaseMatSlider() { jsHelper = new MatDotNetObjectReference(new MatSliderJsHelper()); jsHelper.Value.OnChangeEvent += Value_OnChangeEvent; - ValueMin = SwitchT.GetMinimum(); - ValueMax = SwitchT.GetMaximum(); + Min = SwitchT.GetMinimum(); + Max = SwitchT.GetMaximum(); Step = SwitchT.GetStep(); ClassMapper @@ -65,53 +65,81 @@ public override void Dispose() jsHelper.Dispose(); } - [Parameter] + [Obsolete("Use parameter Min")] public TValue ValueMin { get => valueMin; set { - if (!EqualityComparer.Default.Equals(valueMin, value) && Rendered) + valueMin = SetValueMin(value); + } + } + + [Parameter] + public TValue Min + { + get => valueMin; + set + { + valueMin = SetValueMin(value); + } + } + private TValue SetValueMin(TValue value) + { + if (!EqualityComparer.Default.Equals(valueMin, value) && Rendered) + { + InvokeAsync(async () => { - InvokeAsync(async () => + try { - try - { - await Js.InvokeVoidAsync("matBlazor.matSlider.updateValueMin", Ref, value); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - }); - } - valueMin = value; + await Js.InvokeVoidAsync("matBlazor.matSlider.updateValueMin", Ref, value); + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + }); } + return value; } [Parameter] + [Obsolete("Use parameter Max")] public TValue ValueMax { get => valueMax; set { - if (!EqualityComparer.Default.Equals(valueMax, value) && Rendered) + valueMax = SetValueMax(value); + } + } + [Parameter] + public TValue Max + { + get => valueMax; + set + { + valueMax = SetValueMax(value); + } + } + private TValue SetValueMax(TValue value) + { + if (!EqualityComparer.Default.Equals(valueMax, value) && Rendered) + { + InvokeAsync(async () => { - InvokeAsync(async () => + try { - try - { - await Js.InvokeVoidAsync("matBlazor.matSlider.updateValueMax", Ref, value); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } - }); - } - valueMax = value; + await Js.InvokeVoidAsync("matBlazor.matSlider.updateValueMax", Ref, value); + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + }); } + return value; } [Parameter] @@ -168,8 +196,8 @@ public string MarkerStyle { try { - decimal.TryParse(ValueMin.ToString(), out var min); - decimal.TryParse(ValueMax.ToString(), out var max); + decimal.TryParse(Min.ToString(), out var min); + decimal.TryParse(Max.ToString(), out var max); if (!decimal.TryParse(Step.ToString(), out var step)) { step = 1; diff --git a/src/MatBlazor/Components/MatSlider/MatSlider.razor b/src/MatBlazor/Components/MatSlider/MatSlider.razor index e47fafb5..58c366ad 100644 --- a/src/MatBlazor/Components/MatSlider/MatSlider.razor +++ b/src/MatBlazor/Components/MatSlider/MatSlider.razor @@ -4,7 +4,7 @@