private async static void OpenAddExistingFileWindow(WorkspaceItemViewModel workspaceItem) { if (!workspaceItem.IsDirectory) { throw new ArgumentException("Only directories support the new file command"); } IWorkspaceItem item = workspaceItem.Data; using (var dialog = new CommonOpenFileDialog(Language.Current.Get("Dialog.Existing.Title")) { Multiselect = true, IsFolderPicker = false }) { if (dialog.ShowDialog(Application.Current.MainWindow) == CommonFileDialogResult.Ok) { foreach (var name in dialog.FileNames) { var newChild = await item.CopyExistingItem(name); workspaceItem.AddChild(newChild); } } } }
public MarkdownEditorViewModel(WorkspaceItemViewModel item) : base(item) { var theme = Theme.Get("Markdown"); folding = new MarkdownFoldingStrategy(); colorizer = new MarkdownHighlightingColorizer(theme); blockRenderer = new BlockBackgroundRenderer(theme); issueRenderer = new IssueBackgroundRenderer(theme); }
//[HttpPost("ProcessScript")] public ViewResult AddScript(string Name) { WorkspaceItemViewModel model = new WorkspaceItemViewModel { filesViewModel = new FilesViewModel(), WorkspaceName = Name }; return(View("AddScript", model)); }
public BibEditorViewModel(WorkspaceItemViewModel item) : base(item) { folding = new BibFoldingStrategy(); entries = new List <BibEntry>(); var bibTheme = Theme.Get("Bib"); colorizer = new BibHighlightColorizer(bibTheme); issueRenderer = new IssueBackgroundRenderer(bibTheme) { Issues = issues = new List <Issue>() }; }
public IActionResult GetWorkspaceItem(string Id, string Name, string Type) { WorkspaceItemViewModel model = new WorkspaceItemViewModel(); if (Type == "RGBMatrix") { model.RgbMatrix = repository.GetWorkspaceRgbMatrix(Id, Name); } else { model.Script = repository.GetWorkspaceScript(Id, Name); return(View("EditScript", model)); } return(View("WorkspaceItem", model)); }
private async static void OpenCreateNewFileWindow(WorkspaceItemViewModel workspaceItem, bool isDirectory = false) { if (!workspaceItem.IsDirectory) { throw new ArgumentException("Only directories support the new file command"); } var workspace = workspaceItem.Workspace; IWorkspaceItem newItem; if (isDirectory) { newItem = await workspaceItem.Data.CreateNewDirectory(Language.Current.Get("File.New.Folder")); } else { var window = new NewFileWindow(); var viewModel = new NewFileViewModel(); await viewModel.LoadAsync(); window.DataContext = viewModel; window.Owner = Application.Current.MainWindow; if (window.ShowDialog().Value) { var sel = viewModel.Selected; newItem = await workspaceItem.Data.CreateNewFile(viewModel.Name, "." + sel.Extension, sel.Content); } else { return; } } var vm = new WorkspaceItemViewModel(workspace, workspaceItem, newItem); if (isDirectory) { vm.IsNameChanging = true; } workspaceItem.AddChild(vm); if (!isDirectory) { workspaceItem.Workspace.SelectedItem = vm; } }
public IActionResult Post(List <IFormFile> files, string Name) { long size = files.Sum(f => f.Length); List <string> fileNames = new List <string>(); FilesViewModel model = new FilesViewModel(); WorkspaceItemViewModel itemModel = new WorkspaceItemViewModel(); foreach (var formFile in files) { fileNames.Add(Path.GetFileNameWithoutExtension(formFile.FileName)); } foreach (var item in fileNames) { model.Files.Add(new FileDetails { Name = item }); } if (fileNames.Count != 8) { return(Content("Please select 8 files")); } itemModel.filesViewModel = model; //Generate new script here? itemModel.Script = repository.GenerateNewScript(fileNames, Name); foreach (var item in itemModel.Script.Commands) { Console.WriteLine(item); } itemModel.WorkspaceName = Name; return(View("AddScript", itemModel)); //to fix: add tag helpers in AddScript.cshtml to bind the new model (asp-for) }
protected virtual void CreateNewFeatureBranch() { this.IsSelected = true; WorkspaceItemViewModel.StartNewFeatureBranch(); }
public CreateNewFileCommand(WorkspaceItemViewModel workspaceItem) : base(workspaceItem ?? throw new ArgumentNullException(nameof(workspaceItem))) { }
public DefaultEditorViewModel(WorkspaceItemViewModel item) : base(item) { }
public AddExistingFileCommand(WorkspaceItemViewModel workspaceItem) : base(workspaceItem ?? throw new ArgumentNullException(nameof(workspaceItem))) { }
public IActionResult AddScriptInFile(WorkspaceItemViewModel model, string Name) { repository.AddScript(Name, model.Script); TempData["scriptAdded"] = $"Added {model.Script.Name} with {model.Script.RgbMatrices.Count} new RGB Matrices"; return(RedirectToAction("GetWorkspaceScripts", "Workspace", new { name = Name })); }