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

@ -234,7 +234,7 @@ class Action
* Ajax определяется автоматически mode = ajax используется для смены layout * Ajax определяется автоматически mode = ajax используется для смены layout
* @param $name * @param $name
* @param array $param * @param array $param
* @return array|null * @return Url|null
* *
* @example ?action=$name&mode=ajax * @example ?action=$name&mode=ajax
* {$param[i].key = $param[i].value} * {$param[i].key = $param[i].value}

14
src/Form/CheckBox.php Normal file
View file

@ -0,0 +1,14 @@
<?php
namespace ctiso\Form;
use ctiso\Form\Field;
class Checkbox extends Field
{
public $checked = false;
function setValue($value)
{
$this->value = $value;
$this->checked = $value;
}
}

7
src/Form/DateTime.php Normal file
View file

@ -0,0 +1,7 @@
<?php
namespace ctiso\Form;
use ctiso\Form\Input;
class DateTime extends Input {
}

View file

@ -12,44 +12,6 @@ use ctiso\Form\Field,
ctiso\Validator\Validator, ctiso\Validator\Validator,
ctiso\HttpRequest; 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( $this->constructor = array(
'input' => 'ctiso\\Form\\Input', 'input' => 'ctiso\\Form\\Input',
'inputreq' => 'ctiso\\Form\\Input', // input с проверкой на заполненность // input с проверкой на заполненность
'inputreq' => 'ctiso\\Form\\Input',
'date' => 'ctiso\\Form\\Date', 'date' => 'ctiso\\Form\\Date',
'datereq' => 'ctiso\\Form\\Date', 'datereq' => 'ctiso\\Form\\Date',
'datetime' => 'TDateTime', 'datetime' => 'ctiso\\Form\\DateTime',
'color' => 'ctiso\\Form\\Color', 'color' => 'ctiso\\Form\\Color',
'textarea' => 'ctiso\\Form\\TextArea', 'textarea' => 'ctiso\\Form\\TextArea',
'text' => 'ctiso\\Form\\TextArea', 'text' => 'ctiso\\Form\\TextArea',
'multiselect' => 'ctiso\\Form\\SelectMany', 'multiselect' => 'ctiso\\Form\\SelectMany',
// 'selectmany' => 'TSelectMany',
'select1' => 'ctiso\\Form\\SelectOne', 'select1' => 'ctiso\\Form\\SelectOne',
'select' => 'ctiso\\Form\\SelectOne', 'select' => 'ctiso\\Form\\SelectOne',
'questiontype'=> 'TQuestionType',
'secret' => 'TSecret', 'questiontype'=> 'ctiso\\Form\\QuestionType',
'upload' => 'TUpload', 'secret' => 'ctiso\\Form\\Secret',
'image' => 'TUpload', 'upload' => 'ctiso\\Form\\Upload',
'checkbox' => 'TCheckbox', 'image' => 'ctiso\\Form\\Upload',
'checkbox' => 'ctiso\\Form\\CheckBox',
'checkmany' => 'ctiso\\Form\\SelectMany', 'checkmany' => 'ctiso\\Form\\SelectMany',
'hidden' => 'THidden', 'hidden' => 'ctiso\\Form\\Hidden',
'radio' => 'ctiso\\Form\\SelectOne', 'radio' => 'ctiso\\Form\\SelectOne',
'filebrowser' => 'ctiso\\Form\\BrowserInput', 'filebrowser' => 'ctiso\\Form\\BrowserInput',
'documents' => 'ctiso\\Form\\BrowserInput', 'documents' => 'ctiso\\Form\\BrowserInput',
'chooser' => 'ctiso\\Form\\Input', 'chooser' => 'ctiso\\Form\\Input',
'select_chooser' => 'ctiso\\Form\\SelectOne' 'select_chooser' => 'ctiso\\Form\\SelectOne'
); );

8
src/Form/Hidden.php Normal file
View file

@ -0,0 +1,8 @@
<?php
namespace ctiso\Form;
use ctiso\Form\Input;
class Hidden extends Input {
public $hidden = true;
}

16
src/Form/QuestionType.php Normal file
View file

@ -0,0 +1,16 @@
<?php
namespace ctiso\Form;
use ctiso\Form\Select;
class QuestionType extends Select
{
function setValue($value)
{
// Установить selected у options
$this->value = $value;
foreach ($this->options as &$option) {
$option['selected'] = ($option['value'] == $value);
}
}
}

10
src/Form/Secret.php Normal file
View file

@ -0,0 +1,10 @@
<?php
namespace ctiso\Form;
use ctiso\Form\Field;
/**
* Поле для ввода пароля
*/
class Secret extends Field {
}

7
src/Form/Upload.php Normal file
View file

@ -0,0 +1,7 @@
<?php
namespace ctiso\Form;
use ctiso\Form\Field;
class TUpload extends Field {
}