public ISparkExtension CreateExtension(VisitorContext context, ElementNode node) { if(_serviceProvider==null) { return null; } var componentFactory = (IViewComponentFactory)_serviceProvider.GetService(typeof(IViewComponentFactory)); if (componentFactory == null || componentFactory.Registry == null) return null; ViewComponentInfo viewComponentInfo; lock (_cachedViewComponent) { if (!_cachedViewComponent.TryGetValue(node.Name, out viewComponentInfo)) { if (componentFactory.Registry.HasViewComponent(node.Name)) { viewComponentInfo = new ViewComponentInfo(componentFactory.Create(node.Name)); _cachedViewComponent.Add(node.Name, viewComponentInfo); } else { _cachedViewComponent.Add(node.Name, null); } } } if (viewComponentInfo != null) { return new ViewComponentExtension(node, viewComponentInfo); } return null; }
public ISparkExtension CreateExtension(VisitorContext context, ElementNode node) { if (_serviceProvider == null) { return(null); } var componentFactory = (IViewComponentFactory)_serviceProvider.GetService(typeof(IViewComponentFactory)); if (componentFactory == null || componentFactory.Registry == null) { return(null); } ViewComponentInfo viewComponentInfo; lock (_cachedViewComponent) { if (!_cachedViewComponent.TryGetValue(node.Name, out viewComponentInfo)) { if (componentFactory.Registry.HasViewComponent(node.Name)) { viewComponentInfo = new ViewComponentInfo(componentFactory.Create(node.Name)); _cachedViewComponent.Add(node.Name, viewComponentInfo); } else { _cachedViewComponent.Add(node.Name, null); } } } if (viewComponentInfo != null) { return(new ViewComponentExtension(node, viewComponentInfo)); } return(null); }
public ViewComponentVisitor(ChunkBuilderVisitor chunkBuilderVisitor, ViewComponentInfo info) { this.chunkBuilderVisitor = chunkBuilderVisitor; this.info = info; bodyChunks = chunkBuilderVisitor.Chunks; }
public ViewComponentExtension(ElementNode node, ViewComponentInfo info) { this.node = node; this.info = info; }