/** * Should the element has an icon? * @param Html $el * @param string|null $icon * @param string $name * @return void */ public function tryAddIcon(Html $el, $icon, $name) { if ($icon) { $el->addHtml(Html::el('span')->class(DataGrid::$icon_prefix . $icon)); if (strlen($name)) { $el->addHtml(' '); } } }
public static function input(Html $input, BaseControl $control, $isPart) { $name = $input->getName(); if ($name === 'select' || $name === 'textarea' || $name === 'input' && !in_array($input->type, ['radio', 'checkbox', 'file', 'hidden', 'range', 'image', 'submit', 'reset'])) { $input->addClass('form-control'); } elseif ($name === 'input' && ($input->type === 'submit' || $input->type === 'reset')) { $input->setName('button'); $input->addHtml($input->value); $input->addClass('btn'); } return $input; }
/** * @param Html $el * @param Html|string $content * @return Html fluent interface */ private function addContent(Html $el, $content) { if ($content instanceof Html) { $el->addHtml($content); } else { $el->addText($content); } return $el; }
/** * Vygeneruje početní otázku pro uživatele, která se bude doplňovat JavaScriptem. * @param \Nette\Utils\Html $group */ private function generateJavaScriptQuestion(\Nette\Utils\Html &$group) { $groupId = $this->getHtmlId() . "-question-group"; $javaScriptGroup = \Nette\Utils\Html::el("div id='{$groupId}'"); $javaScriptGroup->class[] = $this->getHtmlName() . "-question-group"; $this->questionLabelPrototype->setText($this->generateMathQuestion()); $inputName = $this->getHtmlName() . "-question-result"; $inputId = $this->getHtmlId() . "-question-result"; $this->questionInputPrototype->addAttributes(["id" => $inputId, "name" => $inputName]); $javaScriptGroup->addHtml($this->questionLabelPrototype); $javaScriptGroup->addHtml($this->questionInputPrototype); $script = \Nette\Utils\Html::el("script"); $script->setHtml("\r\n\t\t\tdocument.getElementById('{$inputId}').value = " . $this->result . ";\r\n\t\t\tdocument.getElementById('{$groupId}').style.display = 'none';\r\n\t\t"); $javaScriptGroup->addHtml($script); $group->addHtml($javaScriptGroup); }