/** * Create a Field object for handling deletion of items. * * @param RowEditor $editor * @return Field */ private function createDeleteField(RowEditor $editor) { $field = new Field(); $field->setId('delete')->setEditable(true)->assignHelperCallback('InputFilter', function () { $input = new \Zend\InputFilter\Input('delete'); $input->setAllowEmpty(true); return $input; })->assignHelperCallback('EditControl.Label', function () { return '<span class="glyphicon glyphicon-trash"></span>'; })->assignHelperCallback('EditControl.Control', function () use($editor) { if ($editor->isNew()) { $out = '<button data-is-new="1" class="btn btn-danger btn-delete">'; } elseif ($editor->hasDeleteField()) { $out = '<button data-is-new="0" class="btn btn-danger btn-delete">'; } else { $out = '<button data-is-new="0" class="btn btn-danger btn-delete disabled">'; } $out .= '<span class="glyphicon glyphicon-trash"></span>'; $out .= '</button>'; return $out; }); return $field; }