Minor search provider enhancement. Minor UI updates.
This commit is contained in:
@@ -89,13 +89,13 @@ public abstract class SearchProvider<TItem, TCriteria, TSortField, TBaseQuery> :
|
||||
.Take(options.PageSize)
|
||||
.ToArrayAsync(cancellationToken);
|
||||
|
||||
Dictionary<int, TItem> items = await GetItems(ids);
|
||||
Dictionary<int, TItem> items = await GetItems(options.Criteria, ids);
|
||||
|
||||
return [.. ids.Select(uniqueId => items[uniqueId])];
|
||||
}
|
||||
else
|
||||
{
|
||||
IQueryable<TItem> selectQuery = GetSelectQuery(orderedQuery);
|
||||
IQueryable<TItem> selectQuery = GetSelectQuery(options.Criteria, orderedQuery);
|
||||
|
||||
return await selectQuery
|
||||
.Skip((options.PageNumber - 1) * options.PageSize)
|
||||
@@ -107,7 +107,7 @@ public abstract class SearchProvider<TItem, TCriteria, TSortField, TBaseQuery> :
|
||||
protected abstract Expression<Func<TBaseQuery, object?>> GetSortExpression(TSortField field);
|
||||
protected abstract IEnumerable<(Expression<Func<TBaseQuery, object>> Selector, SortDirection Dir)> GetDefaultSortChain();
|
||||
protected abstract IQueryable<int> GetSelectIdQuery(IOrderedQueryable<TBaseQuery> query);
|
||||
protected abstract IQueryable<TItem> GetSelectQuery(IOrderedQueryable<TBaseQuery> query);
|
||||
protected abstract Task<Dictionary<int, TItem>> GetItems(int[] ids);
|
||||
protected abstract IQueryable<TItem> GetSelectQuery(TCriteria criteria, IOrderedQueryable<TBaseQuery> query);
|
||||
protected abstract Task<Dictionary<int, TItem>> GetItems(TCriteria criteria, int[] ids);
|
||||
protected virtual Task PostLoadAsync(IList<TItem> items, CancellationToken cancellationToken) => Task.CompletedTask;
|
||||
}
|
||||
Reference in New Issue
Block a user