/** * * @param GridField $gridField * @param DataObject $record * @param string $columnName * @return string - the HTML for the column */ public function getColumnContent($gridField, $record, $columnName) { if ($this->removeRelation) { $field = GridField_FormAction::create($gridField, 'UnlinkRelation' . $record->ID, false, "unlinkrelation", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-unlink')->setAttribute('title', _t('GridAction.UnlinkRelation', "Unlink"))->setAttribute('data-icon', 'chain--minus'); } else { if (!$record->canDelete()) { return; } $field = GridField_FormAction::create($gridField, 'DeleteRecord' . $record->ID, false, "deleterecord", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-delete')->setAttribute('title', _t('GridAction.Delete', "Delete"))->setAttribute('data-icon', 'cross-circle')->setDescription(_t('GridAction.DELETE_DESCRIPTION', 'Delete')); } //add a class to the field to if it is the last gridfield in the list $numberOfRelations = $record->Pages()->Count(); $field->addExtraClass('dms-delete')->setAttribute('data-pages-count', $numberOfRelations)->removeExtraClass('gridfield-button-delete'); //remove the base gridfield behaviour //set a class telling JS what kind of warning to display when clicking the delete button if ($numberOfRelations > 1) { $field->addExtraClass('dms-delete-link-only'); } else { $field->addExtraClass('dms-delete-last-warning'); } //set a class to show if the document is hidden if ($record->isHidden()) { $field->addExtraClass('dms-document-hidden'); } return $field->Field(); }