private void Configure() { var journal = new PermissionControlledRepresentationJournal(model); journal.Mode = multipleSelect ? JournalSelectMode.Multiple : JournalSelectMode.Single; journal.ObjectSelected += (sender, e) => { List <EntityNode> selectedResult = new List <EntityNode>(); foreach (int selectedId in e.GetSelectedIds()) { selectedResult.Add(new EntityNode(selectedId, entityType)); } OnEntitySelectedResult?.Invoke(sender, new JournalSelectedNodesEventArgs(selectedResult.ToArray())); }; JournalTab = journal; JournalTab.TabNameChanged += (sender, e) => TabNameChanged?.Invoke(sender, e); JournalTab.TabClosed += (sender, e) => { TabParent?.ForceCloseTab(this); journal.Destroy(); Dispose(); }; journal.Destroyed += (sender, e) => { TabParent?.ForceCloseTab(this); journal.Destroy(); Dispose(); }; }
public HistoryTracePropertyJournalViewModel(IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigation = null) : base(unitOfWorkFactory, interactiveService, navigation) { TabName = "Журнал полей объектов изменений"; DataLoader = new AnyDataLoader <HistoryTracePropertyNode>(GetItems); DataLoader.ItemsListUpdated += (s, e) => { ListUpdated?.Invoke(this, EventArgs.Empty); }; OnSelectResult += (s, e) => { OnEntitySelectedResult?.Invoke(this, new JournalSelectedNodesNodesEventArgs(e.SelectedObjects.OfType <JournalNodeBase>().ToArray()) ); }; }