public function allColumns() { $columns = $this->columns(); if ($this->controlActive()) { $columns[] = Column::control(); } return $columns; }
public function register() { Column::register('action', 'SleepingOwl\\Admin\\Columns\\Column\\Action'); Column::register('checkbox', 'SleepingOwl\\Admin\\Columns\\Column\\Checkbox'); Column::register('control', 'SleepingOwl\\Admin\\Columns\\Column\\Control'); Column::register('count', 'SleepingOwl\\Admin\\Columns\\Column\\Count'); Column::register('custom', 'SleepingOwl\\Admin\\Columns\\Column\\Custom'); Column::register('datetime', 'SleepingOwl\\Admin\\Columns\\Column\\DateTime'); Column::register('filter', 'SleepingOwl\\Admin\\Columns\\Column\\Filter'); Column::register('image', 'SleepingOwl\\Admin\\Columns\\Column\\Image'); Column::register('lists', 'SleepingOwl\\Admin\\Columns\\Column\\Lists'); Column::register('order', 'SleepingOwl\\Admin\\Columns\\Column\\Order'); Column::register('string', 'SleepingOwl\\Admin\\Columns\\Column\\String'); Column::register('treeControl', 'SleepingOwl\\Admin\\Columns\\Column\\TreeControl'); Column::register('url', 'SleepingOwl\\Admin\\Columns\\Column\\Url'); }
public function render() { $params = ['items' => $this->repository()->tree(), 'reorderable' => $this->reorderable(), 'url' => Admin::model($this->class)->displayUrl(), 'value' => $this->value(), 'creatable' => !is_null($this->model()->create()), 'createUrl' => $this->model()->createUrl($this->parameters() + Request::all()), 'controls' => [Column::treeControl()]]; return view(AdminTemplate::view('display.tree'), $params); }
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 5:39 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Type')->title('Типы')->as('page-type')->with('typeLayout', 'listLayout')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('alias', 'Алиас'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Название'); FormItem::text('alias', 'Алиас'); FormItem::checkbox('enable_in_menu', 'Разрешить добавлять в меню?'); FormItem::checkbox('enable_own_layout', 'Разрешить собственный лэйаут для каждой страницы?'); FormItem::checkbox('enable_own_sidebar', 'Разрешить собственный сайдбар для каждой страницы?'); FormItem::select('type_layout_id', 'Лэйаут страницы')->list('\\Hlogeon\\Scms\\Models\\Layout'); FormItem::select('list_layout_id', 'Лэйаут списка')->list('\\Hlogeon\\Scms\\Models\\Layout'); FormItem::select('sidebar', 'Сайдбар списка')->list('\\Hlogeon\\Scms\\Models\\Sidebar'); FormItem::select('item_sidebar', 'Сайдбар элемента')->list('\\Hlogeon\\Scms\\Models\\Sidebar'); FormItem::checkbox('type_in_menu', 'Отображать тип в меню?'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 1:20 PM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\App\\User')->title('Пользователи')->as('user')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Имя'); Column::string('email', 'email'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Имя'); FormItem::text('email', 'Email'); FormItem::text('company_info', 'Компания и должность'); FormItem::password('password', 'Пароль'); FormItem::image('profile_image', 'Аватар'); FormItem::ckeditor('info', 'Информация'); });
/** * @param $callback * @return $this */ public function columns($callback) { $old = static::$current; static::$current = $this; call_user_func($callback); Column::control(); Column::checkbox(); static::$current = $old; return $this; }
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 6:31 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Category')->title('Категории')->as('page-categories')->with('parent')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('parent.name', 'Родитель'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Название'); FormItem::text('slug', 'Slug'); FormItem::select('parent_id', 'Родитель')->list('\\Hlogeon\\Scms\\Models\\Category'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 11:33 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Sidebar')->title('Сайдбар')->as('sidebar')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::code('content', 'Контент'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 5:39 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Layout')->title('Лэйауты')->as('page-layout')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('path', 'Путь'); // Column::string('alias', 'Алиас'); })->form(function () { FormItem::text('name', 'Название'); FormItem::text('path', 'Путь'); FormItem::checkbox('has_sidebar', 'Есть сайдбар?'); FormItem::code('sidebar', 'Сайдбар'); });
* Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 6:17 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Page')->title('Страницы')->as('page')->with('layout', 'category', 'type')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('title', 'Название'); Column::string('slug', 'Slug'); Column::string('type.name', 'Тип'); Column::lists('category.name', 'Категория'); Column::string('layout.name', 'Лэйаут'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('title', 'Название'); FormItem::text('second_title', 'Дополниетельная строка названия'); FormItem::text('seo_title', 'SEO Title'); FormItem::textarea('seo_description', 'SEO Description'); FormItem::text('seo_keywords', 'SEO Keywords'); FormItem::text('slug', 'Slug'); FormItem::select('type.id', 'Тип')->list('\\Hlogeon\\Scms\\Models\\Type'); FormItem::select('category.id', 'Категория')->list('\\Hlogeon\\Scms\\Models\\Category'); FormItem::select('layout_id', 'Лэйаут')->list('\\Hlogeon\\Scms\\Models\\Layout'); FormItem::checkbox('in_menu', 'Отображать в меню?'); FormItem::checkbox('sidebar_in_layout', 'Сайдбар в шаблоне?'); FormItem::checkbox('published', 'Опубликованно?');
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 11:34 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\MenuItem')->title('Пункты меню')->as('menu-item')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('url', 'URL'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Название'); FormItem::text('url', 'URL'); FormItem::checkbox('published', 'Активен?'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 11:25 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Footer')->title('Footer')->as('footer')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::code('content', 'Контент'); FormItem::checkbox('active', 'Активен?'); });