Basically, I implemented the same ICustomNavigationItem based on the Polling app.
So, the Obsolete message was to use CustomNavigationItem, which would be changing the base class, so I don't think that's right..
here's the interface.
namespace Telligent.Evolution.Extensibility.UI.Version2 { [Obsolete("Use the Version3 CustomNavigationItem class instead.", false)] public interface ICustomNavigationItem { ICustomNavigationPlugin Plugin { get; } string Label { get; } string Url { get; } Guid UniqueID { get; } ICustomNavigationItem[] Children { get; set; } string CssClass { get; } ICustomNavigationItemConfiguration Configuration { get; } bool IsSelected(string currentFullUrl); bool IsVisible(int userID); } }
the big difference is the "IsSelected" and the "IsVisible" are callbacks. do we still use the polling example? is there an example of how to use the CustomNavigationItem?
namespace Telligent.Evolution.Extensibility.UI.Version3 { public class CustomNavigationItem { public CustomNavigationItem(); public Func<string> DefaultLabel { get; set; } public Func<string> DefaultDescription { get; set; } public virtual string DefaultAvatarUrl { get; set; } public virtual string Url { get; set; } public virtual string CssClass { get; set; } public CustomNavigationItemIsVisibleCallback IsVisible { get; set; } public CustomNavigationItemIsSelectedCallback IsSelected { get; set; } } }