public ObjectsTreeViewModel(IDataObjectService dataObjectService, bool isExpand) { _collapseAllCommand = new DelegateCommand(CollapseAll); _expandAllCommand = new DelegateCommand(ExpandAll); _checkAllCommand = new DelegateCommand(CheckAll); _uncheckAllCommand = new DelegateCommand(UncheckAll); _checkOnlyFoldersCommand = new DelegateCommand(CheckOnlyFolders); ToolbarItemsSource = new ObservableCollection <object>(); var compositeDisposable = new CompositeDisposable(); _dataObjectService = dataObjectService; compositeDisposable.Add(_dataObjectService); var disposable = _dataObjectService.DataObjects.Connect() .TransformToTree(o => o.ParentId) .Transform(node => new NodeViewModel(node, _dataObjectService, isExpand)) .Sort(new NodeViewModelComparer()) .Bind(out _nodes) .DisposeMany() .Subscribe(set => { IsLoading = false; }, () => { IsLoading = false; }); compositeDisposable.Add(disposable); _cleanUp = compositeDisposable; }
public NodeViewModel(Node <DataObject, Guid> node, IDataObjectService dataObjectService, NodeViewModel parent = null) { _node = node; Parent = parent; var childrenLoader = new Lazy <IDisposable>(() => node.Children.Connect() .Transform(x => new NodeViewModel(x, dataObjectService, this)) .Sort(new NodeViewModelComparer()) .Bind(out _children) .DisposeMany() .Subscribe()); var shouldExpand = node.IsRoot ? Observable.Return(true) : Parent.Value.WhenValueChanged(x => x.IsExpanded); var expander = shouldExpand .Where(isExpanded => isExpanded) .Take(1) .Subscribe(x => { dataObjectService.Load(node.Item.Children); //force lazy loading var value = childrenLoader.Value; }); _cleanUp = Disposable.Create(() => { expander.Dispose(); if (childrenLoader.IsValueCreated) { childrenLoader.Value.Dispose(); } }); }
public SelectProjectTemplatePageViewModel(CreationInfo creationInfo, IDataObjectService dataObjectService) { _creationInfo = creationInfo; _objectsTreeViewModel = new ObjectsTreeViewModel(dataObjectService, false); _objectsTreeViewModel.SelectedItemChanged += OnSelectedItemChanged; _objectsTreeViewModel.ToolbarItemsSource.Add(new ToolbarButtonItem("CollapseAll") { Header = "Свернуть все", Icon = Icons.Instance.CollapseAllIcon, Command = _objectsTreeViewModel.CollapseAllCommand }); }
public NodeViewModel(Node <IDataObject, Guid> node, IDataObjectService dataObjectService, bool isExpand, NodeViewModel parent = null) { _node = node; Parent = parent; if (Parent.HasValue) { IsChecked = Parent.Value.IsChecked; } //Документы не выбираем изначально if (node.Item.Type.Children.Count == 0 && node.Item.Type.HasFiles && !node.Item.Type.IsEcmDocument()) { _isChecked = false; } var childrenLoader = new Lazy <IDisposable>(() => node.Children.Connect() .Transform(x => new NodeViewModel(x, dataObjectService, isExpand, this)) .Sort(new NodeViewModelComparer()) .Bind(out _children) .DisposeMany() .Subscribe()); var shouldExpand = node.IsRoot ? Observable.Return(true) : Parent.Value.WhenValueChanged(x => x.IsExpanded); if (isExpand) { shouldExpand = Observable.Return(true); } var expander = shouldExpand .Where(isExpanded => isExpanded) .Take(1) .Subscribe(x => { dataObjectService.Load(node.Item.Id, () => { }); //force lazy loading var value = childrenLoader.Value; }); _cleanUp = Disposable.Create(() => { expander.Dispose(); if (childrenLoader.IsValueCreated) { childrenLoader.Value.Dispose(); } }); }
public ObjectsCreatorService(IDataObjectService dataObjectService, IBindingService bindingService) { _dataObjectService = dataObjectService; _bindingService = bindingService; CreateModel(); }
public RequestHandler(IBindingService bindingService, IDataObjectService dataObjectService, IStoreService storeService) { _bindingService = bindingService; _dataObjectService = dataObjectService; _storeService = storeService; }
public ObjectsController(IDataObjectService dataObjectService, ILoggerFactory loggerFactory) { _dataObjectService = dataObjectService; _logger = loggerFactory.CreateLogger("ObjectsControllerExceptionsLogger"); }