* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Sonata\AdminBundle\Builder; use Sonata\AdminBundle\Admin\FieldDescriptionInterface; use Sonata\AdminBundle\Model\ModelManagerInterface; use Sonata\AdminBundle\Admin\AdminInterface; use Sonata\AdminBundle\Datagrid\DatagridInterface; interface DatagridBuilderInterface { /** * * @param \Sonata\AdminBundle\Admin\AdminInterface $admin * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription * @return void */ function fixFieldDescription(AdminInterface $admin, FieldDescriptionInterface $fieldDescription); /** * Returns the class associated to a FieldDescription if any defined * * @throws RuntimeException * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription * @return bool|string */ function getFilterFieldClass(FieldDescriptionInterface $fieldDescription); /** * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription * @return array */ function getChoices(FieldDescriptionInterface $fieldDescription); /** * @abstract * @param \Sonata\AdminBundle\Datagrid\DatagridInterface $datagrid * @param $type * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription * @param \Sonata\AdminBundle\Admin\AdminInterface $admin * @return void */ function addFilter(DatagridInterface $datagrid, $type = null, FieldDescriptionInterface $fieldDescription, AdminInterface $admin); /** * @param \Sonata\AdminBundle\Admin\AdminInterface $admin * @param array $values * @return \Sonata\AdminBundle\Datagrid\DatagridInterface */ function getBaseDatagrid(AdminInterface $admin, array $values = array()); }