You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor all invocations of Globals.NavigateURL to use a new interface INavigationManager and use dependency injection.
Description of solution
Create INavigationManager
publicinterfaceINavigationManager{/// <summary>/// Gets the URL to the current page./// </summary>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL();/// <summary>/// Gets the URL to the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(inttabID);/// <summary>/// Gets the URL to the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <param name="isSuperTab">if set to <c>true</c> the page is a "super-tab," i.e. a host-level page.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(inttabID,boolisSuperTab);/// <summary>/// Gets the URL to show the control associated with the given control key./// </summary>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(stringcontrolKey);/// <summary>/// Gets the URL to show the control associated with the given control key./// </summary>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <param name="additionalParameters">Any additional parameters, in <c>"key=value"</c> format.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(stringcontrolKey,paramsstring[]additionalParameters);/// <summary>/// Gets the URL to show the control associated with the given control key on the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(inttabID,stringcontrolKey);/// <summary>/// Gets the URL to show the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <param name="additionalParameters">Any additional parameters.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(inttabID,stringcontrolKey,paramsstring[]additionalParameters);/// <summary>/// Gets the URL to show the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <param name="settings">The portal settings.</param>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <param name="additionalParameters">Any additional parameters.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(inttabID,PortalSettingssettings,stringcontrolKey,paramsstring[]additionalParameters);/// <summary>/// Gets the URL to show the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <param name="isSuperTab">if set to <c>true</c> the page is a "super-tab," i.e. a host-level page.</param>/// <param name="settings">The portal settings.</param>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <param name="additionalParameters">Any additional parameters.</param>/// <returns>Formatted URL.</returns>[Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]stringNavigateURL(inttabID,boolisSuperTab,PortalSettingssettings,stringcontrolKey,paramsstring[]additionalParameters);/// <summary>/// Gets the URL to show the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <param name="isSuperTab">if set to <c>true</c> the page is a "super-tab," i.e. a host-level page.</param>/// <param name="settings">The portal settings.</param>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <param name="language">The language code.</param>/// <param name="additionalParameters">Any additional parameters.</param>/// <returns>Formatted URL.</returns>stringNavigateURL(inttabID,boolisSuperTab,PortalSettingssettings,stringcontrolKey,stringlanguage,paramsstring[]additionalParameters);/// <summary>/// Gets the URL to show the given page./// </summary>/// <param name="tabID">The tab ID.</param>/// <param name="isSuperTab">if set to <c>true</c> the page is a "super-tab," i.e. a host-level page.</param>/// <param name="settings">The portal settings.</param>/// <param name="controlKey">The control key, or <see cref="string.Empty"/> or <c>null</c>.</param>/// <param name="language">The language code.</param>/// <param name="pageName">The page name to pass to <see cref="FriendlyUrl(DotNetNuke.Entities.Tabs.TabInfo,string,string)"/>.</param>/// <param name="additionalParameters">Any additional parameters.</param>/// <returns>Formatted url.</returns>stringNavigateURL(inttabID,boolisSuperTab,PortalSettingssettings,stringcontrolKey,stringlanguage,stringpageName,paramsstring[]additionalParameters);}
Once we create the interface we should mark all related Globals.NavigateURL() methods as deprecated for removal in v11.0
Description of alternatives considered
N/A
Screenshots
N/A
Additional context
N/A
Affected browser
N/A
The text was updated successfully, but these errors were encountered:
I like the idea of introducing INavigationManager. What's the thinking behind marking the simpler overloads with [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]? Are we trying to avoid people using navigationManager(tabId: 100)?
Parent: #3153
Description of problem
Refactor all invocations of Globals.NavigateURL to use a new interface
INavigationManager
and use dependency injection.Description of solution
Create
INavigationManager
Once we create the interface we should mark all related
Globals.NavigateURL()
methods as deprecated for removal in v11.0Description of alternatives considered
N/A
Screenshots
N/A
Additional context
N/A
Affected browser
N/A
The text was updated successfully, but these errors were encountered: