Commit 45dfb243 by semenov

Элемент формы, EditedSelect - позволяет добавлять опции и редактировать их.

parent 9aa4c8eb
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 16.03.2015
*/
namespace yii\web;
use skeeks\modules\cms\form\components\FormRegisteredElements;
use skeeks\modules\cms\form\components\FormRegisteredWidgets;
/**
*
* @property FormRegisteredElements $formRegisteredElements
* @property FormRegisteredWidgets $formRegisteredWidgets
*
* Class Application
* @package yii\web
*/
class Application
{}
\ No newline at end of file
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 16.03.2015
*/
namespace skeeks\modules\cms\form\components;
use skeeks\cms\base\db\ActiveRecord;
use skeeks\cms\components\CollectionComponents;
use skeeks\cms\components\RegisteredWidgets;
use skeeks\cms\models\StorageFile;
use skeeks\cms\models\WidgetDescriptor;
use Yii;
use yii\base\Component;
use yii\helpers\ArrayHelper;
use yii\web\UploadedFile;
/**
*
* @method WidgetDescriptor[] getComponents()
* @method WidgetDescriptor getComponent($id)
*
* Class RegisteredWidgets
* @package skeeks\cms\components
*/
class FormRegisteredElements extends RegisteredWidgets
{}
\ No newline at end of file
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 16.03.2015
*/
namespace skeeks\modules\cms\form\components;
use skeeks\cms\base\db\ActiveRecord;
use skeeks\cms\components\CollectionComponents;
use skeeks\cms\components\RegisteredWidgets;
use skeeks\cms\models\StorageFile;
use skeeks\cms\models\WidgetDescriptor;
use Yii;
use yii\base\Component;
use yii\helpers\ArrayHelper;
use yii\web\UploadedFile;
/**
*
* @method WidgetDescriptor[] getComponents()
* @method WidgetDescriptor getComponent($id)
*
* Class RegisteredWidgets
* @package skeeks\cms\components
*/
class FormRegisteredWidgets extends RegisteredWidgets
{}
\ No newline at end of file
......@@ -9,6 +9,35 @@
* @since 1.0.0
*/
return [
'components' =>
[
'formRegisteredElements' =>
[
'class' => 'skeeks\modules\cms\form\components\FormRegisteredElements',
'components' =>
[
'skeeks\modules\cms\form\models\form\elements\textarea\Textarea' =>
[
'name' => 'Текстовое поле (textarea)',
'description' => 'Виджет выводит нужные одразделы',
],
]
],
'formRegisteredWidgets' =>
[
'class' => 'skeeks\modules\cms\form\components\FormRegisteredWidgets',
'components' =>
[
'skeeks\modules\cms\form\models\form\elements\textarea\Textarea' =>
[
'name' => 'Текстовое поле (textarea)',
'description' => 'Виджет выводит нужные одразделы',
],
]
],
],
'modules' =>
[
'form' => [
......
......@@ -35,7 +35,12 @@ class m150307_162735_create_form_field_table extends Migration
'label' => Schema::TYPE_STRING . '(255) NULL',
'hint' => Schema::TYPE_TEXT . ' NULL',
'widget' => Schema::TYPE_TEXT . ' NULL',
'element' => Schema::TYPE_TEXT . '(255) NULL',
'widget' => Schema::TYPE_TEXT . '(255) NULL',
'widget_settings' => Schema::TYPE_TEXT . ' NULL',
'element_settings' => Schema::TYPE_TEXT . ' NULL',
'rules' => Schema::TYPE_TEXT . ' NULL',
'priority' => Schema::TYPE_INTEGER . ' NOT NULL DEFAULT 0',
......
......@@ -43,6 +43,7 @@ class FormField extends Core
return array_merge(parent::rules(), [
[['created_by', 'updated_by', 'created_at', 'updated_at', 'form_id'], 'integer'],
[['hint'], 'string'],
[['priority'], 'integer'],
[['widget', 'rules'], 'safe'],
[[ 'form_id'], 'required'],
['attribute', 'default', 'value' => function(FormField $model, $attribute)
......
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 16.03.2015
*/
namespace skeeks\modules\cms\form\models\form\elements;
use skeeks\cms\base\Widget;
class Base extends Widget
{
public $value;
public $attributeClass;
public function rules()
{
return ArrayHelper::merge(parent::rules(), [
[['attributeClass'], 'string'],
[['value'], 'safe'],
]);
}
public function attributeLabels()
{
return ArrayHelper::merge(parent::attributeLabels(), [
'attributeClass' => 'Класс',
'value' => 'Значение',
]);
}
}
\ No newline at end of file
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 16.03.2015
*/
namespace skeeks\modules\cms\form\models\form\elements\textarea;
use skeeks\modules\cms\form\models\form\elements\Base;
class Textarea extends Base
{}
\ No newline at end of file
......@@ -13,7 +13,7 @@ use common\models\User;
<?php $form = ActiveForm::begin(); ?>
<?php ?>
<?= $form->fieldSet('Общая ниформация')?>
<?= $form->fieldSet('Общая информация')?>
<?= $form->field($model, 'name')->textInput(); ?>
<?= $form->fieldSetEnd(); ?>
......@@ -62,8 +62,17 @@ use common\models\User;
'relation' => [
'form_id' => 'id'
],
'sort' => [
'defaultOrder' =>
[
'priority' => SORT_DESC
]
],
'controllerRoute' => 'form/admin-form-field',
'gridViewOptions' => [
'sortable' => true,
'columns' => [
//['class' => 'yii\grid\SerialColumn'],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment