Пример #1
0
        protected override void OnInitialize()
        {
            base.OnInitialize();

            AddressesToMove = new List <Address>();
            AddressSelector.Init();
            AddressSelector.FilterChanged.Cast <object>()
            .Merge(Prices.SelectMany(x => x?.Select(p => p.Changed()).Merge().Throttle(Consts.FilterUpdateTimeout, UiScheduler)
                                     ?? Observable.Empty <EventPattern <PropertyChangedEventArgs> >()))
            .Merge(Prices.Where(x => x != null))
            .Subscribe(_ => Update(), CloseCancellation.Token);

            RxQuery(s => s.Query <Price>().OrderBy(x => x.Name).Select(x => new Selectable <Price>(x)).ToList())
            .Subscribe(Prices, CloseCancellation.Token);
        }
Пример #2
0
 public static IObservable <EventPattern <PropertyChangedEventArgs> > FilterChanged <T>(this NotifyValue <IList <Selectable <T> > > selectable)
 {
     return(selectable.SelectMany(p => p?.Select(x => x.Changed()).Merge() ?? Observable.Empty <EventPattern <PropertyChangedEventArgs> >()));
 }