@using ClientContext = MatrixUtils.Web.Pages.Client.Index.ClientContext;
@using System.Collections.ObjectModel
@foreach (var ctx in Data) {
@ctx.Homeserver.UserId - @ctx.SyncWrapper.Status
}
@code {
[Parameter]
public ObservableCollection Data { get; set; } = null!;
protected override void OnInitialized() {
Data.CollectionChanged += (_, e) => {
foreach (var item in e.NewItems?.Cast() ?? []) {
item.SyncWrapper.PropertyChanged += (_, pe) => {
if (pe.PropertyName == nameof(item.SyncWrapper.Status))
StateHasChanged();
};
}
StateHasChanged();
};
Data.ToList().ForEach(ctx => {
ctx.SyncWrapper.PropertyChanged += (_, pe) => {
if (pe.PropertyName == nameof(ctx.SyncWrapper.Status))
StateHasChanged();
};
});
}
}