namespace Combodo\iTop\Renderer\Console\FieldRenderer; 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); // TODO : Shouldn't we have a field type so we don't have to maintain FQN classname ? // Rendering field in edition mode if (!$this->oField->GetReadOnly()) { switch ($sFieldClass) { case 'Combodo\\iTop\\Form\\Field\\StringField': if ($this->oField->GetLabel() !== '') { $oOutput->AddHtml(''); } $oOutput->AddHtml(''); $oOutput->AddHtml(''); break; } } // ... and in read-only mode else { switch ($sFieldClass) { case 'Combodo\\iTop\\Form\\Field\\StringField': if ($this->oField->GetLabel() !== '') { $oOutput->AddHtml(''); } $oOutput->AddHtml('
' . $this->oField->GetCurrentValue() . '
'); break; } } switch ($sFieldClass) { case 'Combodo\\iTop\\Form\\Field\\StringField': $oOutput->AddJs( <<oField->GetGlobalId()}").off("change").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; } // 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 ; switch ($sFieldClass) { case 'Combodo\\iTop\\Form\\Field\\StringField': case 'Combodo\\iTop\\Form\\Field\\TextAreaField': case 'Combodo\\iTop\\Form\\Field\\SelectField': case 'Combodo\\iTop\\Form\\Field\\HiddenField': case 'Combodo\\iTop\\Form\\Field\\RadioField': case 'Combodo\\iTop\\Form\\Field\\CheckboxField': $oOutput->AddJs( <<