public DashboardViewModel(IMediator mediator, IAppContext context, IContextMenuViewModel contextMenuViewModel) { Context = context; ContextMenuViewModel = contextMenuViewModel; Commands.Add("OpenContextMenu", new Command(async ctx => contextMenuViewModel.Items = await mediator.Send(DynamicContextMenu.Request.Create(ctx ?? context.Session.Widget)))); Commands.Add("CloseContextMenu", new Command(_ => contextMenuViewModel.Clear())); Commands.Add("Delete", new Command(async widget => await mediator.Send(new DeleteWidget.Request(widget as IWidget)))); Commands.Add("MoveUp", new Command(w => ((IWidget)w).MoveUp(), w => w is IWidget movable && movable.CanMoveUp())); Commands.Add("MoveDown", new Command(w => ((IWidget)w).MoveDown(), w => w is IWidget movable && movable.CanMoveDown())); }
public DashboardViewModel(IMediator mediator, IAppContext context, IContextMenuViewModel contextMenuViewModel) { Context = context; Mediator = mediator; ContextMenuViewModel = contextMenuViewModel; Commands.Add("OpenContextMenu", new Command(async ctx => ContextMenuViewModel.Items = await Mediator.Send(DynamicContextMenu.Request.Create(ctx ?? Context.Session.Widget)).ConfigureAwait(false))); Commands.Add("CloseContextMenu", new Command(_ => ContextMenuViewModel.Clear())); Commands.Add("Delete", new Command(async widget => await Mediator.Send(new DeleteWidget.Request(widget as IWidget)))); Commands.Add("Refresh", new Command(_ => Task.Run(async() => await mediator.Send(new TriggerJob.Request(context.Session.Widget))))); Commands.Add("MoveUp", new Command(w => ((IWidget)w).MoveUp(), w => w is IWidget movable && movable.CanMoveUp())); Commands.Add("MoveDown", new Command(w => ((IWidget)w).MoveDown(), w => w is IWidget movable && movable.CanMoveDown())); }
private void Init() { if (!Directory.Exists(Properties.Settings.Default.SettingPath)) Directory.CreateDirectory(Properties.Settings.Default.SettingPath); if (!File.Exists(Properties.Settings.Default.SettingPath + "\\settings.json")) File.WriteAllBytes(Properties.Settings.Default.SettingPath + "\\settings.json", Properties.Resources.settings); m_treeNodes.Add(Tree.TabTrees.Settings, new DirectoryViewModel(Properties.Settings.Default.SettingPath)); Settings = GetSetting(Properties.Settings.Default.SettingPath + "\\settings.json"); m_schemaManager = new SchemaManager(m_settings); m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.generalsettings_schema, m_schemaManager)); m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.basetexteditorsettings_schema, m_schemaManager)); m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.jsoneditor_schema, m_schemaManager)); m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.template_schema, m_schemaManager)); m_autoCompleteCollectionManager = new AutoCompleteCollectionManager(m_schemaManager); ServiceProvider.Registre<IAutoCompleteCollectionManager>(m_autoCompleteCollectionManager); Path = Properties.Settings.Default.ProjectPath; EditorManager = new EditorManager(m_settings, this); m_templateManager = new TemplateManager(m_settings); m_treeNodes[Tree.TabTrees.Templats] = TemplateManager.Root; m_treeNodes[Tree.TabTrees.Schemas] = new CollectionTreeViewModel(m_schemaManager.Paths); m_layoutManager.LoadSetup(); UpdateSettings(); Root = m_treeNodes[m_selectedTabTree]; m_treeContextMenus[Tree.TabTrees.Project] = new ProjectContextMenuViewModel(this); m_treeContextMenus[Tree.TabTrees.Schemas] = new SchemaContextMenuViewModel(this); m_treeContextMenus[Tree.TabTrees.Templats] = new TemplateContextMenuViewModel(this); m_currentTreeContextMenu = m_treeContextMenus[Tree.TabTrees.Project]; }