GridHeaderButtonSave.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace UCore\DcatAdmin\Grid\Views;
  3. use Dcat\Admin\Actions\Action;
  4. use Dcat\Admin\Grid\Tools\AbstractTool;
  5. use Illuminate\Support\Facades\Route;
  6. /**
  7. * 保存为视图按钮
  8. */
  9. class GridHeaderButtonSave extends AbstractTool
  10. {
  11. public $title = "保存为新视图";
  12. public function render(): string
  13. {
  14. $get = request()->query();
  15. $filteredArray = array_filter($get,'\UCore\Helper\Helper::not_null');
  16. unset($filteredArray['_pjax']);
  17. unset($filteredArray['pjax']);
  18. unset($filteredArray['_viewid']);
  19. if(empty($filteredArray)){
  20. return '';
  21. }
  22. $id = $this->getKey();
  23. $router= Route::getCurrentRoute();
  24. $filteredArray['_router_name'] = $router->getName();
  25. $url=admin_route('admin_view_add',
  26. $filteredArray
  27. );
  28. $title = $this->title();
  29. return "<a href='{$url}' class='btn btn-primary'>
  30. <i class='feather icon-plus'></i><span class='d-none d-sm-inline'>&nbsp;&nbsp;{$title}</span>
  31. </a>";
  32. }
  33. }