3 namespace BookStack\Http\Controllers;
5 use BookStack\Actions\TagRepo;
6 use Illuminate\Http\Request;
8 class TagController extends Controller
13 * TagController constructor.
15 public function __construct(TagRepo $tagRepo)
17 $this->tagRepo = $tagRepo;
21 * Show a listing of existing tags in the system.
23 public function index(Request $request)
25 $search = $request->get('search', '');
26 $nameFilter = $request->get('name', '');
27 $tags = $this->tagRepo
28 ->queryWithTotals($search, $nameFilter)
30 ->appends(array_filter([
32 'name' => $nameFilter,
35 $this->setPageTitle(trans('entities.tags'));
37 return view('tags.index', [
40 'nameFilter' => $nameFilter,
45 * Get tag name suggestions from a given search term.
47 public function getNameSuggestions(Request $request)
49 $searchTerm = $request->get('search', null);
50 $suggestions = $this->tagRepo->getNameSuggestions($searchTerm);
52 return response()->json($suggestions);
56 * Get tag value suggestions from a given search term.
58 public function getValueSuggestions(Request $request)
60 $searchTerm = $request->get('search', null);
61 $tagName = $request->get('name', null);
62 $suggestions = $this->tagRepo->getValueSuggestions($searchTerm, $tagName);
64 return response()->json($suggestions);