예제 #1
0
파일: Text.php 프로젝트: trejjam/contents
 /**
  * @param Base|Text                        $item
  * @param Nette\Forms\Container            $formContainer
  * @param                                  $name
  * @param                                  $parentName
  * @param Nette\Forms\Rules                $togglingObject
  * @param array                            $userOptions
  * @param bool                             $processSubTypes
  */
 public function generateForm(Base $item, Nette\Forms\Container &$formContainer, $name, $parentName, $togglingObject, array $userOptions = [], $processSubTypes = TRUE)
 {
     if ($processSubTypes) {
         $addFormItem = $this->useSubType(function (SubTypes\SubType $subType, $addFormItem) use($formContainer, $name, $parentName, $togglingObject, $userOptions) {
             if ($subType instanceof IEditItem) {
                 $subType->generateForm($this, $formContainer, $name, $parentName, $togglingObject, $userOptions);
                 return FALSE;
             }
             return $addFormItem;
         }, TRUE);
     } else {
         $addFormItem = TRUE;
     }
     if ($addFormItem) {
         $input = $formContainer->addText($name, $name);
         $input->setOption('id', $parentName . '__' . $name);
         $input->setValue($item->getValidRawContent());
         if (!is_null($togglingObject)) {
             $togglingObject->toggle($input->getOption('id'));
         }
         $item->applyUserOptions($input, $userOptions);
     }
 }