private void Compose(Component component) { component.UpdateLocalTransform(); ApplyExpand(component); foreach (var child in component.Children) { Compose(child); } /* TODO: SpaceSplitters * - commonsplitter: normal splitter including expand behaviour * - equalsplitter: every component has the same width/height */ ApplyExpand(component); LayoutController layout = LayoutResolver.GetLayout(component.Layout); layout.ApplyLayout(component); layout.ApplyAutosize(component); layout.ApplyMaxSize(component); if (component.CenterContent) { layout.ApplyContentCentering(component); } }
public void GetVirtualPath_IPageTemplate_ReturnsNull() { //Arrange LayoutResolver resolver = new LayoutResolver(); DummyFrameworkSpecificPageTemplate dummyPageTemplate = new DummyFrameworkSpecificPageTemplate(PageTemplateFramework.Mvc); using (var objFactory = new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType <ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType <XmlConfigProvider, DummyConfigProvider>(); Config.RegisterSection <VirtualPathSettingsConfig>(); Config.RegisterSection <ControlsConfig>(); VirtualPathManager.AddVirtualFileResolver <DummyVirtualFileResolver>(LayoutResolverTests.testVp, "DummyVirtualFileResolver"); //Act try { var resolvedVirtualPath = resolver.GetVirtualPath(dummyPageTemplate); //Assert Assert.IsNull(resolvedVirtualPath, "Resolved VirtualPath should be null."); } finally { VirtualPathManager.RemoveVirtualFileResolver(LayoutResolverTests.testVp); } } }
public void GetVirtualPath_InvalidCharacters_ReturnsCleanVirtualPath() { //Arrange string dirtyTitle = "Some<>*Test:?Title"; string cleanVirtualPath = "~/SfLayouts/Some_Test_Title.master"; string resolvedVirtualPath; LayoutResolver resolver = new LayoutResolver(); using (var objFactory = new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType <ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType <XmlConfigProvider, DummyConfigProvider>(); Config.RegisterSection <VirtualPathSettingsConfig>(); Config.RegisterSection <ControlsConfig>(); VirtualPathManager.AddVirtualFileResolver <DummyVirtualFileResolver>(LayoutResolverTests.testVp, "DummyVirtualFileResolver"); var dummyPageTemplate = new DummyPageTemplateWithTitle(PageTemplateFramework.Mvc, dirtyTitle); //Act try { resolvedVirtualPath = resolver.GetVirtualPath(dummyPageTemplate); //Assert Assert.AreEqual(cleanVirtualPath, resolvedVirtualPath, "GetVirtualPath method doesn't return correct string."); } finally { VirtualPathManager.RemoveVirtualFileResolver(LayoutResolverTests.testVp); } } }
public HostEnvironment(ShadowMapperFactory shadowMapperFactory, IBuildErrorPolicy errorPolicy, ILayoutMonitor layoutMonitor, LayoutResolver layoutResolver, LayoutEngineOptions layoutEngineOptions, LayoutHostSettings hostSettings) { ShadowMapperFactory = shadowMapperFactory; ErrorPolicy = errorPolicy; LayoutMonitor = layoutMonitor; LayoutResolver = layoutResolver; LayoutEngineOptions = layoutEngineOptions; HostSettings = hostSettings; }
public void GetVirtualPath_HybridModeTemplate_ReturnsEmptyVirtualPath() { //Arrange LayoutResolver resolver = new LayoutResolver(); DummyFrameworkSpecificPageTemplate dummyPageTemplate = new DummyFrameworkSpecificPageTemplate(PageTemplateFramework.Hybrid); //Act var resolvedVirtualPath = resolver.GetVirtualPath(dummyPageTemplate); //Assert Assert.IsNull(resolvedVirtualPath, "The resolved virtual path should be null when the page template is not in MVC mode."); }
public LayoutContext(ModelBag modelBag, LayoutResolver layoutResolver) => (ModelBag, LayoutResolver) = (modelBag, layoutResolver);