protected override void OnInitialize() { base.OnInitialize(); AddressSelector.Init(); Env.RxQuery(s => s.Query <Supplier>().OrderBy(x => x.Name) .ToList() .Select(x => new Selectable <Supplier>(x)).ToList()) .Subscribe(Suppliers); var supplierSelectionChanged = Suppliers.SelectMany(x => x?.Select(p => p.Changed()).Merge() .Throttle(Consts.FilterUpdateTimeout, UiScheduler) ?? Observable.Empty <EventPattern <PropertyChangedEventArgs> >()); Begin.Changed() .Merge(End.Changed()) .Merge(IsFilterByDocumentDate.Changed()) .Merge(RejectFilter.Changed()) .Merge(supplierSelectionChanged) .Merge(AddressSelector.FilterChanged) .Merge(TypeFilter.Changed()) .Merge(Suppliers.Where(x => x != null).Cast <object>()) .Merge(Bus.Listen <Waybill>()) .Merge(DbReloadToken) .Throttle(TimeSpan.FromMilliseconds(50), Scheduler) .Subscribe(_ => Update(), CloseCancellation.Token); }