Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 private void Open(ScriptNodeViewModel <TScript> scriptVm)
 {
     _messenger.Publish(new OpenScriptMessage <TScript>(scriptVm.Context, scriptVm.Script));
 }