Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7694,12 +7694,6 @@
Gets or sets the content to be rendered inside the component.
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentSlider`1.JSRuntime">
<summary />
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentSlider`1._jsModule">
<summary />
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.FluentSlider`1.Min">
<summary>
Gets or sets the slider's minimal value.
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Components/Slider/FluentSlider.razor
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
orientation="@Orientation.ToAttributeValue()"
mode="@Mode.ToAttributeValue()"
id="@Id"
value=@CurrentValueAsString
value="@BindConverter.FormatValue(Value?.ToString())"
disabled="@Disabled"
name=@Name
required=@Required
Expand Down
40 changes: 1 addition & 39 deletions src/Core/Components/Slider/FluentSlider.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,9 @@

namespace Microsoft.FluentUI.AspNetCore.Components;

public partial class FluentSlider<TValue> : FluentInputBase<TValue>, IAsyncDisposable
public partial class FluentSlider<TValue> : FluentInputBase<TValue>
where TValue : System.Numerics.INumber<TValue>
{
private const string JAVASCRIPT_FILE = "./_content/Microsoft.FluentUI.AspNetCore.Components/Components/Slider/FluentSlider.razor.js";

/// <summary />
[Inject]
private IJSRuntime JSRuntime { get; set; } = default!;

/// <summary />
private IJSObjectReference? _jsModule { get; set; }

/// <summary>
/// Gets or sets the slider's minimal value.
/// </summary>
Expand Down Expand Up @@ -73,18 +64,6 @@ protected override void OnParametersSet()
ArgumentNullException.ThrowIfNull(Step, nameof(Step));
}

protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
_jsModule ??= await JSRuntime.InvokeAsync<IJSObjectReference>("import", JAVASCRIPT_FILE);
}
if (_jsModule is not null)
{
await _jsModule!.InvokeVoidAsync("updateSlider", Element);
}
}

protected override bool TryParseValueFromString(string? value, [MaybeNullWhen(false)] out TValue result, [NotNullWhen(false)] out string? validationErrorMessage)
{
if (BindConverter.TryConvertTo<TValue>(value, CultureInfo.InvariantCulture, out result))
Expand Down Expand Up @@ -142,21 +121,4 @@ private static string GetStepAttributeValue()
throw new InvalidOperationException($"The type '{targetType}' is not a supported numeric type.");
}
}

public async ValueTask DisposeAsync()
{
try
{
if (_jsModule is not null)
{
await _jsModule.DisposeAsync();
}
}
catch (Exception ex) when (ex is JSDisconnectedException ||
ex is OperationCanceledException)
{
// The JSRuntime side may routinely be gone already if the reason we're disposing is that
// the client disconnected. This is not an error.
}
}
}