inital
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.MultiLanguage;
|
||||
using F4SD_AdaptableIcon;
|
||||
using F4SD_AdaptableIcon.Enums;
|
||||
using FasdDesktopUi.Basics.CustomEvents;
|
||||
using FasdDesktopUi.Basics.Helper;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
using FasdDesktopUi.Basics.UiActions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace FasdDesktopUi.Basics.UserControls.SearchResult
|
||||
{
|
||||
public partial class SearchResultCategory : UserControl
|
||||
{
|
||||
public string Title
|
||||
{
|
||||
get { return (string)GetValue(TitleProperty); }
|
||||
set { SetValue(TitleProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty TitleProperty =
|
||||
DependencyProperty.Register("Title", typeof(string), typeof(SearchResultCategory), new PropertyMetadata(string.Empty));
|
||||
|
||||
public bool IsPending
|
||||
{
|
||||
get { return (bool)GetValue(IsPendingProperty); }
|
||||
set { SetValue(IsPendingProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty IsPendingProperty =
|
||||
DependencyProperty.Register("IsPending", typeof(bool), typeof(SearchResultCategory), new PropertyMetadata(false));
|
||||
|
||||
public IconData TitleIcon
|
||||
{
|
||||
get { return (IconData)GetValue(TitleIconProperty); }
|
||||
set { SetValue(TitleIconProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty TitleIconProperty =
|
||||
DependencyProperty.Register("TitleIcon", typeof(IconData), typeof(SearchResultCategory), new PropertyMetadata(new IconData(enumInternIcons.f4sd)));
|
||||
|
||||
public SearchResultCategory()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnInitialized(EventArgs e)
|
||||
{
|
||||
base.OnInitialized(e);
|
||||
AddHandler(CustomEventManager.IndexChangedEvent, new CustomEventManager.IndexChangedHandlerDelegate(HandleSelectedIndexChanged));
|
||||
}
|
||||
|
||||
private void HandleSelectedIndexChanged(object sender, IndexEventArgs args)
|
||||
{
|
||||
if (args.OriginalSource == this)
|
||||
return;
|
||||
|
||||
CustomEventManager.RaiseIndexChangedEvent(this, args.OldValue, args.NewValue);
|
||||
}
|
||||
|
||||
public void UpdateSearchResults(cFasdApiSearchResultCollection results, ISearchUiProvider uiSearchProvider)
|
||||
{
|
||||
ResultMenu.MenuDataList = results.Select(searchResult =>
|
||||
{
|
||||
var requiredInformationClasses = new List<enumFasdInformationClass>() { cF4sdIdentityEntry.GetFromSearchResult(searchResult.Value.First().Type) };
|
||||
bool isEnabled = cHealthCardDataHelper.HasAvailableHealthCard(requiredInformationClasses);
|
||||
|
||||
var menuData = new cMenuDataSearchResult(searchResult.Key, uiSearchProvider, searchResult.Value) as cMenuDataBase;
|
||||
menuData.UiAction.DisplayType = isEnabled ? Enums.enumActionDisplayType.enabled : Enums.enumActionDisplayType.disabled;
|
||||
menuData.UiAction.Description = isEnabled ? string.Empty : cMultiLanguageSupport.GetItem("Searchbar.NoValidHealthcard");
|
||||
menuData.UiAction.AlternativeDescription = isEnabled ? string.Empty : cMultiLanguageSupport.GetItem("Searchbar.NoValidHealthcard");
|
||||
|
||||
return menuData;
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
public void UpdateSearchRelations(IEnumerable<cMenuDataBase> relations) => ResultMenu.MenuDataList = relations.ToList();
|
||||
|
||||
internal void ShowDetailHeadings(bool showDetailHeadings) => ResultMenu.ShowDetailHeading(showDetailHeadings);
|
||||
|
||||
internal int GetItemCount() => ResultMenu.MenuDataList.Count;
|
||||
|
||||
internal void HiglightItemAt(int index) => ResultMenu.HightlightItemAt(index);
|
||||
|
||||
internal void SelectItemAt(int index) => ResultMenu.SelectItemAt(index);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user