public SearchServerLibraryItemViewModel(ServerLibraryViewModel library, ArmaServerFilter serverFilter, SortDescriptionCollection existing = null, string icon = null, ServerLibraryGroupViewModel @group = null, bool isFeatured = false, bool doGrouping = false) : base(library, serverFilter, existing, icon, @group, isFeatured, doGrouping) { Model = new BuiltInServerContainer("Search"); Icon = SixIconFont.withSIX_icon_Search; IsFeatured = true; SetupFilterChanged(); UiHelper.TryOnUiThread(() => { Items.EnableCollectionSynchronization(ItemsLock); _itemsView = Items.CreateCollectionView( new[] { new SortDescription("SearchScore", ListSortDirection.Descending) }, null, null, Filter.Handler, true); }); var sortDatas = new[] { new SortData { DisplayName = "Search score", Value = "SearchScore", SortDirection = ListSortDirection.Descending } }; Sort = new SortViewModel(ItemsView, sortDatas.Concat(ServersViewModel.Columns).ToArray(), null, ServersViewModel.RequiredColumns); SetupGrouping(); SortOrder = 3; IsRoot = true; }
public NetworkLibraryItemViewModel(ServerLibraryViewModel library, BuiltInServerContainer model, IFilter filter, ServerLibraryGroupViewModel @group = null, bool doGrouping = false) : base(library, model, filter, null, SixIconFont.withSIX_icon_Nav_Server, @group, true, doGrouping) { Items.ChangeTrackingEnabled = true; }
public ServerLibraryItemViewModel(ServerLibraryViewModel library, T model, IFilter serverFilter, SortDescriptionCollection existing, string icon = null, ServerLibraryGroupViewModel group = null, bool isFeatured = false, bool doGrouping = false) : base(library, serverFilter, existing, icon, group, isFeatured, doGrouping) { Model = model; SetupViews(); }
public ServerLibrarySetup(ServerLibraryViewModel library, IServerList serverList) { _library = library; _serverList = serverList; BuiltInGroup = new ServerLibraryGroupViewModel(library, null) { IsRoot = true, SortOrder = 0 }; _builtinFeatured = new ServerLibraryItemViewModel <BuiltInServerContainer>(library, new BuiltInServerContainer("Featured"), new CleanServerFilter(), null, SixIconFont.withSIX_icon_Ribbon, BuiltInGroup, true) { IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 7, IsHead = true }; _builtinFavorites = new ServerLibraryItemViewModel <BuiltInServerContainer>(library, new BuiltInServerContainer("Favorites"), new CleanServerFilter(), null, SixIconFont.withSIX_icon_Star, BuiltInGroup, true) { IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 8 }; _builtinRecent = new ServerLibraryItemViewModel <BuiltInServerContainer>(library, new BuiltInServerContainer("Recent"), new CleanServerFilter(), null, SixIconFont.withSIX_icon_Clock, BuiltInGroup, true) { IsRoot = true, SortOrder = 9 }; Groups = new LibraryGroupViewModel <ServerLibraryViewModel>[] { null, BuiltInGroup }; if (serverList != null) { Setup(); } Items.AddRange(Groups.Where(x => x != null && x != BuiltInGroup)); CreateItemsView(); }