+ $entityTypes = $request->has('types') ? collect(explode(',', $request->get('types'))) : collect(['page', 'chapter', 'book']);
+ $searchTerm = ($request->has('term') && trim($request->get('term')) !== '') ? $request->get('term') : false;
+
+ // Search for entities otherwise show most popular
+ if ($searchTerm !== false) {
+ $searchTerm .= ' {type:'. implode('|', $entityTypes->toArray()) .'}';
+ $entities = $this->searchService->searchEntities($searchTerm)['results'];
+ } else {
+ $entityNames = $entityTypes->map(function ($type) {
+ return 'BookStack\\' . ucfirst($type);
+ })->toArray();
+ $entities = $this->viewService->getPopular(20, 0, $entityNames);