1using System.Collections.ObjectModel;
2using CommunityToolkit.Mvvm.ComponentModel;
8 public partial class KycSection : ObservableObject, IDisposable
10 private bool disposed;
11 private readonly List<IDisposable> subscriptions =
new();
21 public ObservableCollection<ObservableKycField> AllFields {
get; } =
new();
23 public ReadOnlyObservableCollection<ObservableKycField> VisibleFields => this.VisibleFieldsCollection;
25 public int VisibleFieldsCount => this.VisibleFields.Count;
26 public bool IsVisible {
get;
private set; } =
true;
28 public void UpdateVisibilities(IDictionary<string, string?> Values)
32 Field.IsVisible = Field.
Condition?.Evaluate(Values) ??
true;
34 this.IsVisible = this.VisibleFields.Count > 0;
35 this.VisibleFieldsCollection.Refresh();
38 protected virtual void Dispose(
bool Disposing)
46 this.VisibleFieldsCollection.Dispose();
47 this.subscriptions.ForEach(Sub => Sub.Dispose());
48 this.subscriptions.Clear();
56 GC.SuppressFinalize(
this);
Represents a set of localized strings, addressable by language code (e.g. "en", "sv").
The base KYC field model. Use as-is for generic fields, or subclass for custom logic.
KycCondition? Condition
Conditional display of this field.
Provides a live, read-only filtered view of an ObservableCollection<T> that stays in sync and maintai...