Prerequisites to the custom fields

SVN:trunk[3910]
This commit is contained in:
Guillaume Lajarige
2016-02-11 15:25:03 +00:00
parent d7a69118bc
commit 064ae11ba8
2 changed files with 31 additions and 14 deletions

View File

@@ -195,6 +195,36 @@ 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())
);
}
$sFormFieldOptions = json_encode(array(
'validators' => $aValidators
));
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(
<<<EOF
$("[data-field-id='{$this->oField->GetId()}']").form_field($sFormFieldOptions);
EOF
);
break;
}
return $oOutput;
}

View File

@@ -176,8 +176,7 @@ abstract class FormRenderer
'js_inline' => '',
'css_inline' => '',
'js_files' => array(),
'css_files' => array(),
'validators' => null
'css_files' => array()
);
$sFieldRendererClass = $this->GetFieldRendererClass($oField);
@@ -257,18 +256,6 @@ abstract class FormRenderer
$output['html'] .= '<style>' . $oRenderingOutput->GetCss() . '</style>';
}
}
// Validators
foreach ($oField->GetValidators() as $oValidator)
{
$output['validators'][$oValidator::GetName()] = array(
'reg_exp' => $oValidator->GetRegExp(),
'message' => Dict::S($oValidator->GetErrorMessage())
);
}
// Subfields
// TODO
}
return $output;