Example #1
0
 public void AddNode(IWeKnowTreeNode treeNode)
 {
     if (treeNode != null)
     {
         Leaves.Add(treeNode);
     }
 }
Example #2
0
        public IWeKnowTreeNode LastModified(Facet facet)
        {
            IWeKnowTreeNode toReturn = null;

            if (TreeOptions.IncludeLastModified)
            {
                toReturn = new WeKnowTreeNode("Last Modified", facet.LastModified.ToString(), TreeOptions);
            }

            return(toReturn);
        }
        public IWeKnowTreeNode BuildTreeNode(Facet facet)
        {
            IWeKnowTreeNode toReturn = null;// new WeKnowTreeNode(AssociatedDefaultFacetKey, TreeOptions);

            if (facet != null)
            {
                var objectToTreeNode = new ObjectToTreeNode(TreeOptions, XConnectClient);

                toReturn = objectToTreeNode.MakeTreeNodeFromObject(facet, AssociatedDefaultFacetKey);
                if (TreeOptions.IncludeRaw)
                {
                    toReturn.AddRawNode(objectToTreeNode.SerializeObject(facet));
                }
            }

            return(toReturn);
        }
        public IWeKnowTreeNode BuildFacetsNode(string targetFacetKey)
        {
            Sitecore.Diagnostics.Log.Debug(ProjConstants.Logger.Prefix + "s) GetFacetTreeNode: " + typeof(FacetsNodeBuilder).Name);
            IWeKnowTreeNode toReturn = null;


            Sitecore.XConnect.Facet facet       = GetFacetByKey(targetFacetKey);
            IFacetNodeFactory       treeFactory = new GenericFacetBranchFactory(targetFacetKey, TreeOptions, XConnectClient);

            if (facet != null)
            {
                treeFactory.SetClient(XConnectClient);
                toReturn = treeFactory.BuildTreeNode(facet);
            }

            Sitecore.Diagnostics.Log.Debug(ProjConstants.Logger.Prefix + "e) GetFacetTreeNode: " + typeof(FacetsNodeBuilder).Name);
            return(toReturn);
        }
Example #5
0
        public FancyTreeNode(IWeKnowTreeNode node)
        {
            if (node != null)
            {
                title  = node.TitleAndValue();
                folder = node.HasLeaves;
                icon   = node.HasLeaves ? "fancytree-icon" : string.Empty;
                if (node.ValueIsJson)
                {
                    extraClasses = "json-data";
                }

                if (node.HasLeaves)
                {
                    foreach (var child in node.GetLeaves())
                    {
                        children.Add(new FancyTreeNode(child));
                    }
                }
            }
        }
 public ULWriterForWeKnowTree(IWeKnowTreeNode root)
 {
     Root = root;
 }
 public FancyTreeWriter(IWeKnowTreeNode root)
 {
     Root = root;
 }
Example #8
0
        //private IWhatWeKnowTreeNode AddAutoBRecursive(object facetPart, int depth)
        //{
        //  WeKnowTreeNode toReturn = null;

        //  try
        //  {
        //    if (depth < MaxDepth && facetPart != null)
        //    {
        //      if (facetPart != null)
        //      {
        //        var partType = facetPart.GetType();
        //        if (partType.Equals(typeof(string)))
        //        {
        //          toReturn = new WeKnowTreeNode(facetPart as String);
        //        }
        //        else
        //        {
        //          toReturn = new WeKnowTreeNode(partType.Name);

        //          PropertyInfo[] propertyInfo = facetPart.GetType().GetProperties();

        //          foreach (var property in propertyInfo)
        //          {
        //            toReturn.AddNode(PropertyToTreeNode(property, facetPart, depth++));//   AddAutoBRecursive(property, depth++));
        private IWeKnowTreeNode PropertyToTreeNode(PropertyInfo property, object ownerObject, int depth)
        {
            Sitecore.Diagnostics.Log.Debug(ProjConstants.Logger.Prefix + "s) PropertyToTreeNode: " + property.Name + " depth: " + depth);
            IWeKnowTreeNode toReturn = null;

            if (depth < MaxDepth)
            {
                object propValue = property.GetValue(ownerObject, null);

                if (propValue == null)
                {
                    if (TreeOptions.IncludeNullAndEmptyValueLeaves)
                    {
                        toReturn = new WeKnowTreeNode(property.Name, TreeOptions)
                        {
                            Value = "{null}"
                        };
                    }
                }
                else
                {
                    var valueType = propValue.GetType();

                    if (!TypesToIgnore.Contains(valueType) && !PropertyNamesToIgnore.Contains(property.Name))
                    {
                        Sitecore.Diagnostics.Log.Debug(ProjConstants.Logger.Prefix + "value type: " + valueType.Name);

                        if (SingleValueTypes.Contains(valueType) || valueType.IsEnum)
                        {
                            var nodeValue = HandlePropertyValueOfTypeLeaf(valueType, propValue);

                            if (!string.IsNullOrEmpty(nodeValue) ||
                                TreeOptions.IncludeNullAndEmptyValueLeaves)
                            {
                                toReturn = new WeKnowTreeNode(property.Name, TreeOptions)
                                {
                                    Value = HandlePropertyValueOfTypeLeaf(valueType, propValue)
                                };
                            }
                        }
                        else

                        {
                            if (IsList(propValue) || IsEnumerable(propValue))
                            {
                                if (IsDictionary(propValue))
                                {
                                    var asEnumberable = propValue as IEnumerable;
                                }
                                else
                                {
                                    toReturn = new WeKnowTreeNode(property.Name, TreeOptions);
                                    foreach (var listItem in propValue as IEnumerable)
                                    {
                                        var listItemType = listItem.GetType();
                                        if (SingleValueTypes.Contains(listItemType))
                                        {
                                            var nodeValue = HandlePropertyValueOfTypeLeaf(listItemType, listItem);

                                            if (!string.IsNullOrEmpty(nodeValue) ||
                                                TreeOptions.IncludeNullAndEmptyValueLeaves
                                                )
                                            {
                                                toReturn.AddNode(new WeKnowTreeNode(nodeValue, TreeOptions));
                                            }
                                        }
                                        else
                                        {
                                            toReturn.AddNode(MakeTreeNodeFromObject(listItem, listItemType.Name, depth + 1));
                                        }
                                    }
                                }
                            }
                            else
                            {
                                toReturn = MakeTreeNodeFromObject(propValue, property.Name, depth + 1);//  HandlePropertyValueOfTypeBranch(valueType, propValue, depth)) ;
                            }
                        }
                    }
                }
            }

            Sitecore.Diagnostics.Log.Debug(ProjConstants.Logger.Prefix + "e) PropertyToTreeNode: " + property.Name);
            return(toReturn);
        }