diff --git a/lang/en.yml b/lang/en.yml index 56654a39d..e10f5053f 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -97,6 +97,8 @@ en: Save: Save SilverStripe\Forms\GridField\GridFieldEditButton: EDIT: Edit + SilverStripe\Forms\GridField\GridFieldViewButton: + VIEW: View SilverStripe\Forms\GridField\GridFieldGroupDeleteAction: UnlinkSelfFailure: 'Cannot remove yourself from this group, you will lose admin rights' SilverStripe\Forms\GridField\GridFieldPaginator: diff --git a/src/Forms/GridField/GridFieldViewButton.php b/src/Forms/GridField/GridFieldViewButton.php index cd5c32aff..743350867 100644 --- a/src/Forms/GridField/GridFieldViewButton.php +++ b/src/Forms/GridField/GridFieldViewButton.php @@ -11,8 +11,41 @@ use SilverStripe\View\SSViewer; * disabled by default and intended for use in readonly {@link GridField} * instances. */ -class GridFieldViewButton implements GridField_ColumnProvider +class GridFieldViewButton implements GridField_ColumnProvider, GridField_ActionMenuLink { + /** + * @inheritdoc + */ + public function getTitle($gridField, $record, $columnName) + { + return _t(__CLASS__ . '.VIEW', "View"); + } + + /** + * @inheritdoc + */ + public function getGroup($gridField, $record, $columnName) + { + return GridField_ActionMenuItem::DEFAULT_GROUP; + } + + /** + * @inheritdoc + */ + public function getExtraData($gridField, $record, $columnName) + { + return [ + "classNames" => "font-icon-eye action-detail view-link" + ]; + } + + /** + * @inheritdoc + */ + public function getUrl($gridField, $record, $columnName) + { + return Controller::join_links($gridField->Link('item'), $record->ID, 'view'); + } public function augmentColumns($field, &$columns) { diff --git a/templates/SilverStripe/Forms/GridField/GridFieldViewButton.ss b/templates/SilverStripe/Forms/GridField/GridFieldViewButton.ss index f0c97e98e..45c5a2993 100644 --- a/templates/SilverStripe/Forms/GridField/GridFieldViewButton.ss +++ b/templates/SilverStripe/Forms/GridField/GridFieldViewButton.ss @@ -1,3 +1,3 @@ - + View