Example #1
0
        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);
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
                }
            }
        }
Example #4
0
 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;
 }
Example #5
0
        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.");
        }
Example #6
0
 public LayoutContext(ModelBag modelBag, LayoutResolver layoutResolver) => (ModelBag, LayoutResolver) = (modelBag, layoutResolver);