1 | <?php |
||
2 | |||
3 | namespace SilverStripe\Comments\Admin; |
||
4 | |||
5 | use Colymba\BulkManager\BulkManager; |
||
6 | use SilverStripe\Comments\Admin\CommentsGridFieldBulkAction\ApproveHandler; |
||
7 | use SilverStripe\Comments\Admin\CommentsGridFieldBulkAction\SpamHandler; |
||
8 | use SilverStripe\Core\Convert; |
||
9 | use SilverStripe\Forms\GridField\GridField_ActionMenu; |
||
10 | use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor; |
||
11 | use SilverStripe\Forms\GridField\GridFieldDataColumns; |
||
12 | |||
13 | class CommentsGridFieldConfig extends GridFieldConfig_RecordEditor |
||
14 | { |
||
15 | public function __construct($itemsPerPage = 25) |
||
16 | { |
||
17 | parent::__construct($itemsPerPage); |
||
18 | |||
19 | // $this->addComponent(new GridFieldExportButton()); |
||
20 | |||
21 | $this->addComponents([ |
||
22 | new CommentsGridFieldSpamAction(), |
||
23 | new CommentsGridFieldApproveAction(), |
||
24 | ]); |
||
25 | |||
26 | // Format column |
||
27 | /** @var GridFieldDataColumns $columns */ |
||
28 | $columns = $this->getComponentByType(GridFieldDataColumns::class); |
||
29 | $columns->setFieldFormatting([ |
||
30 | 'ParentTitle' => function ($value, &$item) { |
||
31 | return sprintf( |
||
32 | '<a href="%s" class="cms-panel-link external-link action" target="_blank">%s</a>', |
||
33 | Convert::raw2att($item->Link()), |
||
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
34 | $item->obj('ParentTitle')->forTemplate() |
||
35 | ); |
||
36 | } |
||
37 | ]); |
||
38 | |||
39 | // Add bulk option |
||
40 | $manager = BulkManager::create(null, false); |
||
41 | |||
42 | $spamAction = SpamHandler::create()->setLabel(_t(__CLASS__ . '.SPAM', 'Spam')); |
||
43 | $approveAction = ApproveHandler::create()->setLabel(_t(__CLASS__ . '.APPROVE', 'Approve')); |
||
44 | |||
45 | $manager |
||
46 | ->addBulkAction($spamAction) |
||
47 | ->addBulkAction($approveAction); |
||
48 | |||
49 | $this->addComponent($manager); |
||
50 | } |
||
51 | } |
||
52 |