/** * @test */ public function renderAddsPlaceholder() { $mockTagBuilder = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\TagBuilder', array('addAttribute', 'setContent', 'render'), array(), '', FALSE); $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('placeholder', 'SomePlaceholder'); $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('type', 'text'); $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('name', 'NameOfTextfield'); $mockTagBuilder->expects($this->once())->method('render'); $this->viewHelper->_set('tag', $mockTagBuilder); $arguments = array('name' => 'NameOfTextfield', 'placeholder' => 'SomePlaceholder'); $this->viewHelper->setArguments($arguments); $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode()); $this->viewHelper->initialize(); $this->viewHelper->render(); }
/** * @test */ public function renderCorrectlySetsRequiredAttribute() { $mockTagBuilder = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\TagBuilder::class, array('addAttribute', 'setContent', 'render'), array(), '', false); $mockTagBuilder->expects($this->at(0))->method('addAttribute')->with('type', 'text'); $mockTagBuilder->expects($this->at(1))->method('addAttribute')->with('name', 'NameOfTextfield'); $this->viewHelper->expects($this->once())->method('registerFieldNameForFormTokenGeneration')->with('NameOfTextfield'); $mockTagBuilder->expects($this->at(2))->method('addAttribute')->with('value', 'Current value'); $mockTagBuilder->expects($this->at(3))->method('addAttribute')->with('required', 'required'); $mockTagBuilder->expects($this->once())->method('render'); $this->viewHelper->_set('tag', $mockTagBuilder); $arguments = array('name' => 'NameOfTextfield', 'value' => 'Current value'); $this->viewHelper->setArguments($arguments); $this->viewHelper->setViewHelperNode(new \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\EmptySyntaxTreeNode()); $this->viewHelper->initialize(); $this->viewHelper->render(true); }
/** * @param boolean $required If the field is required or not * @param string $type The field type, e.g. "text", "email", "url" etc. * @param integer $sliderMin * @param integer $sliderMax * @param integer $sliderStep * * @return string */ public function render($required = null, $type = 'text', $sliderMin = 0, $sliderMax = 10, $sliderStep = 1) { $inputString = parent::render($required, $type); $id = $this->arguments['id']; if (empty($id)) { return 'Please add an id to the slider'; } $value = $sliderMin; if ($this->getValue() > $value) { $value = $this->getValue(); } $sliderElementTemplate = '<div class="slider-element-wrap">%s<div class="slider-bar-wrap"><div class="slider-element" id="slider-' . $id . '"></div></div><div class="slider-input-wrap">%s</div></div>'; $javascriptCode = '<script type="text/javascript"> $(function() { if (jQuery.ui) { jQuery("#slider-' . $id . '").slider({ range: "min", min: ' . $sliderMin . ', max: ' . $sliderMax . ', step: ' . $sliderStep . ', value: ' . $value . ', slide: function(event, ui) { jQuery(ui.handle).closest(".slider-element-wrap").find("input").val(ui.value); } }); jQuery("#' . $id . '").val(' . $value . ').live("keyup", function() { if (' . $sliderMin . ' <= this.value && this.value <= ' . $sliderMax . ') { jQuery(this).closest(".slider-element-wrap").find(".slider-element").slider("value", this.value); } }); } }); </script>'; return sprintf($sliderElementTemplate, $javascriptCode, $inputString); }
/** * Renders the treeSelector. * * @param boolean $required If the field is required or not * @return string * @api */ public function render($required = null) { $formField = parent::render($required, 'hidden', null); if (!$this->nodes) { $this->nodes = $this->getTreeNodes(); } $treeDiv = $this->getTreeDiv(); $treeJS = $this->getTreeJS($this->nodes); return $formField . $treeDiv . $treeJS; }