protected override void Initializing(InitializingContentContext context) { var page = context.ContentItem; if (page.PageGroup() != FrontendsPageConfigs.Group) return; if (page.As<IEngineConfigurationAspect>().EngineContext.EngineName != "Dracula") return; page.Weld<DraculaPart>(part => part.NodesField.Loader(() => { var graph = part.As<IGraphAspect>().Graph; var nodes = new Dictionary<int, NodeViewModel>(graph.VertexCount); foreach (var node in graph.Vertices) { var viewModel = new NodeViewModel { ContentItem = node }; var configAspect = page.As<IEngineConfigurationAspect>(); _configurationHandler.SetupViewModel(new FrontendContext(configAspect.EngineContext, configAspect.GraphDescriptor.MaximalContext()), node, viewModel); nodes[node.ContentItem.Id] = viewModel; } return nodes; })); }
public void SetupViewModel(FrontendContext frontendContext, IContent node, NodeViewModel viewModel) { // .Has<> doesn't work here if (node.As<ITitleAspect>() != null) viewModel.Label = node.As<ITitleAspect>().Title; }