~ruther/NosTale-PacketLogger

26f9206b4b392d1ba0b5ed0527ea2752d973fbca — Rutherther 2 years ago b1c1951
feat: observe changes of filtered packets inside of source list subscription
1 files changed, 6 insertions(+), 14 deletions(-)

M src/PacketLogger/ViewModels/LogTabViewModel.cs
M src/PacketLogger/ViewModels/LogTabViewModel.cs => src/PacketLogger/ViewModels/LogTabViewModel.cs +6 -14
@@ 64,23 64,15 @@ public class LogTabViewModel : ViewModelBase, IDisposable
            .Bind(out _packets)
            .ObserveOn(RxApp.MainThreadScheduler)
            .DisposeMany()
            .Subscribe();

        var scrollSubscription = FilteredPackets.ObserveCollectionChanges()
            .ObserveOn(RxApp.MainThreadScheduler)
            .Do
            (
                change =>
            .Subscribe(_ =>
            {
                if (Scroll)
                {
                    if (Scroll && change.EventArgs.NewItems is not null)
                    {
                        RxApp.MainThreadScheduler.Schedule(DateTimeOffset.Now.AddMilliseconds(100), () => SelectedPacket = FilteredPackets[^1]);
                    }
                    RxApp.MainThreadScheduler.Schedule(DateTimeOffset.Now.AddMilliseconds(100), () => SelectedPacket = FilteredPackets[^1]);
                }
            )
            .Subscribe();
            });

        _cleanUp = new CompositeDisposable(scrollSubscription, packetsSubscription);
        _cleanUp = packetsSubscription;
        CopyPackets = ReactiveCommand.CreateFromObservable<IList, Unit>
        (
            list => Observable.StartAsync

Do not follow this link