|
|
|
@ -424,7 +424,7 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
|
|
|
|
|
query.SortBy = new string[] { };
|
|
|
|
|
|
|
|
|
|
return PostFilterAndSort(items, parent, null, query);
|
|
|
|
|
return PostFilterAndSort(items, parent, null, query, false, true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private QueryResult<BaseItem> GetFavoriteSongs(Folder parent, User user, InternalItemsQuery query)
|
|
|
|
@ -780,7 +780,7 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
{
|
|
|
|
|
items = items.Where(i => Filter(i, query.User, query, _userDataManager, _libraryManager));
|
|
|
|
|
|
|
|
|
|
return PostFilterAndSort(items, queryParent, null, query, _libraryManager, _config);
|
|
|
|
|
return PostFilterAndSort(items, queryParent, null, query, _libraryManager, _config, true, true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static bool FilterItem(BaseItem item, InternalItemsQuery query)
|
|
|
|
@ -791,9 +791,11 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
private QueryResult<BaseItem> PostFilterAndSort(IEnumerable<BaseItem> items,
|
|
|
|
|
BaseItem queryParent,
|
|
|
|
|
int? totalRecordLimit,
|
|
|
|
|
InternalItemsQuery query)
|
|
|
|
|
InternalItemsQuery query,
|
|
|
|
|
bool collapseBoxSetItems,
|
|
|
|
|
bool enableSorting)
|
|
|
|
|
{
|
|
|
|
|
return PostFilterAndSort(items, queryParent, totalRecordLimit, query, _libraryManager, _config);
|
|
|
|
|
return PostFilterAndSort(items, queryParent, totalRecordLimit, query, _libraryManager, _config, collapseBoxSetItems, enableSorting);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static QueryResult<BaseItem> PostFilterAndSort(IEnumerable<BaseItem> items,
|
|
|
|
@ -801,7 +803,9 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
int? totalRecordLimit,
|
|
|
|
|
InternalItemsQuery query,
|
|
|
|
|
ILibraryManager libraryManager,
|
|
|
|
|
IServerConfigurationManager configurationManager)
|
|
|
|
|
IServerConfigurationManager configurationManager,
|
|
|
|
|
bool collapseBoxSetItems,
|
|
|
|
|
bool enableSorting)
|
|
|
|
|
{
|
|
|
|
|
var user = query.User;
|
|
|
|
|
|
|
|
|
@ -810,7 +814,10 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
query.IsVirtualUnaired,
|
|
|
|
|
query.IsUnaired);
|
|
|
|
|
|
|
|
|
|
items = CollapseBoxSetItemsIfNeeded(items, query, queryParent, user, configurationManager);
|
|
|
|
|
if (collapseBoxSetItems)
|
|
|
|
|
{
|
|
|
|
|
items = CollapseBoxSetItemsIfNeeded(items, query, queryParent, user, configurationManager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// This must be the last filter
|
|
|
|
|
if (!string.IsNullOrEmpty(query.AdjacentTo))
|
|
|
|
@ -818,7 +825,7 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
items = FilterForAdjacency(items, query.AdjacentTo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Sort(items, totalRecordLimit, query, libraryManager);
|
|
|
|
|
return SortAndPage(items, totalRecordLimit, query, libraryManager, enableSorting);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static IEnumerable<BaseItem> CollapseBoxSetItemsIfNeeded(IEnumerable<BaseItem> items,
|
|
|
|
@ -1191,10 +1198,10 @@ namespace MediaBrowser.Controller.Entities
|
|
|
|
|
return items;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static QueryResult<BaseItem> Sort(IEnumerable<BaseItem> items,
|
|
|
|
|
public static QueryResult<BaseItem> SortAndPage(IEnumerable<BaseItem> items,
|
|
|
|
|
int? totalRecordLimit,
|
|
|
|
|
InternalItemsQuery query,
|
|
|
|
|
ILibraryManager libraryManager)
|
|
|
|
|
ILibraryManager libraryManager, bool enableSorting)
|
|
|
|
|
{
|
|
|
|
|
var user = query.User;
|
|
|
|
|
|
|
|
|
|