public void AddNode(IWeKnowTreeNode treeNode) { if (treeNode != null) { Leaves.Add(treeNode); } }
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); }
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; }
//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); }