private static NavigationConfig GetNavigationConfiguration(Component navConfigComponent)
        {
            NavigationConfig result = new NavigationConfig {
                NavType = NavigationType.Simple
            };

            if (navConfigComponent.Metadata == null)
            {
                return(result);
            }

            ItemFields navConfigComponentMetadataFields = new ItemFields(navConfigComponent.Metadata, navConfigComponent.MetadataSchema);
            Keyword    type = navConfigComponentMetadataFields.GetKeywordValue("navigationType");

            switch (type.Key.ToLower())
            {
            case "localizable":
                result.NavType = NavigationType.Localizable;
                break;
            }
            string navTextFields = navConfigComponentMetadataFields.GetSingleFieldValue("navigationTextFieldPaths");

            if (!string.IsNullOrEmpty(navTextFields))
            {
                result.NavTextFieldPaths = navTextFields.Split(',').Select(s => s.Trim()).ToList();
            }
            result.ExternalUrlTemplate = navConfigComponentMetadataFields.GetSingleFieldValue("externalLinkTemplate");
            return(result);
        }
        private static NavigationConfig LoadConfig(Component component)
        {
            NavigationConfig res = new NavigationConfig {
                NavType = NavigationType.Simple
            };

            if (component.Metadata != null)
            {
                ItemFields meta = new ItemFields(component.Metadata, component.MetadataSchema);
                Keyword    type = meta.GetKeywordValue("navigationType");
                switch (type.Key.ToLower())
                {
                case "localizable":
                    res.NavType = NavigationType.Localizable;
                    break;
                }
                string navTextFields = meta.GetSingleFieldValue("navigationTextFieldPaths");
                if (!String.IsNullOrEmpty(navTextFields))
                {
                    res.NavTextFieldPaths = navTextFields.Split(',').Select(s => s.Trim()).ToList();
                }
                res.ExternalUrlTemplate = meta.GetSingleFieldValue("externalLinkTemplate");
            }
            return(res);
        }
        public override void Transform(Engine engine, Package package)
        {
            Initialize(engine, package);

            _config = GetNavigationConfiguration(GetComponent());

            SitemapItemData sitemap     = GenerateStructureGroupNavigation(Publication.RootStructureGroup);
            string          sitemapJson = JsonSerialize(sitemap, IsPreview);

            package.PushItem(Package.OutputName, package.CreateStringItem(ContentType.Text, sitemapJson));
        }
        public override void Transform(Engine engine, Package package)
        {
            Initialize(engine, package);

            _config = GetNavigationConfiguration(GetComponent());

            SitemapItem sitemap = GenerateStructureGroupNavigation(Publication.RootStructureGroup);
            string sitemapJson = JsonSerialize(sitemap);

            package.PushItem(Package.OutputName, package.CreateStringItem(ContentType.Text, sitemapJson));
        }
        public override void Transform(tpl.Engine engine, tpl.Package package)
        {
            Initialize(engine, package);
            _config = LoadConfig(GetComponent());
            _startPoint = GetPublication().RootStructureGroup;

            if (_startPoint != null)
            {
                string nav = GenerateNavigation();
                if (!string.IsNullOrEmpty(GenerateNavigation()))
                {
                    package.PushItem(tpl.Package.OutputName, package.CreateStringItem(tpl.ContentType.Text, nav));
                }
            }
        }
        public override void Transform(tpl.Engine engine, tpl.Package package)
        {
            Initialize(engine, package);
            _config     = LoadConfig(GetComponent());
            _startPoint = GetPublication().RootStructureGroup;

            if (_startPoint != null)
            {
                string nav = GenerateNavigation();
                if (!string.IsNullOrEmpty(GenerateNavigation()))
                {
                    package.PushItem(tpl.Package.OutputName, package.CreateStringItem(tpl.ContentType.Text, nav));
                }
            }
        }
 private static NavigationConfig LoadConfig(Component component)
 {
     NavigationConfig res = new NavigationConfig {NavType = NavigationType.Simple};
     if (component.Metadata != null)
     {
         ItemFields meta = new ItemFields(component.Metadata, component.MetadataSchema);
         Keyword type = meta.GetKeywordValue("navigationType");
         switch (type.Key.ToLower())
         {
             case "localizable":
                 res.NavType = NavigationType.Localizable;
                 break;
         }
         string navTextFields = meta.GetSingleFieldValue("navigationTextFieldPaths");
         if (!String.IsNullOrEmpty(navTextFields))
         {
             res.NavTextFieldPaths = navTextFields.Split(',').Select(s => s.Trim()).ToList();
         }
         res.ExternalUrlTemplate = meta.GetSingleFieldValue("externalLinkTemplate");
     }
     return res;
 }
        private static NavigationConfig GetNavigationConfiguration(Component navConfigComponent)
        {
            NavigationConfig result = new NavigationConfig { NavType = NavigationType.Simple };
            if (navConfigComponent.Metadata == null)
            {
                return result;
            }

            ItemFields navConfigComponentMetadataFields = new ItemFields(navConfigComponent.Metadata, navConfigComponent.MetadataSchema);
            Keyword type = navConfigComponentMetadataFields.GetKeywordValue("navigationType");
            switch (type.Key.ToLower())
            {
                case "localizable":
                    result.NavType = NavigationType.Localizable;
                    break;
            }
            string navTextFields = navConfigComponentMetadataFields.GetSingleFieldValue("navigationTextFieldPaths");
            if (!string.IsNullOrEmpty(navTextFields))
            {
                result.NavTextFieldPaths = navTextFields.Split(',').Select(s => s.Trim()).ToList();
            }
            result.ExternalUrlTemplate = navConfigComponentMetadataFields.GetSingleFieldValue("externalLinkTemplate");
            return result;
        }