internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => { var positionInListCreated = application.WhenPositionInListCreated(); return(positionInListCreated.SortCollectionSource() .Merge(positionInListCreated.DisableSorting()) .Merge(application.ReturnObservable().PositionNewObjects())); });
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => { var whenModelReady = application.WhenModelChanged().Skip(1).Publish().RefCount(); return(application.WhenStartupView() .Merge(application.WhenModelChanged().FirstAsync().RegisterOrganizationNonSecured(application)) .Merge(whenModelReady.MarkupMessage())); });
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => { var cleanStartupNavigationItem = CleanStartupNavigationItem(application); var showView = application.ShowView().Publish().RefCount(); return(showView.EditModel().ToUnit() .Merge(showView.ExitApplication(application)) .Merge(application.HideMainWindow()) .Merge(cleanStartupNavigationItem)); });
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) { var whenApplication = manager.WhenApplication(); var whenPositionInListCreated = WhenPositionInListCreated(whenApplication); return(whenApplication.PositionNewObjects() .Merge(whenPositionInListCreated.SortCollectionSource()) .Merge(whenPositionInListCreated.DisableSorting())); }
internal static IObservable <Unit> HideToolBarConnect(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenNestedFrameCreated() .SelectMany(frame => frame.WhenTemplateChanged() .WhenToolBarNeedHide() .Do(template => { // ((List<IActionControlContainer>) template.ViewActionContainers).Clear(); // ((List<IActionControlContainer>) template.SelectionIndependentActionContainers).Clear(); // ((List<IActionControlContainer>) template.SelectionDependentActionContainers).Clear(); }))).ToUnit();
internal static IObservable <Unit> ConnectJobSchedulerNotification(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenNotification <Product>() .SelectMany(t => t.objects.Do(product => { var testTask = t.worker.ObjectSpace.CreateObject <TestTask>(); testTask.Subject = product.Id.ToString(); t.worker.ObjectSpace.CommitChanges(); }).ToNowObservable() .Finally(() => t.worker.NotifyFinish()) .ToUnit()));
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenWindowTemplate() .MultiInstance().Startup().ConfigureForm().NotifyIcon() .ExitAfterModelEdit().CancelExit() .OnWindowDeactivation(window => !window.Model().Exit.OnDeactivation.ApplyInMainWindow) .OnWindowEscape() .Merge(application.WhenPopupWindows() .ConfigureForm(window => window.Model().Form.PopupWindows) .OnWindowDeactivation().OnWindowEscape()).ToUnit() .Merge(application.SystemActionsConnect()) ).ToUnit();
private static IObservable <Unit> ConfigureNewJob(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenDetailViewCreated(typeof(Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job))) .Do(t => { var job = (Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job)t.e.View.CurrentObject; if (job.IsNewObject) { job.JobType = job.JobTypes.First(); job.JobMethod = job.JobMethods.First(); } }) .ToUnit();
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager, Type sequenceStorageType = null) { sequenceStorageType ??= typeof(SequenceStorage); Guard.TypeArgumentIs(typeof(ISequenceStorage), sequenceStorageType, nameof(sequenceStorageType)); return(manager.WhenApplication(application => application.WhenCompatibilityChecked().FirstAsync().Select(xafApplication => xafApplication.ObjectSpaceProvider) .Where(provider => !provider.IsInstanceOf("DevExpress.ExpressApp.Security.ClientServer.MiddleTierServerObjectSpaceProvider")) .SelectMany(provider => provider.SequenceGeneratorDatalayer() .SelectMany(dataLayer => application.WhenObjectSpaceCreated().GenerateSequences(dataLayer, sequenceStorageType) .Merge(application.Security.AddAnonymousType(sequenceStorageType).ToObservable()))) .Merge(application.ConfigureDetailViewSequenceStorage()).ToUnit())); }
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager, Type sequenceStorageType = null) { sequenceStorageType ??= typeof(SequenceStorage); Guard.TypeArgumentIs(typeof(ISequenceStorage), sequenceStorageType, nameof(sequenceStorageType)); return(manager.WhenApplication(application => { var objectSpaceProvider = application.ObjectSpaceProvider == null ? application.WhenSetupComplete() .Select(_ => application.ObjectSpaceProvider) : application.ObjectSpaceProvider.ReturnObservable(); return objectSpaceProvider.SelectMany(provider => provider.SequenceGeneratorDatalayer() .SelectMany(dataLayer => application.WhenObjectSpaceCreated().GenerateSequences(dataLayer, sequenceStorageType) .Merge(application.Security.AddAnonymousType(sequenceStorageType).ToObservable()))) .Merge(application.ConfigureDetailViewSequenceStorage()).ToUnit(); })); }
internal static IObservable <Unit> DocumentStyleLinkTemplate(this ApplicationModulesManager manager) => new[] { typeof(ApplyTemplateStyle), typeof(BusinessObjects.DocumentStyleManager) }.ToObservable() .SelectMany(type => manager.WhenApplication(application => application.WhenViewOnFrame(type, ViewType.DetailView) .Select(frame => frame.Action("OpenObject")).WhenNotDefault().Cast <SimpleAction>().WhenExecuted() .SelectMany(_ => { var detailView = _.Action.View <DetailView>(); var document = (detailView.ObjectTypeInfo.Type == typeof(ApplyTemplateStyle) ? detailView.ApplyTemplateStyleChangedRichEditControl() : detailView.DocumentManagerContentRichEditServer()).Document; return(((DocumentStyleLinkTemplate)_.ShowViewParameters.CreatedView.CurrentObject).DocumentStyleLinks .Do(link => link.SetDefaultPropertiesProvider(document))); }).ToUnit().TraceDocumentStyleModule() ));
internal static IObservable <Unit> BindConnect(this ApplicationModulesManager manager) => manager.WhenApplication(application => { var controlsCreated = application.WhenObjectViewCreated() .WhenControlsCreated().Select(tuple => tuple) .Publish().RefCount(); return(controlsCreated.ViewModelProperties() .Merge(controlsCreated.ViewItemBindData()) .Do(tuple => BindTo(tuple)) .TraceModelMapper() .ToUnit() .Merge(application.BindLayoutGroupControl().TraceModelMapper().ToUnit())); });
private static IObservable <Unit> ConfigureNewJob(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenDetailViewCreated(typeof(Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job))) .Do(t => { var job = (Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job)t.e.View.CurrentObject; if (job.IsNewObject && job.JobType == null) { job.JobType = job.JobTypes.First(); job.JobMethod = job.JobMethods.First(); } // else if (job is ExecuteActionJob actionJob) { // actionJob.Action = actionJob.Actions.First(s => s.Name=="Delete"); // actionJob.View = actionJob.Views.First(s => s.Name=="Product_ListView"); // actionJob.Id = Guid.NewGuid().ToString(); // actionJob.SelectedObjectsCriteria = $"{nameof(Product.ProductName)}='del'"; // } }) .ToUnit();
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => { if (!(application is ILoggerHubClientApplication)) { TraceEventHub.Init(); } var startServer = application.StartServer().Publish().RefCount(); var client = Observable.Start(application.ConnectClient).Merge().Publish().RefCount(); application.CleanUpHubResources(startServer); var saveServerTraceMessages = application.SaveServerTraceMessages().Publish().RefCount(); return(startServer.ToUnit() .Merge(client.ToUnit()) .Merge(saveServerTraceMessages.ToUnit()) .Merge(application.WhenViewOnFrame(typeof(TraceEvent)) .SelectMany(frame => saveServerTraceMessages.LoadTracesToListView(frame)))); });
public static IObservable <Unit> ConnectDocumentStyleManager(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenListViewCreating(typeof(DocumentStyleLinkTemplate)) .SelectMany(t => { var nonPersistentObjectSpace = ((NonPersistentObjectSpace)t.e.ObjectSpace); var objectSpaces = nonPersistentObjectSpace.AdditionalObjectSpaces; var needPersistentObjectSpace = objectSpaces.Any(space => space.IsKnownType(t.e.CollectionSource.ObjectTypeInfo.Type)); IObjectSpace objectSpace = null; if (!needPersistentObjectSpace) { objectSpace = application.CreateObjectSpace(typeof(DocumentStyleLinkTemplate)); objectSpaces.Add(objectSpace); } return(nonPersistentObjectSpace.WhenDisposed().Do(_ => { if (needPersistentObjectSpace) { objectSpace?.Dispose(); } })); })) .Do(tuple => {}) .ToUnit();
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager .WhenApplication(application => application.RegisterClientScripts().Merge(application.StoreDataSource()));
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.DefaultLookupPropertyEditor() .Merge(manager.MarkupContentPropertyEditor()) .Merge(manager.CheckBlazor(typeof(BlazorStartup).FullName, typeof(BlazorModule).Namespace)) .Merge(manager.WhenApplication(application => application.UseCustomNestedFrameTemplate() .Merge(application.ApplyDxDataGridModel())).ToUnit());
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenAutoCommitObjectViewCreated().AutoCommit().ToUnit());
private static IObservable <Unit> WhenTemplateDocumentListViewOnFrame(this ApplicationModulesManager manager, Func <IObservable <NestedFrame>, IObservable <Unit> > nestedFrame) => manager.WhenApplication(application => nestedFrame(application .WhenViewOnFrame(typeof(TemplateDocument), ViewType.ListView, Nesting.Nested) .Cast <NestedFrame>()));
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenViewEditModeChanged().ToUnit() .Merge(application.HandleWebEditAction(), Scheduler.Immediate));
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.RefreshView());
private static IObservable <Unit> SynchronizeScrolling(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.WhenDetailViewCreated().ToDetailView() .SynchronizeScrolling <BusinessObjects.DocumentStyleManager>(style => style.Original, style => style.Content));
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication().SelectMany(application => application.RememberTopRow().Retry(application).ToUnit());
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.HideToolBarNestedFrames().HideToolBar().ToUnit());
internal static IObservable <Unit> DocumentStyleManagerDetailView(this ApplicationModulesManager manager, Func <IObservable <DetailView>, IObservable <Unit> > detailView) => manager.WhenApplication(application => application.WhenDetailViewCreated(typeof(BusinessObjects.DocumentStyleManager)).ToDetailView() .SelectMany(view => detailView(view.ReturnObservable())));
public static IObservable <Unit> ConnectMicrosoftTodoService(this ApplicationModulesManager manager) { return(manager.InitializeModule() .Merge(manager.WhenApplication(application => application.UpdateTaskDescription()).ToUnit()) ); }
internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager.WhenApplication(application => application.RememberTopRow().Merge(application.FocusRow()));
internal static IObservable <Unit> Connect(this ApplicationModulesManager modulesManager) => modulesManager.WhenApplication(application => application.WhenCloneMemberValues().ToUnit());