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.
176 lines
5.7 KiB
C#
176 lines
5.7 KiB
C#
using C4IT.FASD.Base;
|
|
using F4SD_AdaptableIcon;
|
|
using F4SD_AdaptableIcon.Enums;
|
|
using FasdDesktopUi.Basics.Converter;
|
|
using FasdDesktopUi.Basics.UiActions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
|
|
namespace FasdDesktopUi.Basics.Models.DTOs
|
|
{
|
|
// __ __ ____ ____
|
|
// | |__| || || \
|
|
// | | | | | | | o )
|
|
// | | | | | | | _/
|
|
// | ` ' | | | | |
|
|
// \ / | | | |
|
|
// \_/\_/ |____||__|
|
|
|
|
// the following classes are work in Progress and shouldn't been used
|
|
|
|
[Obsolete]
|
|
internal readonly struct IconInfo
|
|
{
|
|
public IconData? Overlay { get; }
|
|
public double IconScale { get; }
|
|
public bool IsInactive { get; }
|
|
public string Description { get; }
|
|
|
|
public IconInfo(bool isInactive = default, string description = null, IconData? overlay = null, double iconScale = 1.0)
|
|
{
|
|
Overlay = overlay;
|
|
IsInactive = isInactive;
|
|
Description = description;
|
|
IconScale = iconScale;
|
|
}
|
|
}
|
|
|
|
[Obsolete]
|
|
internal abstract class MenuDataBaseDto
|
|
{
|
|
private readonly IconData _icon;
|
|
|
|
public string Title { get; set; }
|
|
public string SubTitle { get; set; }
|
|
public cUiActionBase Action { get; set; }
|
|
public IconInfo IconInformation { get; set; }
|
|
public int PositoinIndex { get; set; }
|
|
|
|
protected MenuDataBaseDto() { }
|
|
|
|
protected MenuDataBaseDto(cFasdBaseConfigMenuItem menuItemDefinition)
|
|
{
|
|
_icon = IconDataConverter.Convert(menuItemDefinition.Icon);
|
|
Title = menuItemDefinition.Names.GetValue();
|
|
}
|
|
|
|
internal virtual IconData GetIcon() => _icon;
|
|
}
|
|
|
|
[Obsolete]
|
|
internal sealed class ContainerMenuDataDto : MenuDataBaseDto
|
|
{
|
|
public IList<MenuDataBaseDto> SubMenuData { get; set; } = new List<MenuDataBaseDto>();
|
|
|
|
public ContainerMenuDataDto(cFasdMenuSection sectionDefintion) : base(sectionDefintion)
|
|
{
|
|
Action = new cSubMenuAction(true); // todo rework subMenuAction
|
|
}
|
|
}
|
|
|
|
[Obsolete]
|
|
internal sealed class LoadingMenuDataDto : MenuDataBaseDto
|
|
{
|
|
private readonly IconData _icon = new IconData(enumInternGif.loadingSpinner);
|
|
|
|
public LoadingMenuDataDto(string loadingText)
|
|
{
|
|
Title = loadingText;
|
|
}
|
|
|
|
internal override IconData GetIcon() => _icon;
|
|
|
|
|
|
}
|
|
|
|
[Obsolete]
|
|
internal sealed class SearchResultMenuDataDto : MenuDataBaseDto
|
|
{
|
|
private readonly cFasdApiSearchResultEntry _searchResultEntry;
|
|
public enumF4sdSearchResultClass Type { get => _searchResultEntry.Type; }
|
|
|
|
public SearchResultMenuDataDto(cFasdApiSearchResultEntry searchResultEntry)
|
|
{
|
|
_searchResultEntry = searchResultEntry;
|
|
//Action = new cUiProcessSearchRelationAction()
|
|
}
|
|
|
|
internal override IconData GetIcon()
|
|
{
|
|
switch (Type)
|
|
{
|
|
case enumF4sdSearchResultClass.Computer:
|
|
return new IconData(enumInternIcons.misc_computer);
|
|
case enumF4sdSearchResultClass.User:
|
|
return new IconData(enumInternIcons.misc_user);
|
|
case enumF4sdSearchResultClass.Phone:
|
|
return new IconData(MaterialIcons.MaterialIconType.ic_phone);
|
|
case enumF4sdSearchResultClass.Ticket:
|
|
break;
|
|
case enumF4sdSearchResultClass.VirtualSession:
|
|
break;
|
|
case enumF4sdSearchResultClass.MobileDevice:
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
[Obsolete]
|
|
internal sealed class SearchRelationMenuDataDto : MenuDataBaseDto
|
|
{
|
|
private readonly cF4sdApiSearchResultRelation _searchRelation;
|
|
public enumF4sdSearchResultClass Type { get => _searchRelation.Type; }
|
|
public DateTime LastUsed { get; private set; }
|
|
public double UsingFactor { get; private set; }
|
|
public Dictionary<string, string> AdditionalInfos { get; private set; } // todo check
|
|
|
|
public bool IsUsedForCaseEnrichtment { get; set; } // todo check
|
|
|
|
public string TrailingText { get; set; }
|
|
|
|
public SearchRelationMenuDataDto(cF4sdApiSearchResultRelation searchRelation)
|
|
{
|
|
_searchRelation = searchRelation;
|
|
//Action = new cUiProcessSearchRelationAction()
|
|
}
|
|
|
|
internal override IconData GetIcon()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
[Obsolete]
|
|
internal sealed class QuickActionMenuDataDto : MenuDataBaseDto
|
|
{
|
|
public QuickActionMenuDataDto(cFasdQuickAction quickActionDefinition) : base(quickActionDefinition)
|
|
{
|
|
Action = cUiActionBase.GetUiAction(quickActionDefinition);
|
|
}
|
|
}
|
|
|
|
[Obsolete]
|
|
internal sealed class QuickTipMenuDataDto : MenuDataBaseDto
|
|
{
|
|
public QuickTipMenuDataDto(cFasdQuickTip quickTipDefinition) : base(quickTipDefinition)
|
|
{
|
|
Title = quickTipDefinition.Names.GetValue();
|
|
Action = new cUiQuickTipAction(quickTipDefinition);
|
|
}
|
|
}
|
|
|
|
[Obsolete]
|
|
internal sealed class CopyTemplateMenuDataDto : MenuDataBaseDto
|
|
{
|
|
public CopyTemplateMenuDataDto(cCopyTemplate copyActionDefintion) : base(copyActionDefintion)
|
|
{
|
|
Action = new cUiCopyAction(copyActionDefintion);
|
|
}
|
|
}
|
|
}
|