fix Классы для полей формы вынесены в отдельные файлы

This commit is contained in:
origami11@yandex.ru 2022-12-08 18:40:00 +03:00
parent aaba3d7585
commit 7fd7c4fd12
8 changed files with 74 additions and 49 deletions

View file

@ -12,44 +12,6 @@ use ctiso\Form\Field,
ctiso\Validator\Validator,
ctiso\HttpRequest;
class TCheckbox extends Field
{
public $checked = false;
function setValue($value)
{
$this->value = $value;
$this->checked = $value;
}
}
class TQuestionType extends Select
{
function setValue($value)
{
// Установить selected у options
$this->value = $value;
foreach ($this->options as &$option) {
$option['selected'] = ($option['value'] == $value);
}
}
}
class TDateTime extends Input {
}
/**
* Поле для ввода пароля
*/
class TSecret extends Field {
}
class TUpload extends Field {
}
class THidden extends Input {
public $hidden = true;
}
/**
* Форма для ввода
*/
@ -75,29 +37,30 @@ class Form extends View {
{
$this->constructor = array(
'input' => 'ctiso\\Form\\Input',
'inputreq' => 'ctiso\\Form\\Input', // input с проверкой на заполненность
// input с проверкой на заполненность
'inputreq' => 'ctiso\\Form\\Input',
'date' => 'ctiso\\Form\\Date',
'datereq' => 'ctiso\\Form\\Date',
'datetime' => 'TDateTime',
'datetime' => 'ctiso\\Form\\DateTime',
'color' => 'ctiso\\Form\\Color',
'textarea' => 'ctiso\\Form\\TextArea',
'text' => 'ctiso\\Form\\TextArea',
'multiselect' => 'ctiso\\Form\\SelectMany',
// 'selectmany' => 'TSelectMany',
'select1' => 'ctiso\\Form\\SelectOne',
'select' => 'ctiso\\Form\\SelectOne',
'questiontype'=> 'TQuestionType',
'secret' => 'TSecret',
'upload' => 'TUpload',
'image' => 'TUpload',
'checkbox' => 'TCheckbox',
'questiontype'=> 'ctiso\\Form\\QuestionType',
'secret' => 'ctiso\\Form\\Secret',
'upload' => 'ctiso\\Form\\Upload',
'image' => 'ctiso\\Form\\Upload',
'checkbox' => 'ctiso\\Form\\CheckBox',
'checkmany' => 'ctiso\\Form\\SelectMany',
'hidden' => 'THidden',
'hidden' => 'ctiso\\Form\\Hidden',
'radio' => 'ctiso\\Form\\SelectOne',
'filebrowser' => 'ctiso\\Form\\BrowserInput',
'documents' => 'ctiso\\Form\\BrowserInput',
'documents' => 'ctiso\\Form\\BrowserInput',
'chooser' => 'ctiso\\Form\\Input',
'select_chooser' => 'ctiso\\Form\\SelectOne'
);