/**
  * Prepares the form builder by adding row definitions
  * @param \ride\library\form\FormBuilder $builder
  * @param array $options Extra options from the controller
  * @return null
  */
 public function prepareForm(FormBuilder $builder, array $options)
 {
     $data = $options['data'];
     parent::prepareForm($builder, $options);
     $translator = $options['translator'];
     $modelName = $data->getModelName();
     if (!$modelName) {
         $modelOptions = $builder->getRow('model')->getOption('options');
         $modelName = reset($modelOptions);
     }
     $fieldIdOptions = $this->fieldService->getUniqueFields($modelName);
     $builder->addRow('field-id', 'select', array('label' => $translator->translate('label.field.id'), 'description' => $translator->translate('label.field.id.description'), 'options' => $fieldIdOptions));
     $builder->addRow('primary', 'boolean', array('label' => $translator->translate('label.content.mapper.primary'), 'description' => $translator->translate('label.content.mapper.primary.description')));
     $builder->addRow('title', 'boolean', array('label' => $translator->translate('label.title'), 'description' => $translator->translate('label.title.content.description')));
     $builder->addRow('meta-og', 'boolean', array('label' => $translator->translate('label.meta.og'), 'description' => $translator->translate('label.meta.og.description'), 'attributes' => array('data-toggle-dependant' => 'option-meta-og')));
     $builder->addRow('format-title-og', 'string', array('label' => $translator->translate('label.format.title'), 'description' => $translator->translate('label.format.title.description'), 'attributes' => array('class' => 'option-meta-og option-meta-og-1'), 'filters' => array('trim' => array())));
     $builder->addRow('format-teaser-og', 'string', array('label' => $translator->translate('label.format.teaser'), 'description' => $translator->translate('label.format.teaser.description'), 'attributes' => array('class' => 'option-meta-og option-meta-og-1'), 'filters' => array('trim' => array())));
     $builder->addRow('format-image-og', 'string', array('label' => $translator->translate('label.format.image'), 'description' => $translator->translate('label.format.image.description'), 'attributes' => array('class' => 'option-meta-og option-meta-og-1'), 'filters' => array('trim' => array())));
 }
 /**
  * Prepares the form builder by adding row definitions
  * @param \ride\library\form\FormBuilder $builder
  * @param array $options Extra options from the controller
  * @return null
  */
 public function prepareForm(FormBuilder $builder, array $options)
 {
     $data = $options['data'];
     parent::prepareForm($builder, $options);
     $translator = $options['translator'];
     $orm = $this->fieldService->getOrm();
     $modelName = $data->getModelName();
     if (!$modelName) {
         $modelOptions = $builder->getRow('model')->getOption('options');
         $modelName = reset($modelOptions);
     }
     $entryOptions = array('' => '---');
     $model = $orm->getModel($modelName);
     $entries = $model->find(null, $this->locale);
     $entryOptions += $model->getOptionsFromEntries($entries);
     $builder->addRow('entry', 'select', array('label' => $translator->translate('label.entry'), 'description' => $translator->translate('label.entry.description'), 'options' => $entryOptions));
     $builder->addRow('breadcrumb', 'boolean', array('label' => $translator->translate('label.breadcrumb.add'), 'description' => $translator->translate('label.breadcrumb.add.description')));
     $builder->addRow('title', 'boolean', array('label' => $translator->translate('label.title'), 'description' => $translator->translate('label.title.content.description')));
 }
 /**
  * Prepares the form builder by adding row definitions
  * @param \ride\library\form\FormBuilder $builder
  * @param array $options Extra options from the controller
  * @return null
  */
 public function prepareForm(FormBuilder $builder, array $options)
 {
     $data = $options['data'];
     parent::prepareForm($builder, $options);
     $modelName = $data->getModelName();
     if (!$modelName) {
         $modelOptions = $builder->getRow('model')->getOption('options');
         $modelName = reset($modelOptions);
     }
     $fieldIdOptions = $this->fieldService->getUniqueFields($modelName);
     $translator = $options['translator'];
     $filterComponent = new ContentOverviewFilterComponent();
     $filterComponent->setFields($this->fieldService->getFields($modelName, true, true, 2));
     $filterComponent->setTypes($this->contentOverviewFilters);
     $builder->addRow('condition', 'text', array('label' => $translator->translate('label.condition'), 'description' => $translator->translate('label.condition.description')));
     $builder->addRow('order-field', 'select', array('label' => $translator->translate('label.order.field'), 'description' => $translator->translate('label.order.field.description'), 'options' => $this->fieldService->getFields($modelName, true, false, 1)));
     $builder->addRow('order-direction', 'select', array('label' => $translator->translate('label.order.direction'), 'description' => $translator->translate('label.order.direction.description'), 'options' => $this->getOrderDirectionOptions($translator)));
     $builder->addRow('order', 'text', array('label' => $translator->translate('label.order'), 'description' => $translator->translate('label.order.description')));
     $builder->addRow('pagination-enable', 'option', array('label' => $translator->translate('label.pagination.enabled'), 'description' => $translator->translate('label.pagination.enabled.description')));
     $builder->addRow('pagination-rows', 'select', array('label' => $translator->translate('label.pagination.rows'), 'description' => $translator->translate('label.pagination.rows.description'), 'options' => $this->getNumericOptions(1, 50)));
     $builder->addRow('pagination-offset', 'select', array('label' => $translator->translate('label.pagination.offset'), 'description' => $translator->translate('label.pagination.offset.description'), 'options' => $this->getNumericOptions(0, 50)));
     $builder->addRow('pagination-show', 'option', array('label' => $translator->translate('label.pagination.show'), 'description' => $translator->translate('label.pagination.show.description')));
     $builder->addRow('pagination-ajax', 'option', array('label' => $translator->translate('label.pagination.ajax'), 'description' => $translator->translate('label.pagination.ajax.description')));
     $builder->addRow('parameters-type', 'option', array('label' => $translator->translate('label.parameters.type'), 'description' => $translator->translate('label.parameters.type.description'), 'options' => $this->getParametersTypeOptions($translator), 'default' => 'render'));
     $builder->addRow('parameters-number', 'select', array('label' => $translator->translate('label.parameters.number'), 'description' => $translator->translate('label.parameters.number.description'), 'options' => $this->getNumericOptions(1, 5)));
     $builder->addRow('parameters-name', 'collection', array('type' => 'string', 'label' => $translator->translate('label.parameter')));
     $builder->addRow('content-mapper', 'select', array('label' => $translator->translate('label.content.mapper.select'), 'description' => $translator->translate('label.content.mapper.select.description'), 'options' => $this->getContentMapperOptions($modelName)));
     $builder->addRow('title', 'string', array('label' => $translator->translate('label.title'), 'description' => $translator->translate('label.title.query.description')));
     $builder->addRow('search', 'boolean', array('label' => $translator->translate('label.search.expose'), 'description' => $translator->translate('label.search.expose.description')));
     $builder->addRow('filters', 'collection', array('type' => 'component', 'options' => array('component' => $filterComponent), 'label' => $translator->translate('label.filters'), 'description' => $translator->translate('label.filters.exposed.description')));
     $builder->addRow('empty-result-view', 'boolean', array('label' => $translator->translate('label.result.empty'), 'description' => $translator->translate('label.view.result.empty.description'), 'attributes' => array('data-toggle-dependant' => 'option-empty-result')));
     $builder->addRow('empty-result-message', 'wysiwyg', array('label' => $translator->translate('label.message'), 'description' => $translator->translate('label.message.result.empty.description'), 'attributes' => array('class' => 'option-empty-result option-empty-result-1')));
     $builder->addRow('more-show', 'option', array('label' => $translator->translate('label.more.show'), 'description' => $translator->translate('label.more.show.description')));
     $builder->addRow('more-node', 'select', array('label' => $translator->translate('label.more.node'), 'description' => $translator->translate('label.more.node.description'), 'options' => $this->nodeOptions));
     $builder->addRow('more-label', 'string', array('label' => $translator->translate('label.more.label'), 'description' => $translator->translate('label.more.label.description')));
 }