internal static IObservable <Unit> Connect(this ApplicationModulesManager applicationModulesManager)
        {
            var listViewProcessSelectedItem = ListViewProcessSelectedItem.Publish().AutoConnect();
            var connect = SynchronizeDetailView
                          .Merge(listViewProcessSelectedItem.ToUnit())
                          .Merge(DisableListViewController("ListViewFastCallbackHandlerController"))
                          .Merge(DisableDetailViewViewController("ActionsFastCallbackHandlerController"))
                          .Merge(SaveAction)
                          .Merge(RefreshListView)
                          .ToUnit();

            return(applicationModulesManager.RegisterActions().ToUnit()
                   .Concat(connect)
                   .TakeUntilDisposingMainWindow());
        }
        internal static IObservable <Unit> Connect(this ApplicationModulesManager applicationModulesManager, XafApplication application)
        {
            if (application == null)
            {
                return(Observable.Empty <Unit>());
            }
            var listViewProcessSelectedItem = application.WhenMasterDetailListViewProcessSelectedItem().Publish().AutoConnect();

            return(application.WhenSynchronizeDetailView()
                   .Merge(listViewProcessSelectedItem.ToUnit())
                   .Merge(application.DisableListViewController("ListViewFastCallbackHandlerController"))
                   .Merge(application.DisableDetailViewViewController("ActionsFastCallbackHandlerController"))
                   .Merge(application.WhenSaveAction())
                   .Merge(application.WhenRefreshListView())
                   .Merge(applicationModulesManager.RegisterActions().ToUnit())
                   .ToUnit());
        }
示例#3
0
 public static IObservable <Unit> LookupCascade(this ApplicationModulesManager manager)
 {
     return(CustomizeTypesInfo(manager).Merge(manager.RegisterActions()));
 }