[SubscribesTo(classstr(SysMenuNavigationObjectFactory), staticdelegatestr(SysMenuNavigationObjectFactory, checkAddSubMenuDelegate))]
public static void menuItemVisibilityHandler(SysDictMenu _rootMenu, SysDictMenu _subMenu, SysBoxedBoolean _subMenuVisibility)
{
if (_subMenu.isMenuItem())
{
var metadataElement = _subMenu.GetMenuItemMetaElement();
if (metadataElement != null)
{
SAN_HelperCls::santst_setVisibilityMenuItems(metadataElement.Name, _subMenuVisibility);
}
}
}
public class SAN_HelperCls
{
private static void santst_setVisibilityMenuItems(str _menuItemName, SysBoxedBoolean _subMenuVisibility)
{
const str menuItemsPrefix = "SAN_TEST";
if (strScan(_menuItemName, menuItemsPrefix , 0, strLen(_menuItemName)))
{
_subMenuVisibility.value = SAN_HelperCls::isEnabled();
}
}
public static boolean isEnabled()
{
return isConfigurationkeyEnabled(configurationkeynum(Trade)) &&
FeatureStateProvider::isFeatureEnabled(SAN_DevFeature::instance());
}
}
Parameter control (Yes/No)
or
Feature class:
using System.ComponentModel.Composition;
using Microsoft.Dynamics.ApplicationPlatform.FeatureExposure;
/// <summary>
/// The <c>SAN_DevFeature</c> class defines the enable advanced order hold feature.
/// </summary>
[ExportAttribute(identifierstr(Microsoft.Dynamics.ApplicationPlatform.FeatureExposure.IFeatureMetadata))]
[Microsoft.Dynamics.BusinessPlatform.SharedTypes.InternalUseOnlyAttribute]
public final class SAN_DevFeature implements IFeatureMetadata, IFeatureLifecycle
{
private static SAN_DevFeature instance;
private void new()
{
}
[Hookable(false)]
public WebSiteURL learnMoreUrl()
{
return 'https://learn.microsoft.com/en-us/';
}
private static void TypeNew()
{
instance = new SAN_DevFeature();
}
/// <summary>
/// Obtains the singleton object instance.
/// </summary>
/// <returns>The <c>SAN_DevFeature</c> instance.</returns>
[Hookable(false)]
public static SAN_DevFeature instance()
{
return SAN_DevFeature::instance;
}
[Hookable(false)]
public FeatureLabelId label()
{
return literalStr("SAN DEV tool features");
}
[Hookable(false)]
public int module()
{
return FeatureModuleV0::SalesAndMarketing;
}
[Hookable(false)]
public FeatureLabelId summary()
{
return literalStr("SAN DEV tool features");
}
[Hookable(false)]
public boolean isEnabledByDefault()
{
return false;
}
[Hookable(false)]
public boolean canDisable()
{
return true;
}
[Hookable(false)]
public FeatureLifecycleStage FeatureStage()
{
return FeatureLifecycleStage::Released;
}
}
No comments:
Post a Comment