UI.Shared
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package UI.Shared --version 1.0.0
NuGet\Install-Package UI.Shared -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="UI.Shared" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="UI.Shared" Version="1.0.0" />
<PackageReference Include="UI.Shared" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add UI.Shared --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: UI.Shared, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package UI.Shared@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=UI.Shared&version=1.0.0
#tool nuget:?package=UI.Shared&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
UI.Shared - Blazor UI Servisleri
UI.Shared paketi, Blazor WASM projeleri için paylaşımlı UI servisleri içerir: Modal, Spinner, Toast, Sidebar ve HTTP Service. Bu paket, projeye kolay entegrasyon sağlar ve tüm servisler NuGet paketi üzerinden kullanılabilir.
1️⃣ Program.cs – Servisleri ekleme
Her servis kullanılmadan önce Program.cs içinde paket servislerini ekleyin:
using UI.Shared;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
// UI.Shared servislerini ekler (Modal, Spinner, Toast, Sidebar, HTTP)
builder.Services.AddUIServices();
await builder.Build().RunAsync();
AddUIServices() tüm servisleri scoped olarak ekler.
HTTP servis kullanıyorsanız SpinnerHttpHandler da HttpClient ile zincirlenir.
2️⃣ _Imports.razor
Razor componentlerini kullanmak için _Imports.razor dosyasına aşağıyı ekleyin:
razor
Kodu kopyala
@using UI.Shared.Components
@using UI.Shared.Services
Böylece <ModalHost />, <SpinnerHost />, <ToastHost />, <Sidebar /> gibi componentleri sayfalarda doğrudan kullanabilirsiniz.
3️⃣ Layout ve CSS / JS ekleme
RCL paketi içinde bulunan CSS ve JS dosyalarını projenize ekleyin:
MainLayout.razor veya App.razor:
razor
Kodu kopyala
<link href="_content/UI.Shared/css/ui.shared.css" rel="stylesheet" />
<script src="_content/UI.Shared/js/modal.js"></script>
<script src="_content/UI.Shared/js/sidebar.js"></script>
<script src="_content/UI.Shared/js/spinner.js"></script>
<script src="_content/UI.Shared/js/toast.js"></script>
<div class="main-layout">
<Sidebar />
<div class="main-content">
@Body
</div>
</div>
<ModalHost />
<SpinnerHost />
<ToastHost />
_content/UI.Shared/... yolu NuGet paketinin RCL içeriğini gösterir.
4️⃣ Servisler ve Kullanımları
4.1 ModalService
Modal pencereleri açmak için kullanılır.
Sayfa örneği:
razor
Kodu kopyala
@inject ModalService ModalService
<button @onclick="OpenModal">Modal Aç</button>
@code {
private void OpenModal()
{
ModalService.Show<ExampleModal>("Başlık", new Dictionary<string, object>
{
{ "Parameter1", "Değer" }
});
}
}
<ExampleModal /> RCL içinde tanımlı bir Razor component.
Parametreler dictionary ile gönderilebilir.
4.2 SpinnerService
Sayfa veya HTTP istekleri sırasında yükleme animasyonu gösterir.
Sayfa örneği:
razor
Kodu kopyala
@inject SpinnerService SpinnerService
<button @onclick="ShowSpinner">Göster</button>
@code {
private void ShowSpinner()
{
SpinnerService.Show();
Task.Delay(2000).ContinueWith(_ => SpinnerService.Hide());
}
}
Spinner otomatik olarak Modal veya HTTP istekleriyle de tetiklenebilir.
4.3 ToastService
Bilgilendirme mesajları (başarılı, hata, uyarı) göstermek için kullanılır.
Sayfa örneği:
razor
Kodu kopyala
@inject ToastService ToastService
<button @onclick="ShowToast">Toast Göster</button>
@code {
private void ShowToast()
{
ToastService.Show("İşlem başarılı!", ToastLevel.Success);
}
}
Toast seviyeleri: Success, Error, Info, Warning.
4.4 SidebarService
Sidebar davranışını kontrol eder (açma/kapama, genişleme).
MainLayout örneği:
razor
Kodu kopyala
@inject SidebarService SidebarService
<Sidebar />
<button @onclick="() => SidebarService.Toggle()">Sidebar Aç/Kapat</button>
Hover veya click ile açılmasını JS + CSS tarafından kontrol edebilirsiniz.
Sidebar componenti RCL’den gelir ve kendi animasyonlarına sahiptir.
4.5 HttpCustomService
HTTP istekleri için Spinner ve token yönetimi sağlar.
Kullanım örneği:
csharp
Kodu kopyala
@inject IHttpCustomService HttpService
@code {
private async Task GetData()
{
var result = await HttpService.HttpClientAsync<MyData>(
HttpClientMethod.Get,
"api/data",
new HttpOptions { queryString = "page=1" }
);
}
}
Spinner otomatik olarak HTTP istekleri sırasında görünür.
Token refresh ve yetki kontrolü serviste hazırdır.
5️⃣ Özet Dosya Yapısı
rust
Kodu kopyala
MyBlazorApp/
│
├─ Program.cs -> builder.Services.AddUIServices();
├─ _Imports.razor -> @using UI.Shared.Components
├─ MainLayout.razor -> CSS ve JS importları + <ModalHost/>, <ToastHost/> vb.
├─ Pages/
│ ├─ Index.razor -> Modal, Toast, Spinner kullanım örnekleri
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Blazored.LocalStorage (>= 4.5.0)
- Dtos (>= 1.0.0)
- Microsoft.AspNetCore.Components.Authorization (>= 8.0.20)
- Microsoft.AspNetCore.Components.Web (>= 8.0.20)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.