GridHeaderButtonPrivate.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace UCore\DcatAdmin\Grid\Views;
  3. use UCore\DcatAdmin\Form\AbstractTool;
  4. use App\Module\System\Models\AdminGridView;
  5. use Illuminate\Support\Facades\Route;
  6. class GridHeaderButtonPrivate extends AbstractTool
  7. {
  8. /**
  9. * @var AdminGridView $adminGridView
  10. */
  11. protected $adminGridView;
  12. public function __construct(AdminGridView $adminGridView)
  13. {
  14. $this->adminGridView = $adminGridView;
  15. }
  16. public function render(): string
  17. {
  18. $title = $this->adminGridView->title;
  19. $url = $this->getUrl();
  20. $now = $this->getNowIcon();
  21. return "<a href='{$url}' class='btn btn-success'>
  22. <span class=' d-sm-inline'>
  23. &nbsp;&nbsp;{$title}
  24. </span>
  25. $now
  26. </a>";
  27. }
  28. public function getNowIcon(): string
  29. {
  30. $now_viewid = request('_viewid');
  31. $now = '';
  32. if ($now_viewid == $this->adminGridView->id) {
  33. $now = "<i class='fa fa-check'></i>";
  34. }
  35. return $now;
  36. }
  37. protected function getUrl()
  38. {
  39. $p1 = $this->adminGridView->p1;
  40. $p1['_viewid'] = $this->adminGridView->id;
  41. $url = \route($this->adminGridView->router_name,
  42. $p1
  43. );
  44. return $url;
  45. }
  46. }