Add Phoenix remote desktop, action connector, documentation engine, and gamification support. Refactor support-case processing and search/action UI, and update installer assets and dependencies.
49 lines
2.0 KiB
C#
49 lines
2.0 KiB
C#
using C4IT.FASD.Base;
|
|
using FasdDesktopUi.Basics.Enums;
|
|
using FasdDesktopUi.Basics.Helper;
|
|
using FasdDesktopUi.Basics.Models;
|
|
using System.Collections.Generic;
|
|
|
|
namespace FasdDesktopUi.Basics.Services.SupportCase.Controllers
|
|
{
|
|
internal static class MenuDataFactory
|
|
{
|
|
internal static cMenuDataBase GetByName(string name, cNamedParameterList namedParameterEntries, IEnumerable<enumFasdInformationClass> availableInformationClasses)
|
|
{
|
|
if (!cF4SDCockpitXmlConfig.Instance.MenuItems.TryGetValue(name, out var menuDataDefinition))
|
|
return null;
|
|
|
|
return Create(menuDataDefinition, namedParameterEntries, availableInformationClasses);
|
|
}
|
|
|
|
internal static cMenuDataBase Create(cFasdBaseConfigMenuItem definition, cNamedParameterList namedParameterEntries, IEnumerable<enumFasdInformationClass> availableInformationClasses)
|
|
{
|
|
cMenuDataBase menuData;
|
|
|
|
switch (definition)
|
|
{
|
|
case cFasdQuickAction quickActionDefinition:
|
|
menuData = new cMenuDataBase(quickActionDefinition);
|
|
break;
|
|
case cCopyTemplate copyTemplate:
|
|
menuData = new cMenuDataBase(copyTemplate);
|
|
break;
|
|
case cFasdMenuSection sectionDefinition:
|
|
menuData = new cMenuDataContainer(sectionDefinition);
|
|
break;
|
|
case cFasdQuickTip quickTip:
|
|
menuData = new cMenuDataBase(quickTip);
|
|
break;
|
|
default:
|
|
menuData = new cMenuDataBase(definition);
|
|
break;
|
|
}
|
|
|
|
enumActionDisplayType displayType = ActionDisplayTypeInspector.GetDisplayType(definition, namedParameterEntries, availableInformationClasses);
|
|
menuData.SetUiActionDisplayType(displayType);
|
|
|
|
return menuData;
|
|
}
|
|
}
|
|
}
|