/// <inheritdoc/> public override ValueTask <Page> GetPageAsync(PagedViewBase view) { var offset = view.CurrentPageIndex * ItemsPerPage; var remainder = Array.Length - offset; var segment = new ArraySegment <T>(Array, offset, ItemsPerPage > Array.Length ? Array.Length : ItemsPerPage > remainder ? remainder : ItemsPerPage); var page = Formatter(view, segment); return(new(page)); }
/// <inheritdoc/> public override ValueTask <Page> GetPageAsync(PagedViewBase view) { var page = Pages.ElementAtOrDefault(view.CurrentPageIndex); return(new(page)); }
/// <summary> /// Gets a page for the paged menu's current state. /// </summary> /// <param name="view"> The view to get the page for. </param> /// <returns> /// A <see cref="ValueTask{TResult}"/> with a page result representing the work. /// </returns> public abstract ValueTask <Page> GetPageAsync(PagedViewBase view);