Skip to content
38 changes: 19 additions & 19 deletions src/MatBlazor.Demo/Demo/DemoMatSlider.razor
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<h5 class="mat-h5">Continuous Slider: @Val</h5>
<DemoContainer>
<Content>
<MatSlider @bind-Value="@Val"></MatSlider>
<MatSlider @bind-Value="@Val" ></MatSlider>

@code
{
Expand Down Expand Up @@ -50,7 +50,7 @@
<h5 class="mat-h5">Initializing the slider with custom ranges/values: @Val2</h5>
<DemoContainer>
<Content>
<MatSlider @bind-Value="@Val2" ValueMin="-10" ValueMax="20"></MatSlider>
<MatSlider @bind-Value="@Val2" Min="-10" Max="20"></MatSlider>

@code
{
Expand All @@ -71,7 +71,7 @@
</Content>
<SourceContent>
<BlazorFiddle Template="MatBlazor" Code=@(@"
<MatSlider @bind-Value=""@Val2"" ValueMin=""-10"" ValueMax=""20""></MatSlider>
<MatSlider @bind-Value=""@Val2"" Min=""-10"" Max=""20""></MatSlider>

@code
{
Expand All @@ -98,7 +98,7 @@
<p>Pin will round to nearest 3 digit. Pin only works with Discrete.</p>
<DemoContainer>
<Content>
<MatSlider @bind-Value="@Val3" Discrete="true" Pin="true" TValue="int" ValueMin="0" ValueMax="50"></MatSlider>
<MatSlider @bind-Value="@Val3" Discrete="true" Pin="true" TValue="int" Min="0" Max="50"></MatSlider>

@code
{
Expand All @@ -119,7 +119,7 @@
</Content>
<SourceContent>
<BlazorFiddle Template="MatBlazor" Code=@(@"
<MatSlider @bind-Value=""@Val3"" Discrete=""true"" Pin=""true"" TValue=""int"" ValueMin=""0"" ValueMax=""50""></MatSlider>
<MatSlider @bind-Value=""@Val3"" Discrete=""true"" Pin=""true"" TValue=""int"" Min=""0"" Max=""50""></MatSlider>

@code
{
Expand All @@ -145,7 +145,7 @@
<p>Markers only work with Discrete</p>
<DemoContainer>
<Content>
<MatSlider @bind-Value="@Val4" Step="5" EnableStep="true" ValueMin="0" ValueMax="100" Markers="true" Pin="true" TValue="int" Discrete="true"></MatSlider>
<MatSlider @bind-Value="@Val4" Step="5" EnableStep="true" Min="0" Max="100" Markers="true" Pin="true" TValue="int" Discrete="true"></MatSlider>

@code
{
Expand All @@ -166,7 +166,7 @@
</Content>
<SourceContent>
<BlazorFiddle Template="MatBlazor" Code=@(@"
<MatSlider @bind-Value=""@Val4"" Step=""5"" EnableStep=""true"" ValueMin=""0"" ValueMax=""100"" Markers=""true"" Pin=""true"" TValue=""int"" Discrete=""true""></MatSlider>
<MatSlider @bind-Value=""@Val4"" Step=""5"" EnableStep=""true"" Min=""0"" Max=""100"" Markers=""true"" Pin=""true"" TValue=""int"" Discrete=""true""></MatSlider>

@code
{
Expand All @@ -193,7 +193,7 @@
<p>Changes to the slider will immediately reflect in changes to the value.</p>
<DemoContainer>
<Content>
<MatSlider @bind-Value="@Val5" Immediate="true" Discrete="true" Pin="true" TValue="int" ValueMin="0" ValueMax="50"></MatSlider>
<MatSlider @bind-Value="@Val5" Immediate="true" Discrete="true" Pin="true" TValue="int" Min="0" Max="50"></MatSlider>

@code
{
Expand All @@ -214,7 +214,7 @@
</Content>
<SourceContent>
<BlazorFiddle Template="MatBlazor" Code=@(@"
<MatSlider @bind-Value=""@Val5"" Immediate=""true"" Discrete=""true"" Pin=""true"" TValue=""int"" ValueMin=""0"" ValueMax=""50""></MatSlider>
<MatSlider @bind-Value=""@Val5"" Immediate=""true"" Discrete=""true"" Pin=""true"" TValue=""int"" Min=""0"" Max=""50""></MatSlider>

@code
{
Expand Down Expand Up @@ -288,16 +288,16 @@
<DemoContainer>
<Content>
<MatTextField @bind-Value="@Value" Label="Value"></MatTextField>
<MatTextField @bind-Value="@ValueMin" Label="ValueMin"></MatTextField>
<MatTextField @bind-Value="@ValueMax" Label="ValueMax"></MatTextField>
<MatSlider TValue="decimal" Value="@Value" ValueMin="@ValueMin" ValueMax="@ValueMax" ValueChanged="@OnValueChanged2"></MatSlider>
<MatTextField @bind-Value="@Min" Label="Min"></MatTextField>
<MatTextField @bind-Value="@Max" Label="Max"></MatTextField>
<MatSlider TValue="decimal" Value="@Value" Min="@Min" Max="@Max" ValueChanged="@OnValueChanged2"></MatSlider>

@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)
{
Expand All @@ -310,16 +310,16 @@
<SourceContent>
<BlazorFiddle Template="MatBlazor" Code=@(@"
<MatTextField @bind-Value=""@Value"" Label=""Value""></MatTextField>
<MatTextField @bind-Value=""@ValueMin"" Label=""ValueMin""></MatTextField>
<MatTextField @bind-Value=""@ValueMax"" Label=""ValueMax""></MatTextField>
<MatSlider TValue=""decimal"" Value=""@Value"" ValueMin=""@ValueMin"" ValueMax=""@ValueMax"" ValueChanged=""@OnValueChanged2""></MatSlider>
<MatTextField @bind-Value=""@Min"" Label=""Min""></MatTextField>
<MatTextField @bind-Value=""@Max"" Label=""Max""></MatTextField>
<MatSlider TValue=""decimal"" Value=""@Value"" Min=""@Min"" Max=""@Max"" ValueChanged=""@OnValueChanged2""></MatSlider>

@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)
{
Expand Down
24 changes: 12 additions & 12 deletions src/MatBlazor.Demo/Demo/DemoNumericUpDownField.razor
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<MatNumericUpDownField Label="No decimal places"
@bind-Value=@testingNullableDecimal2
DecimalPlaces=0
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -35,7 +35,7 @@
@bind-Value=@testingNullableDecimal1
FieldType="MatNumericUpDownFieldType.Percent"
DecimalPlaces=0
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -44,7 +44,7 @@
@bind-Value=@testingNullableDecimal2
DecimalPlaces=0
Disabled=true
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -53,7 +53,7 @@
@bind-Value=@testingNullableDecimal3
DecimalPlaces=0
Icon="favorite"
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -62,7 +62,7 @@
@bind-Value=@testingNullableDecimal4
DecimalPlaces=0
Outlined="true"
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -79,7 +79,7 @@
DecimalPlaces=0
Outlined="true"
FullWidth="true"
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand Down Expand Up @@ -122,7 +122,7 @@
<MatNumericUpDownField Label=""No decimal places""
@bind-Value=@testingNullableDecimal2
DecimalPlaces=0
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -139,7 +139,7 @@
@bind-Value=@testingNullableDecimal1
FieldType=""MatNumericUpDownFieldType.Percent""
DecimalPlaces=0
Minimum=null Maximum=null>
Minimum=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -148,7 +148,7 @@
@bind-Value=@testingNullableDecimal2
DecimalPlaces=0
Disabled=true
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -157,7 +157,7 @@
@bind-Value=@testingNullableDecimal3
DecimalPlaces=0
Icon=""favorite""
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -166,7 +166,7 @@
@bind-Value=@testingNullableDecimal4
DecimalPlaces=0
Outlined=""true""
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand All @@ -183,7 +183,7 @@
DecimalPlaces=0
Outlined=""true""
FullWidth=""true""
Minimum=null Maximum=null>
Min=null Max=null>
</MatNumericUpDownField>
</p>

Expand Down
10 changes: 10 additions & 0 deletions src/MatBlazor.Demo/Doc/DocMatNumericUpDownField.razor
Original file line number Diff line number Diff line change
Expand Up @@ -134,11 +134,21 @@
<td>String</td>
<td></td>
</tr>
<tr>
<td>Max</td>
<td>TValue</td>
<td></td>
</tr>
<tr>
<td>Maximum</td>
<td>TValue</td>
<td></td>
</tr>
<tr>
<td>Min</td>
<td>TValue</td>
<td></td>
</tr>
<tr>
<td>Minimum</td>
<td>TValue</td>
Expand Down
10 changes: 10 additions & 0 deletions src/MatBlazor.Demo/Doc/DocMatSlider.razor
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,16 @@
<td>Boolean</td>
<td></td>
</tr>
<tr>
<td>Max</td>
<td>TValue</td>
<td></td>
</tr>
<tr>
<td>Min</td>
<td>TValue</td>
<td></td>
</tr>
<tr>
<td>Pin</td>
<td>Boolean</td>
Expand Down
2 changes: 1 addition & 1 deletion src/MatBlazor.Demo/Shared/Sponsors.razor
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The development is active and we are working hard to release great things for yo
<li><a href="https://github.com/MaurizioVerde">Maurizio Verde</a></li>
<li>Adam Salvo</li>
<li>Dorana</li>
<li>Yevhen Shmakov</li>
<li><a href="https://github.com/enginexon">Eugene Shmakov</a></li>
<li>Jacobus Terhorst</li>
<li>Xiao Song</li>
<li>Martin Friesenbichler</li>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

Expand All @@ -11,19 +12,21 @@ namespace MatBlazor
/// <typeparam name="TValue">sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, decimal?</typeparam>
public class BaseMatNumericUpDownFieldInternal<TValue> : MatInputTextComponent<TValue>
{
private TValue minimum;
private TValue maximum;
protected override EventCallback<KeyboardEventArgs> OnKeyDownEvent()
{
return OnKeyDownEvent2;
}

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
Expand All @@ -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;
Expand Down Expand Up @@ -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");
Expand Down Expand Up @@ -148,8 +185,8 @@ protected override bool TryParseValueFromString(string value, out TValue result,
if (result != null) // Snap to Min/Max
{
var comparer = Comparer<TValue>.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;
Expand Down
Loading