private static void DemoMapCopy(SimpleMutableCategoryNode root) { var newRoot = new ReadOnlyCategoryNode(new DualStateCategoryItem(root.Item)); root.MapCopyTo(newRoot, node => new DualStateCategoryItem(node.Item)); WriteLine("\n\n*** MAP-COPIED ***"); Display(newRoot); }
public ReadOnlyCategoryNode GetReadOnlyCategoryTree() { var dataRoot = GetCategoryDataRoot(); var root = new ReadOnlyCategoryNode(new DualStateCategoryItem(dataRoot.CategoryId, dataRoot.Name)); root.Build(dataRoot, n => new DualStateCategoryItem(n.CategoryId, n.Name)); return(root); }
private static void DemoMapCompress(SimpleMutableCategoryNode root) { var newRoot = new ReadOnlyCategoryNode(new DualStateCategoryItem(root.Item)); root.MapCompressTo(newRoot, n => n.Error != IdentityError.None, n => new DualStateCategoryItem(n.Item)); WriteLine("\n\n*** MAP-COMPRESSED ***"); Display(newRoot); }
private static void DemoMapCompressRenderDepthLimited(SimpleMutableCategoryNode root) { var newRoot = new ReadOnlyCategoryNode(new DualStateCategoryItem(root.Item)); root.MapCompressTo(newRoot, n => n.Item.Name.StartsWith("c", StringComparison.OrdinalIgnoreCase), n => new DualStateCategoryItem(n.Item), null, 2); WriteLine("\n\n*** MAP-COMPRESSED (RENDER TO LEVEL 2) ***"); Display(newRoot); }
private static void Start(ReadOnlyCategoryNode root) { Display(root); var copied = new ReadOnlyCategoryNode(root.Item); root.CompressTo(copied, n => n.Item.Name.StartsWith("M")); Display(copied); var mapCopied = new SimpleMutableCategoryNode(root.Item); root.MapCopyTo(mapCopied, n => n.Item as CategoryItem); Display(mapCopied); }