/** * Get options. * * @param AbstractDatatableView $datatable * * @return array * @throws Exception */ private function getOptions(AbstractDatatableView $datatable) { $options = array(); $options['view_actions'] = $datatable->getTopActions(); $options['view_features'] = $datatable->getFeatures(); $options['view_options'] = $datatable->getOptions(); $options['view_callbacks'] = $datatable->getCallbacks(); $options['view_events'] = $datatable->getEvents(); $options['view_columns'] = $datatable->getColumnBuilder()->getColumns(); if ('' === $datatable->getAjax()->getUrl()) { throw new Exception('getOptions(): Specify an ajax url.'); } $options['view_ajax'] = $datatable->getAjax(); $options['view_multiselect'] = $datatable->getColumnBuilder()->isMultiselect(); $options['view_multiselect_column'] = $datatable->getColumnBuilder()->getMultiselectColumn(); $options['view_table_id'] = $datatable->getName(); $options['datatable'] = $datatable; return $options; }