Searchable.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace ModulesGarden\ProxmoxAddon\Core\UI\Traits;
  3. use ModulesGarden\ProxmoxAddon\Core\Http\Request;
  4. /**
  5. * Search field related functions
  6. *
  7. * @author Sławomir Miśkowicz <slawomir@modulesgarden.com>
  8. */
  9. trait Searchable
  10. {
  11. protected $searchable = false;
  12. public function isSearchable()
  13. {
  14. return $this->searchable;
  15. }
  16. protected function getSearchKey()
  17. {
  18. $request = Request::build();
  19. if ($request->get('sSearch', false))
  20. {
  21. return $request->get('sSearch');
  22. }
  23. return false;
  24. }
  25. public function insertSearchForm()
  26. {
  27. if ($this->searchable)
  28. {
  29. $searchForm = new \ModulesGarden\ProxmoxAddon\Core\UI\Searchable();
  30. return $searchForm->getHtml();
  31. }
  32. return '';
  33. }
  34. public function insertHiddenSearchForm()
  35. {
  36. if ($this->searchable)
  37. {
  38. $searchForm = new \ModulesGarden\ProxmoxAddon\Core\UI\HiddenSearchable();
  39. return $searchForm->getHtml();
  40. }
  41. return '';
  42. }
  43. }