private async Task DeleteAsync(ScriptNodeViewModel <TScript> scriptVm) { if (!_dialogService.Confirm($"Are you sure you want to delete {scriptVm.Description} '{scriptVm.Script.Id}'?")) { return; } await scriptVm.DeleteAsync(); scriptVm.Parent?.ReloadChildren(); }
private static ScriptNodeViewModel GenerateScriptNodeViewModel(INamedTypeSymbol typeSymbol) { var viewModel = new ScriptNodeViewModel(); viewModel.Name = typeSymbol.Name; switch (typeSymbol.Name) { case "ScriptVariableGlobal": case "ScriptVariableLocal": case "ScriptVariableLoop": viewModel.CanRewrite = false; break; } var properties = GetScriptProperties(typeSymbol); // Add first all script nodes types foreach (var prop in properties.Where(x => IsScriptNode(x.Type))) { var propViewModel = new ScriptNodePropertyViewModel { Name = prop.Name, Type = prop.Type.Name, IsScriptNode = true, IsList = IsScriptList(prop.Type) }; viewModel.Properties.Add(propViewModel); viewModel.ScriptNodePropertyCount++; } // Add non script node types foreach (var prop in properties.Where(x => !IsScriptNode(x.Type))) { var propViewModel = new ScriptNodePropertyViewModel { Name = prop.Name, Type = prop.Type.Name }; viewModel.Properties.Add(propViewModel); } return(viewModel); }
private void Open(ScriptNodeViewModel <TScript> scriptVm) { _messenger.Publish(new OpenScriptMessage <TScript>(scriptVm.Context, scriptVm.Script)); }