feat: Небольшой рефакторинг. Ограничение длинны значения в поле ввода
This commit is contained in:
parent
f599a68529
commit
e5e0b6735f
5 changed files with 56 additions and 40 deletions
|
|
@ -29,41 +29,41 @@ class Form extends View {
|
|||
public $_title = array();
|
||||
public $alias = array();
|
||||
public $constructor = array();
|
||||
|
||||
|
||||
/**
|
||||
* Строим форму по ее структуре. Каждому типу соответствует определенный класс.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->constructor = [
|
||||
'input' => 'ctiso\\Form\\Input',
|
||||
'input' => Input::class,
|
||||
// input с проверкой на заполненность
|
||||
'inputreq' => 'ctiso\\Form\\Input',
|
||||
'inputreq' => Input::class,
|
||||
|
||||
'date' => 'ctiso\\Form\\Date',
|
||||
'datereq' => 'ctiso\\Form\\Date',
|
||||
'datetime' => 'ctiso\\Form\\DateTime',
|
||||
'date' => Date::class,
|
||||
'datereq' => Date::class,
|
||||
'datetime' => DateTime::class,
|
||||
|
||||
'color' => 'ctiso\\Form\\Color',
|
||||
'textarea' => 'ctiso\\Form\\TextArea',
|
||||
'text' => 'ctiso\\Form\\TextArea',
|
||||
'multiselect' => 'ctiso\\Form\\SelectMany',
|
||||
'select1' => 'ctiso\\Form\\SelectOne',
|
||||
'select' => 'ctiso\\Form\\SelectOne',
|
||||
|
||||
'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' => 'ctiso\\Form\\Hidden',
|
||||
'radio' => 'ctiso\\Form\\SelectOne',
|
||||
'filebrowser' => 'ctiso\\Form\\BrowserInput',
|
||||
'documents' => 'ctiso\\Form\\BrowserInput',
|
||||
'chooser' => 'ctiso\\Form\\Input',
|
||||
'select_chooser' => 'ctiso\\Form\\SelectOne',
|
||||
'html_text' => 'ctiso\\Form\\HtmlText'
|
||||
'color' => Color::class,
|
||||
'textarea' => TextArea::class,
|
||||
'text' => TextArea::class,
|
||||
'multiselect' => SelectMany::class,
|
||||
'select1' => SelectOne::class,
|
||||
'select' => SelectOne::class,
|
||||
|
||||
'questiontype'=> QuestionType::class,
|
||||
'secret' => Secret::class,
|
||||
'upload' => Upload::class,
|
||||
'image' => Upload::class,
|
||||
'checkbox' => CheckBox::class,
|
||||
'checkmany' => SelectMany::class,
|
||||
'hidden' => Hidden::class,
|
||||
'radio' => SelectOne::class,
|
||||
'filebrowser' => BrowserInput::class,
|
||||
'documents' => BrowserInput::class,
|
||||
'chooser' => Input::class,
|
||||
'select_chooser' => SelectOne::class,
|
||||
'html_text' => HtmlText::class
|
||||
];
|
||||
|
||||
}
|
||||
|
|
@ -77,7 +77,7 @@ class Form extends View {
|
|||
{
|
||||
$this->constructor [$name] = $class;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Добавляет одно поле ввода на форму
|
||||
*/
|
||||
|
|
@ -95,7 +95,7 @@ class Form extends View {
|
|||
if(isset($init['hint'])) {
|
||||
$el->hint = $init['hint'];
|
||||
}
|
||||
|
||||
|
||||
$this->field[$init['name']] = $el;
|
||||
return $el;
|
||||
}
|
||||
|
|
@ -112,7 +112,7 @@ class Form extends View {
|
|||
/**
|
||||
* Добавление массива fieldset на форму
|
||||
*/
|
||||
|
||||
|
||||
public function addFieldSetList(array $list)
|
||||
{
|
||||
foreach ($list as $fieldset) {
|
||||
|
|
@ -122,7 +122,7 @@ class Form extends View {
|
|||
|
||||
/**
|
||||
* Добавляет список полей для формы
|
||||
* @param array $list
|
||||
* @param array $list
|
||||
*/
|
||||
public function addFieldList(array $list, $factory = null)
|
||||
{
|
||||
|
|
@ -151,7 +151,7 @@ class Form extends View {
|
|||
|
||||
/**
|
||||
* Устанавливает значения из масива
|
||||
*/
|
||||
*/
|
||||
function setValues(HttpRequest $request) {
|
||||
foreach ($this->field as $key => $_) {
|
||||
$value = $request->getRawData($this->method, $key);
|
||||
|
|
@ -160,9 +160,9 @@ class Form extends View {
|
|||
}
|
||||
|
||||
/**
|
||||
* Заполняет форму данными из обьекта
|
||||
* Заполняет форму данными из обьекта
|
||||
* @param object $data
|
||||
* @param array $schema Связь между элементами формы и свойствами обьекта
|
||||
* @param array $schema Связь между элементами формы и свойствами обьекта
|
||||
*/
|
||||
public function fill($data, array $schema)
|
||||
{
|
||||
|
|
@ -177,7 +177,17 @@ class Form extends View {
|
|||
$this->field[$name]->setValue($value);
|
||||
}
|
||||
|
||||
function execute()
|
||||
public function getSchema() {
|
||||
return [
|
||||
'field' => $this->field,
|
||||
'fieldset' => $this->fieldsets,
|
||||
'method' => $this->method,
|
||||
'action' => $this->action,
|
||||
'header' => $this->header
|
||||
];
|
||||
}
|
||||
|
||||
function execute()
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue