BaseProductCategoryController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\BaseProductCategory;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Http\Controllers\AdminController;
  7. use Dcat\Admin\Layout\Content;
  8. use App\Admin\Repositories\BaseProductParameter;
  9. class BaseProductCategoryController extends AdminController
  10. {
  11. public function index(Content $content)
  12. {
  13. return $content
  14. ->header('Product Category')
  15. ->description('')
  16. ->body($this->grid());
  17. }
  18. /**
  19. * Make a grid builder.
  20. *
  21. * @return Grid
  22. */
  23. protected function grid()
  24. {
  25. return Grid::make(BaseProductCategory::with('baseProductParameter'), function (Grid $grid) {
  26. $grid->column('id','ID')->bold()->sortable();
  27. $grid->column('name')->tree(true,true);
  28. $grid->column('parent_id');
  29. $grid->column('baseProductParameter.name','Parameter Name');
  30. $grid->column('order')->orderable();
  31. $grid->column('enabled')->switch();
  32. $grid->column('created_at');
  33. $grid->column('updated_at')->sortable();
  34. $grid->filter(function (Grid\Filter $filter) {
  35. $filter->like('name');
  36. });
  37. $grid->disableViewButton();
  38. $grid->showQuickEditButton();
  39. $grid->enableDialogCreate();
  40. $grid->disableEditButton();
  41. $grid->quickSearch('name');
  42. });
  43. }
  44. /**
  45. * Make a form builder.
  46. *
  47. * @return Form
  48. */
  49. protected function form()
  50. {
  51. return Form::make(new BaseProductCategory(), function (Form $form) {
  52. $form->display('id', 'ID');
  53. $form->select('parent_id', trans('Parent'))
  54. ->options(BaseProductCategory::selectOptions())
  55. ->saving(function ($v) {
  56. return (int) $v;
  57. });
  58. $form->text('name')->required();
  59. $form->select('parameter_id', 'parameter')->options(BaseProductParameter::selectOptions())->required();
  60. $form->switch('enabled')->default(1);
  61. // $form->display('created_at');
  62. // $form->display('updated_at');
  63. });
  64. }
  65. }