Ejemplo n.º 1
0
 void OnIsLoadingChanged(IncrementalLoadingCollection <EntityType> list, bool isLoading)
 {
     if (IsLoadingChanged != null)
     {
         IsLoadingChanged.Invoke(list, isLoading);
     }
 }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
 protected void EndUpdate()
 {
     IsLoadingChanged?.Invoke(this, new IsLoadingEventArgs()
     {
         IsLoading = false
     });
 }
Ejemplo n.º 4
0
 protected void BeginUpdate()
 {
     IsLoadingChanged?.Invoke(this, new IsLoadingEventArgs()
     {
         IsLoading = true
     });
 }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Raises the <see cref="IsLoadingChanged" /> event.
 /// </summary>
 protected void RaiseIsLoadingChanged()
 {
     IsLoadingChanged?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 7
0
 private void RaiseIsLoadingChanged(bool isLoading)
 {
     IsLoadingChanged?.Invoke(this, isLoading);
 }