false]; public function __construct(Grid $grid) { $this->grid = $grid; $this->options([ 'i18n' => [ 'focus' => trans('admin.responsive.focus'), 'display' => trans('admin.responsive.display'), 'displayAll' => trans('admin.responsive.display_all'), ], ]); } /** * Show focus button. * * @return $this */ public function focus() { return $this->options(['addFocusBtn' => true]); } /** * @return $this */ public function all() { $this->grid->columns()->each->responsive(); return $this; } /** * @param array $options * * @return $this */ public function options(array $options) { $this->options = array_merge($this->options, $options); return $this; } public function build() { Admin::collectAssets('rwd-table'); $opt = json_encode($this->options); if (request()->pjax()) { Admin::script("$('#{$this->grid->getTableId()}').parent().responsiveTable($opt);"); } else { Admin::script("setTimeout(function(){ $('#{$this->grid->getTableId()}').parent().responsiveTable($opt); },10);"); } } }