diff --git a/src/Controller/Action.php b/src/Controller/Action.php index e40e3f1..485bd3c 100644 --- a/src/Controller/Action.php +++ b/src/Controller/Action.php @@ -234,7 +234,7 @@ class Action * Ajax определяется автоматически mode = ajax используется для смены layout * @param $name * @param array $param - * @return array|null + * @return Url|null * * @example ?action=$name&mode=ajax * {$param[i].key = $param[i].value} diff --git a/src/Form/CheckBox.php b/src/Form/CheckBox.php new file mode 100644 index 0000000..ea5f880 --- /dev/null +++ b/src/Form/CheckBox.php @@ -0,0 +1,14 @@ +value = $value; + $this->checked = $value; + } +} diff --git a/src/Form/DateTime.php b/src/Form/DateTime.php new file mode 100644 index 0000000..4f995fb --- /dev/null +++ b/src/Form/DateTime.php @@ -0,0 +1,7 @@ +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' ); diff --git a/src/Form/Hidden.php b/src/Form/Hidden.php new file mode 100644 index 0000000..535e21b --- /dev/null +++ b/src/Form/Hidden.php @@ -0,0 +1,8 @@ +value = $value; + foreach ($this->options as &$option) { + $option['selected'] = ($option['value'] == $value); + } + } +} diff --git a/src/Form/Secret.php b/src/Form/Secret.php new file mode 100644 index 0000000..ce0175a --- /dev/null +++ b/src/Form/Secret.php @@ -0,0 +1,10 @@ +