HasQuickCreate.php 884 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Dcat\Admin\Grid\Concerns;
  3. use Closure;
  4. use Dcat\Admin\Grid\Tools\QuickCreate;
  5. trait HasQuickCreate
  6. {
  7. /**
  8. * @var QuickCreate
  9. */
  10. protected $quickCreate;
  11. /**
  12. * @param Closure $callback
  13. *
  14. * @return $this
  15. */
  16. public function quickCreate(\Closure $callback)
  17. {
  18. $this->quickCreate = new QuickCreate($this);
  19. call_user_func($callback, $this->quickCreate);
  20. return $this;
  21. }
  22. /**
  23. * Indicates grid has quick-create.
  24. *
  25. * @return bool
  26. */
  27. public function hasQuickCreate()
  28. {
  29. return !is_null($this->quickCreate);
  30. }
  31. /**
  32. * Render quick-create form.
  33. *
  34. * @return array|string
  35. */
  36. public function renderQuickCreate()
  37. {
  38. $columnCount = $this->columns->count();
  39. return $this->quickCreate->render($columnCount);
  40. }
  41. }