id; } $this->id = $id; } public function title($title = null) { if ($title === null) { return $this->title; } $this->title = $title; } /** * @param Grid $grid */ public function setGrid(Grid $grid) { $this->grid = $grid; $this->resource = $grid->resource(); } /** * @return string */ public function token() { return csrf_token(); } /** * @param bool $dotPrefix * * @return string */ public function elementClass() { return sprintf( '%s-%s', $this->grid->batchName(), $this->id ); } /** * @return string */ public function elementSelector() { return '.'.$this->elementClass(); } /** * Script of batch action. * * @return string */ abstract public function script(); public function render() { return <<{$this->title()} HTML; } }