public function finalizeSave(Form $form, SiteTreeNodeInterface $model) { $config = $this->configModel()->getConfig($model->getPageTypeId(), $model->getIdentifier()); foreach ($form->getData($this->fieldPrefix()) as $key => $value) { $config->set($key, $value); } $this->configModel()->saveConfig($config, $model->id); }
protected function translateProperty(Form $form, Field $field, $property) { if ($property != 'title') { return; } $model = $form->getModel(); if (!$model) { $model = $this->modelOfFormClass($form); } if (!$model) { return $field->getName(); } return $this->titles->keyTitle($model, $this->fieldKey($field)); }
/** * This method returns a default action where to send the form if none was * excplicit setted via Form::setAction() * * @param \FormObject\Form $form * @return string **/ public function setActionUrl(Form $form) { $current = explode('/', rtrim($this->urlProvider->currentUrl(), '/')); $lastSegment = array_pop($current); if (in_array($lastSegment, ['create', 'edit'])) { $parentUrl = implode('/', $current); $form->setAction($parentUrl); } if ($lastSegment == 'create') { $form->setVerb('post'); } elseif ($lastSegment == 'edit') { $form->setVerb('put'); } }
public function createActions() { $actions = parent::createActions(); $actions('action_submit')->setTitle(trans('cmsable::forms.save')); $actions->push(Action::create('delete')->setTitle(trans('cmsable::forms.delete'))); return $actions; }
protected function addRuleCssClassesIfNotAdded() { if (!$this->ruleClassesAdded && $this->form) { foreach ($this->form->getRuleNames($this->name) as $ruleName) { $this->getCssClasses()->append($ruleName); } $this->ruleClassesAdded = TRUE; } }
public function createFields() { $fields = parent::createFields(); $name = new TextField('name', 'Please enter your name'); $name->setValue('Jennifer'); $name->minLength = 3; $name->maxLength = 12; $surname = new TextField('surname', 'Please enter your surname'); $surname->setValue('Batten'); $rememberMe = new CheckboxField('remember', 'Remember Me'); $rememberMyRadio = new BooleanRadioField('rememberMyRadio'); $rememberMyRadio->trueString = 'Remember my Radio'; $rememberMyRadio->falseString = 'Forget my Radio'; $rememberMyRadio->setValue(TRUE); $rememberMyRadio->mustBeTrue = TRUE; }
/** * This method returns a default action where to send the form if none was * excplicit setted via Form::setAction() * * @param \FormObject\Form $form * @return string **/ public function setActionUrl(Form $form) { return $form->setAction(strtok($_SERVER["REQUEST_URI"], '?')); }
<?php ini_set("display_errors", "On"); error_reporting(E_ALL); require_once "lib/AutoLoader.php"; use FormObject\Renderer\PhpRenderer; use FormObject\Form; use FormObject\Field; use FormObject\Field\TextField; use FormObject\AdapterFactorySimple; $renderer = new PhpRenderer(); $renderer->addPath(__DIR__ . '/themes/simple'); $adapter = new AdapterFactorySimple(); $adapter->setRenderer($renderer); Form::setGlobalAdapter($adapter); /** * @brief ... * @var \FormObject\Form */ $form = Form::create(); $form->push(TextField::create('name')->setValue('Billy')->setTitle('Please enter your name'), TextField::create('surname')->setValue('Talent')->setTitle('Please enter your surname')); // echo $form; echo "\n" . $form['name']; echo "\n" . $form['surname']; $data = array('name' => 'Smith', 'surname' => 'Steven'); $form->fillByArray($data); $form('name')->addCssClass('important'); echo $form; echo "\n";
class DT extends DateTime { public function __toString() { return $this->format('Y-m-d H:i:s'); } } $interestList = array(array('id' => 3, 'name' => 'Play guitar', 'categoryId' => 2, 'start' => new DT('1998-10-25 10:00:00')), array('id' => 7, 'name' => 'Calligraphy', 'categoryId' => 4, 'start' => new DT('2004-05-21 13:00:00')), array('id' => 14, 'name' => 'Karate', 'categoryId' => 1, 'start' => new DT('1982-04-12 17:45:00')), array('id' => 78, 'name' => 'Calculating PI', 'categoryId' => 5, 'start' => new DT('1977-02-01 03:14:15'))); $columns = array('id' => 'InterestID', 'name' => 'Description', 'categoryId' => 'Category', 'start' => 'Interested since'); $itemForm = Form::create($factory); $itemForm->push(HiddenField::create('id', 'ID'), TextField::create('name', 'Description'), SelectOneField::create('categoryId', 'Category')->setSrc($categories), TextField::create('start', 'Interested since')); /** * @brief ... * @var \FormObject\Form */ $form = Form::create($factory); $form->push($interests = EditManyField::create('items', 'Interests')->setValue($interestList)->setItemForm($itemForm)); $interests->addCssClass('draggable')->addCssClass('removable')->addCssClass('addable'); $nameValidator = new TextValidator(); $nameValidator->required = TRUE; $nameValidator->minLength = 3; $nameValidator->setMaxLength = 12; $surnameValidator = new RequiredValidator(); $surnameValidator->required = TRUE; $requiredValidator = new BooleanValidator(); $requiredValidator->mustBeTrue = TRUE; $validator = new SimpleValidator($form); $validator->set('name', $nameValidator); // $validator->set('surname', $surnameValidator); // $validator->set('rememberMyRadio', $requiredValidator); // $validator->set('message', $requiredValidator);
public function boot() { Form::addFormModifier(function (Form $form) { // Trigger auto action setter $form->getAction(); $verb = strtoupper($form->getVerb()); if (in_array($verb, ['PUT', 'PATCH', 'DELETE'])) { $form->push(HiddenField::create('_method')->setValue($verb)); } }); }
<?php use FormObject\Form; use FormObject\Renderer\PhpRenderer; use FormObject\AdapterFactorySimple; $renderer = new PhpRenderer(); $renderer->addPath(realpath(__DIR__ . '/../themes/bootstrap/templates/forms')); $factory = new AdapterFactorySimple(); $factory->setRenderer($renderer); Form::setGlobalAdapter($factory);
protected function registerFormObjectNamer() { if (!class_exists('FormObject\\Form', false)) { return; } Form::provideAdditionalNamer(function ($chain) { $chain->append($this->getTitleIntrospectorNamer()); }); }
/** * This method returns a default action where to send the form if none was * excplicit setted via Form::setAction() * * @param \FormObject\Form $form * @return string **/ public function setActionUrl(Form $form) { $form->setAction($this->currentUrl()); }
use FormObject\FieldList; use FormObject\Field\TextField; use FormObject\Field\Action; use FormObject\Field\CheckboxField; use FormObject\Field\BooleanRadioField; use FormObject\Field\SelectOneField; use FormObject\Validator\SimpleValidator; use FormObject\Validator\TextValidator; use FormObject\Validator\BooleanValidator; use FormObject\Validator\RequiredValidator; Registry::getRenderer()->addPath(dirname(__FILE__) . '/themes/bootstrap/templates/forms'); /** * @brief ... * @var \FormObject\Form */ $form = new Form(); $form->setMethod(Form::GET); $name = new TextField('name', 'Please enter your name'); $name->setValue('Jennifer'); $surname = new TextField('surname', 'Please enter your surname'); $surname->setValue('Batten'); $rememberMe = new CheckboxField('remember', 'Remember Me'); $rememberMyRadio = new BooleanRadioField('rememberMyRadio'); $rememberMyRadio->trueString = 'Remember my Radio'; $rememberMyRadio->falseString = 'Forget my Radio'; $rememberMyRadio->setValue(TRUE); $container = new FieldList('group1', 'Group One'); $form->push($container); $container->push($name)->push($surname)->push($rememberMe)->push($rememberMyRadio); $category = new SelectOneField('category', 'User Category'); $category->setSrc(array(1 => 'Customer', 2 => 'Co-Worker', 3 => 'Family', 4 => 'Organisation', 5 => 'Prospect'))->setValue(2);
protected function getCacheId(Form $form, Field $field, $property) { return $form->getName() . '|' . $field->getName() . "|{$property}"; }
protected function fireEvent($eventPrefix, array $params) { $eventName = $eventPrefix . '.' . $this->form->getEventSuffix(); $this->fire($eventName, $params); }