SessionStore.php 750 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Dcat\Admin\Grid\ColumnSelector;
  3. use Dcat\Admin\Contracts\Grid\ColumnSelectorStore;
  4. use Dcat\Admin\Grid;
  5. class SessionStore implements ColumnSelectorStore
  6. {
  7. /**
  8. * @var Grid
  9. */
  10. protected $grid;
  11. public function setGrid(Grid $grid)
  12. {
  13. $this->grid = $grid;
  14. }
  15. public function store(array $input)
  16. {
  17. session()->put($this->getVisibleColumnsKey(), $input);
  18. }
  19. public function get()
  20. {
  21. return session()->get($this->getVisibleColumnsKey());
  22. }
  23. public function forget()
  24. {
  25. session()->remove($this->getVisibleColumnsKey());
  26. }
  27. protected function getVisibleColumnsKey()
  28. {
  29. return $this->grid->getName().'/'.request()->path();
  30. }
  31. }