fix Классы для полей формы вынесены в отдельные файлы
This commit is contained in:
parent
aaba3d7585
commit
7fd7c4fd12
8 changed files with 74 additions and 49 deletions
|
|
@ -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
14
src/Form/CheckBox.php
Normal 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
7
src/Form/DateTime.php
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace ctiso\Form;
|
||||||
|
use ctiso\Form\Input;
|
||||||
|
|
||||||
|
class DateTime extends Input {
|
||||||
|
}
|
||||||
|
|
@ -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,26 +37,27 @@ 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',
|
||||||
|
|
|
||||||
8
src/Form/Hidden.php
Normal file
8
src/Form/Hidden.php
Normal 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
16
src/Form/QuestionType.php
Normal 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
10
src/Form/Secret.php
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace ctiso\Form;
|
||||||
|
use ctiso\Form\Field;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Поле для ввода пароля
|
||||||
|
*/
|
||||||
|
class Secret extends Field {
|
||||||
|
}
|
||||||
7
src/Form/Upload.php
Normal file
7
src/Form/Upload.php
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace ctiso\Form;
|
||||||
|
use ctiso\Form\Field;
|
||||||
|
|
||||||
|
class TUpload extends Field {
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue