feat: expand cockpit integrations and support workflows
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.
This commit is contained in:
84
FasdDesktopUi/Basics/UserControls/FooterButton.xaml.cs
Normal file
84
FasdDesktopUi/Basics/UserControls/FooterButton.xaml.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using C4IT.MultiLanguage;
|
||||
using F4SD_AdaptableIcon;
|
||||
using FasdDesktopUi.Basics.Converter;
|
||||
using FasdDesktopUi.Basics.Helper;
|
||||
using FasdDesktopUi.Basics.UiActions;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace FasdDesktopUi.Basics.UserControls
|
||||
{
|
||||
public partial class FooterButton : UserControl
|
||||
{
|
||||
public string LabelText
|
||||
{
|
||||
get { return (string)GetValue(LabelTextProperty); }
|
||||
set { SetValue(LabelTextProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty LabelTextProperty =
|
||||
DependencyProperty.Register(nameof(LabelText), typeof(string), typeof(FooterButton), new PropertyMetadata(string.Empty));
|
||||
|
||||
|
||||
public cUiQuickAction QuickAction
|
||||
{
|
||||
get { return (cUiQuickAction)GetValue(QuickActionProperty); }
|
||||
set { SetValue(QuickActionProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty QuickActionProperty =
|
||||
DependencyProperty.Register(nameof(QuickAction), typeof(cUiQuickAction), typeof(FooterButton), new PropertyMetadata(null, new PropertyChangedCallback(HandleQuickActionChanged)));
|
||||
|
||||
private static void HandleQuickActionChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (!(d is FooterButton button))
|
||||
return;
|
||||
|
||||
button.UpdateButtonProperties();
|
||||
}
|
||||
|
||||
private void UpdateButtonProperties()
|
||||
{
|
||||
MainGrid.Visibility = QuickAction is null ? Visibility.Collapsed : Visibility.Visible;
|
||||
|
||||
string tooltip = QuickAction != null ? null : cMultiLanguageSupport.GetItem("RemoteConnection.Button.Disabled");
|
||||
SetEnableButton(QuickAction != null && QuickAction.DisplayType == Enums.enumActionDisplayType.enabled, tooltip);
|
||||
|
||||
IconData iconData = IconDataConverter.Convert(QuickAction.QuickActionConfig.Icon);
|
||||
IconHelper.SetIconValue(ButtonIcon, iconData);
|
||||
}
|
||||
|
||||
public FooterButton()
|
||||
{
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private async void Button_Click(object sender, InputEventArgs e)
|
||||
{
|
||||
if (QuickAction is null)
|
||||
return;
|
||||
|
||||
SetEnableButton(false);
|
||||
cUiActionBase.RaiseEvent(QuickAction, this, this);
|
||||
SetEnableButton(true);
|
||||
}
|
||||
|
||||
internal void SetEnableButton(bool isEnabled, string tooltip = null)
|
||||
{
|
||||
if (isEnabled)
|
||||
{
|
||||
MainBorder.SetResourceReference(StyleProperty, "Menu.MainCategory");
|
||||
MainBorder.ClearValue(OpacityProperty);
|
||||
}
|
||||
else
|
||||
{
|
||||
MainBorder.SetResourceReference(StyleProperty, "Menu.MainCategory.NoHover");
|
||||
MainBorder.Opacity = 0.5;
|
||||
}
|
||||
|
||||
MainBorder.ToolTip = tooltip;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user