+ /**
+ * Search for a list of templates to choose from.
+ */
+ public function templatesForSelector(Request $request)
+ {
+ $searchTerm = $request->get('term', false);
+
+ if ($searchTerm !== false) {
+ $searchOptions = SearchOptions::fromString($searchTerm);
+ $searchOptions->setFilter('is_template');
+ $entities = $this->searchRunner->searchEntities($searchOptions, 'page', 1, 20)['results'];
+ } else {
+ $entities = Page::visible()
+ ->where('template', '=', true)
+ ->where('draft', '=', false)
+ ->orderBy('updated_at', 'desc')
+ ->take(20)
+ ->get(Page::$listAttributes);
+ }
+
+ return view('search.parts.entity-selector-list', [
+ 'entities' => $entities,
+ 'permission' => 'view'
+ ]);
+ }
+