private TemplatesCache InitializePageTemplatesCache() { var pageTemplates = new List <PageTemplateDescriptor>(); var providerByTemplate = new Hashtable <Guid, IPageTemplateProvider>(); foreach (string providerName in this.ProviderNames) { var provider = PageTemplateProviderPluginFacade.GetProvider(providerName); var templates = provider.GetPageTemplates().ToList(); pageTemplates.AddRange(templates); foreach (var template in templates) { Verify.That(!providerByTemplate.ContainsKey(template.Id), "There are muliple layouts with the same ID: '{0}'", template.Id); providerByTemplate.Add(template.Id, provider); } } return(new TemplatesCache { PageTemplates = pageTemplates, ProviderByTemplate = providerByTemplate }); }
/// <summary> /// Gets the providers. /// </summary> /// <returns></returns> internal static IEnumerable <KeyValuePair <string, IPageTemplateProvider> > GetProviders() { foreach (string providerName in PageTemplateProviderRegistry.ProviderNames) { var provider = PageTemplateProviderPluginFacade.GetProvider(providerName); yield return(new KeyValuePair <string, IPageTemplateProvider>(providerName, provider)); } }
public void FlushTemplates() { var resources = _resourceLocker.Resources; foreach (var providerName in resources.ProviderNames) { var provider = PageTemplateProviderPluginFacade.GetProvider(providerName); provider.FlushTemplates(); } resources.ResetTemplatesCache(); }
private string GetRazorTemplatesRootFolder() { foreach (string providerName in PageTemplateProviderRegistry.ProviderNames) { var provider = PageTemplateProviderPluginFacade.GetProvider(providerName); if (provider is RazorPageTemplateProvider) { return((provider as RazorPageTemplateProvider).TemplateDirectoryPath); } } throw new InvalidOperationException("Failed to get instance of " + typeof(RazorPageTemplateProvider)); }
/// <summary> /// Gets the page templates. /// </summary> /// <returns></returns> public static IEnumerable <PageTemplateDescriptor> GetPageTemplates() { var result = new List <PageTemplateDescriptor>(); foreach (string providerName in PageTemplateProviderRegistry.ProviderNames) { var provider = PageTemplateProviderPluginFacade.GetProvider(providerName); var templates = provider.GetPageTemplates(); result.AddRange(templates); } return(result); }
/// <summary> /// Gets the shared files. /// </summary> /// <returns></returns> public static IEnumerable <SharedFile> GetSharedFiles() { var result = new List <SharedFile>(); foreach (string providerName in PageTemplateProviderRegistry.ProviderNames) { var provider = PageTemplateProviderPluginFacade.GetProvider(providerName); if (provider is ISharedCodePageTemplateProvider) { var sharedFiles = (provider as ISharedCodePageTemplateProvider).GetSharedFiles(); result.AddRange(sharedFiles); } } return(result); }
public IEnumerable <Element> GetRoots(SearchToken searchToken) { Element element = new Element(_context.CreateElementHandle(new PageTemplateRootEntityToken())); bool hasChildren = PageTemplateFacade.GetPageTemplates().Any(); element.VisualData = new ElementVisualizedData { Label = SR.GetString("Composite.Plugins.PageTemplateElementProvider", "PageTemplateElementProvider.RootLabel"), ToolTip = SR.GetString("Composite.Plugins.PageTemplateElementProvider", "PageTemplateElementProvider.RootLabelToolTip"), HasChildren = hasChildren, Icon = PageTemplateElementProvider.RootClosed, OpenedIcon = PageTemplateElementProvider.RootOpen }; const string addTemplateWorkflowType = "Composite.Plugins.Elements.ElementProviders.PageTemplateElementProvider.AddNewPageTemplateWorkflow"; element.AddWorkflowAction(addTemplateWorkflowType, new[] { PermissionType.Add }, new ActionVisualizedData { Label = SR.GetString("Composite.Plugins.PageTemplateElementProvider", "PageTemplateElementProvider.AddTemplate"), ToolTip = SR.GetString("Composite.Plugins.PageTemplateElementProvider", "PageTemplateElementProvider.AddTemplateToolTip"), Icon = PageTemplateElementProvider.AddTemplate, Disabled = false, ActionLocation = new ActionLocation { ActionType = ActionType.Add, IsInFolder = false, IsInToolbar = true, ActionGroup = PrimaryActionGroup } }); foreach (var pageTemplateProviderName in PageTemplateProviderRegistry.ProviderNames) { var provider = PageTemplateProviderPluginFacade.GetProvider(pageTemplateProviderName); Verify.IsNotNull(provider, "Failed to get provider by name '{0}'", pageTemplateProviderName); IEnumerable <ElementAction> actions = provider.GetRootActions(); element.AddAction(actions); } return(new [] { element }); }