namespace Combodo\iTop\Renderer\Console\FieldRenderer; use Combodo\iTop\Form\Field\StringField; use \Dict; use Combodo\iTop\Renderer\FieldRenderer; use Combodo\iTop\Renderer\RenderingOutput; class ConsoleSimpleFieldRenderer extends FieldRenderer { public function Render() { $oOutput = new RenderingOutput(); $sFieldClass = get_class($this->oField); if ($sFieldClass == 'Combodo\\iTop\\Form\\Field\\HiddenField') { $oOutput->AddHtml(''); } else { $oOutput->AddHtml(''); $oOutput->AddHtml(''); if ($this->oField->GetLabel() != '') { $oOutput->AddHtml(''); } switch ($sFieldClass) { case 'Combodo\\iTop\\Form\\Field\\StringField': $oOutput->AddHtml(''); break; case 'Combodo\\iTop\\Form\\Field\\SelectField': $oOutput->AddHtml(''); break; } $oOutput->AddHtml(''); $oOutput->AddHtml('
'); if ($this->oField->GetReadOnly()) { $oOutput->AddHtml(''); $oOutput->AddHtml(''.htmlentities($this->oField->GetCurrentValue(), ENT_QUOTES, 'UTF-8').''); } else { $oOutput->AddHtml(''); } $oOutput->AddHtml(''); $oOutput->AddHtml(''); if ($this->oField->GetReadOnly()) { $aChoices = $this->oField->GetChoices(); $sCurrentLabel = isset($aChoices[$this->oField->GetCurrentValue()]) ? $aChoices[$this->oField->GetCurrentValue()] : '' ; $oOutput->AddHtml(''); $oOutput->AddHtml(''.htmlentities($sCurrentLabel, ENT_QUOTES, 'UTF-8').''); } else { $oOutput->AddHtml(''); } $oOutput->AddHtml(''); $oOutput->AddHtml('
'); } switch ($sFieldClass) { case 'Combodo\\iTop\\Form\\Field\\StringField': $oOutput->AddJs( <<oField->GetGlobalId()}").off("change keyup").on("change keyup", function(){ var me = this; $(this).closest(".field_set").trigger("field_change", { id: $(me).attr("id"), name: $(me).closest(".form_field").attr("data-field-id"), value: $(me).val() }); }); EOF ); break; case 'Combodo\\iTop\\Form\\Field\\SelectField': $oOutput->AddJs( <<oField->GetGlobalId()}").off("change").on("change", function(){ var me = this; $(this).closest(".field_set").trigger("field_change", { id: $(me).attr("id"), name: $(me).closest(".form_field").attr("data-field-id"), value: $(me).val() }); }); EOF ); break; } // JS Form field widget construct $aValidators = array(); foreach ($this->oField->GetValidators() as $oValidator) { $aValidators[$oValidator::GetName()] = array( 'reg_exp' => $oValidator->GetRegExp(), 'message' => Dict::S($oValidator->GetErrorMessage()) ); } $sValidators = json_encode($aValidators); $sFormFieldOptions = <<'); oValidationElement.tooltip({ items: 'span', tooltipClass: 'form_field_error', content: function() { return $(this).find('img').attr('data-tooltip'); // As opposed to the default 'content' handler, do not escape the contents of 'title' } }); } } } EOF ; $oOutput->AddJs( <<AddJs( <<