diff --git a/src/plugins/saved_objects/public/finder/saved_object_finder.tsx b/src/plugins/saved_objects/public/finder/saved_object_finder.tsx index a4c8f1f64276b..9885fb2fb9c2f 100644 --- a/src/plugins/saved_objects/public/finder/saved_object_finder.tsx +++ b/src/plugins/saved_objects/public/finder/saved_object_finder.tsx @@ -65,7 +65,7 @@ interface SavedObjectFinderState { query: string; isFetchingItems: boolean; page: number; - perPage: number; + perPage: number | 'all'; sortDirection?: Direction; sortOpen: boolean; filterOpen: boolean; @@ -213,6 +213,9 @@ class SavedObjectFinderUi extends React.Component< } private getPageCount() { + if (this.state.perPage === 'all') { + return 1; + } return Math.ceil( (this.state.filteredTypes.length === 0 ? this.state.items.length @@ -244,9 +247,9 @@ class SavedObjectFinderUi extends React.Component< } // If begin is greater than the length of the sequence, an empty array is returned. - const startIndex = this.state.page * this.state.perPage; + const startIndex = this.state.perPage === 'all' ? 1 : this.state.page * this.state.perPage; // If end is greater than the length of the sequence, slice extracts through to the end of the sequence (arr.length). - const lastIndex = startIndex + this.state.perPage; + const lastIndex = this.state.perPage === 'all' ? items.length : startIndex + this.state.perPage; return items .filter( (item) =>