void OnIsLoadingChanged(IncrementalLoadingCollection <EntityType> list, bool isLoading) { if (IsLoadingChanged != null) { IsLoadingChanged.Invoke(list, isLoading); } }
private async Task SubmitAsync() { IsLoading = true; await IsLoadingChanged.InvokeAsync(IsLoading); var user = MUser.FromUser(User); user.Biography = await editor.GetHTML(); if (user.Biography == "<p><br></p>") { user.Biography = null; } if (avatarPreview != null) { var response = await HttpClient.PostAsJsonAsync("api/images", avatarPreview); user.AvatarImageId = int.Parse(await response.Content.ReadAsStringAsync()); } await HttpClient.PutAsJsonAsync("api/users/profile", user); NavigationManager.NavigateTo(NavigationManager.Uri, true); IsLoading = false; }
protected void EndUpdate() { IsLoadingChanged?.Invoke(this, new IsLoadingEventArgs() { IsLoading = false }); }
protected void BeginUpdate() { IsLoadingChanged?.Invoke(this, new IsLoadingEventArgs() { IsLoading = true }); }
public void SubscribeToDataChanges() { if (disposable.IsDisposed) { throw new ObjectDisposedException("Object has already been disposed."); } if (whenDataChangesSubscription == null) { whenDataChangesSubscription = new SerialDisposable(); } var changes = DataChanges; var loadingBuffer = changes .Buffer(IsLoadingChanged.Where(isLoading => isLoading), c => IsLoadingChanged.Where(isLoading => !isLoading)) .Take(1); changes = changes .Where(_ => !IsLoading) .Merge(loadingBuffer.SelectMany(c => c)); whenDataChangesSubscription.Disposable = changes .Select(c => c.Where(change => ApplyModelFilter(change.Entity)).ToList()) .Where(c => c.Count > 0) .ObserveOn(DispatcherScheduler) .Finally(OnDataChangesSubscriptionFinished) .Select(CloneEntityChanges) .Subscribe(CreateDataChangesObserver()); LoadEntities(); }
/// <summary> /// Raises the <see cref="IsLoadingChanged" /> event. /// </summary> protected void RaiseIsLoadingChanged() { IsLoadingChanged?.Invoke(this, EventArgs.Empty); }
private void RaiseIsLoadingChanged(bool isLoading) { IsLoadingChanged?.Invoke(this, isLoading); }