/** * Creates the widgets edit form * * @return \Ip\Form * @throws \Ip\Exception */ public static function editForm() { $form = new \Ip\Form(); $form->setEnvironment(\Ip\Form::ENVIRONMENT_ADMIN); $form->addFieldset(new \Ip\Form\Fieldset(__('Source data', 'DataTableWidget-admin', false))); $field = new SingleFile(array('name' => 'sourceFile', 'label' => __('File', 'DataTableWidget-admin', false) . ':')); $form->addField($field); $form->addFieldset(new \Ip\Form\Fieldset(__('View', 'DataTableWidget-admin', false))); $tableTypes = TableType::getAllAsArray(); $values = array(); foreach ($tableTypes as $tableType) { $values[] = array($tableType['id'], $tableType['name']); } $field = new \Ip\Form\Field\Select(array('name' => 'tableTypeId', 'label' => __('Table type', 'DataTableWidget-admin', false) . ':', 'values' => $values)); $field->addValidator('Required'); $form->addField($field); return $form; }
private static function createBaseForm($isSpecificColumnRequired) { $form = new \Ip\Form(); $form->setEnvironment(\Ip\Form::ENVIRONMENT_ADMIN); // GENERAL $form->addFieldset(new \Ip\Form\Fieldset(__('General', 'Ip-admin', false))); $field = new \Ip\Form\Field\Text(array('name' => 'name', 'label' => __('Name', 'Ip-admin', false))); $field->addValidator("Required"); $field->addAttribute('ng-model', 'editTableType.name'); $form->addField($field); $languages = array(); foreach (ipContent()->getLanguages() as $language) { $languages[] = array(intval($language->getId()), $language->getTitle()); } $field = new \Ip\Form\Field\Select(array('name' => 'language', 'label' => __('Target language', 'DataTableWidget-admin', false), 'values' => $languages)); $field->addValidator("Required"); $form->addField($field); // DISPLAY OPTIONS $form->addFieldset(new \Ip\Form\Fieldset(__('Display options', 'DataTableWidget-admin', false))); $columnOptionsValues = array(); foreach (TableType::getColumnOptions() as $key => $tableOption) { $columnOptionsValues[] = array($key, $tableOption['name']); } $field = new \Ip\Form\Field\Radio(array('name' => 'columnOption', 'label' => __('Columns and headings', 'DataTableWidget-admin', false), 'values' => $columnOptionsValues)); $field->addAttribute('ng-model', 'editTableType.columnOption'); $field->addAttribute('ng-change', 'selectedColumnOptionChanged()'); $form->addField($field); $field = new SpecificColumn(); $field->removeAttribute('id'); if ($isSpecificColumnRequired) { $field->addValidator("Required"); } $field->setLayout(\Ip\Form\Field::LAYOUT_NO_LABEL); $form->addField($field); return $form; }