Esempio n. 1
0
 private static function getInstance()
 {
     if (empty(self::$instance)) {
         self::$instance = new FormItem();
     }
     return self::$instance;
 }
Esempio n. 2
0
 public function form($cb)
 {
     FormItem::reset();
     call_user_func($cb);
     $this->form = FormItem::get();
     return $this;
 }
 function getCMSFields()
 {
     // Get the parent CMS fields
     $oFields = parent::getCMSFields();
     // Add some fields
     $oFields->addFieldToTab('Root.Content.FormMessages', new HtmlEditorField('Success', 'Success Message', 3, ""));
     $oFields->addFieldToTab('Root.Content.FormMessages', new HtmlEditorField('Failure', 'Failure Message', 3, ""));
     //Add Rubbish Collection FormCategorys
     $oCategories = new DataObjectManager($this, 'FormCategorys', 'FormCategory', array('Title' => 'Title', 'Description' => 'Description'), 'getCMSFields_forPopup');
     // Set the Filter
     $oFields->addFieldToTab("Root.Content.FormCategories", $oCategories);
     //Add Rubbish Collection Category -> FormItems
     $oItems = new DataObjectManager($this, 'FormItems', 'FormItem', array('FormCategory.Title' => 'Form Category', 'Title' => 'Title', 'Description' => 'Description'), 'getCMSFields_forPopup');
     $oFields->addFieldToTab("Root.Content.FormItems", $oItems);
     // Set the Filter
     $oItems->setFilter('FormCategoryID', 'Filter by FormCategorys', FormItem::FormCategorySections());
     //Add DataSheets
     $oDataSheets = new DataObjectManager($this, 'DataSheets', 'DataSheet', array('Participants' => 'Total Participants', 'EstVolume' => 'Estimated Volume', 'Image' => 'Image'), 'getCMSFields_forPopup');
     $oFields->addFieldToTab("Root.Content.DataSheets", $oDataSheets);
     // Return the fields
     return $oFields;
 }
Esempio n. 4
0
<?php

Admin::model('App\\Marker')->title('Маркеры')->display(function () {
    $display = AdminDisplay::datatables();
    $display->with('markerGroups');
    $display->filters([]);
    $display->columns([Column::string('name')->label('Имя'), Column::lists('markerGroups.name')->label('Входит в группы'), Column::image('ico')->label('Иконка')]);
    return $display;
})->create(function () {
    $form = AdminForm::form();
    $form->items([FormItem::columns()->columns([[FormItem::text('name', 'Имя'), FormItem::image('ico', 'Иконка'), FormItem::checkbox('showadd', 'Показывать в форме добавления рецепта')->defaultValue(0), FormItem::text('sortorder', 'Порядок сортировки')], [FormItem::text('metakey', 'Meta Keywords'), FormItem::text('metadesk', 'Meta Description'), FormItem::text('slug', 'Slug (если пустое, генерируется реалтайм из имени)'), FormItem::text('title', 'Title')]])]);
    return $form;
})->edit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::columns()->columns([[FormItem::text('name', 'Имя'), FormItem::image('ico', 'Иконка'), FormItem::checkbox('showadd', 'Показывать в форме добавления рецепта'), FormItem::text('sortorder', 'Порядок сортировки')], [FormItem::text('metakey', 'Meta Keywords'), FormItem::text('metadesk', 'Meta Description'), FormItem::text('slug', 'Slug (если пустое, генерируется реалтайм из имени)'), FormItem::text('title', 'Title')]])]);
    return $form;
});
Esempio n. 5
0
 public function __construct($name, $value = null, $rows = 3, $cols = 40)
 {
     $this->rows = $rows;
     $this->cols = $cols;
     parent::__construct($name, $value);
 }
Esempio n. 6
0
Admin::model(\App\Models\AddonsType::class)->title('Addons Types')->denyEditingAndDeleting(function ($instance) {
    return false;
})->columns(function () {
    Column::string('id', 'Id');
    Column::string('code', 'Code')->inlineEdit(true);
    Column::string('name', 'Name')->inlineEdit(true);
})->inlineEdit(function ($field) {
    switch ($field) {
        case 'code':
            return function () {
                InlineEditItem::text('code', NULL)->validationRule('required');
            };
            break;
        case 'name':
            return function () {
                InlineEditItem::text('name', NULL)->validationRule('required');
            };
            break;
        default:
            return function () {
            };
            break;
    }
})->form(function () {
    FormItem::text('code', 'Code')->validationRule('required');
    FormItem::text('name', 'Name')->validationRule('required');
})->viewFilters(function () {
    ViewFilter::text('code', 'Code');
    ViewFilter::text('name', 'Name');
});
Esempio n. 7
0
<?php

Admin::model('App\\About')->title('About')->display(function () {
    $display = AdminDisplay::table();
    $display->columns([Column::string('description')->label('description')]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::ckeditor('description', 'Description')->required()]);
    return $form;
});
Esempio n. 8
0
<?php

\Admin::model('App\\Product')->title('Products')->alias('products')->display(function () {
    $display = AdminDisplay::datatablesAsync();
    $display->columns([Column::checkbox(), Column::string('id')->label('#'), Column::string('title')->label('Загаловок'), Column::string('active_status')->label('Статус'), Column::string('publish')->label('Опубликован')]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::tabbed();
    $form->items(['Main' => [FormItem::columns()->columns([[FormItem::text('title', 'Загаловок')->required()->unique(), FormItem::textarea('description', 'Описание')->required(), FormItem::timestamp('publish', 'Дата и время публикации')->defaultValue(Carbon\Carbon::now()), FormItem::icheckbox('active', 'Статус')->defaultValue(true), FormItem::text('rest', 'Остаток'), FormItem::text('price', 'Цена')], [FormItem::text('sort', 'сортировка'), FormItem::bsselect('user_id', 'Пользователь')->model('App\\User')->defaultValue(Sentinel::check()->id)->display('email'), FormItem::bsselect('catalog_id', 'Категоря')->model('App\\Catalog')->display('level_label')->disableSort()->required()]])], 'content' => [FormItem::markdown('content', 'Контент')], 'images' => [FormItem::images('gallery', 'Картинки')], 'files' => [FormItem::view('suroviy.soa_addon::admin.elfinder')]]);
    return $form;
});
Esempio n. 9
0
<?php

Admin::model('App\\Permit')->title('Права доступа')->display(function () {
    $display = AdminDisplay::datatables();
    $display->with();
    $display->filters([]);
    $display->columns([Column::string('id')->label('Id'), Column::string('name')->label('Name'), Column::string('slug')->label('Slug')]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::text('name', 'Name'), FormItem::text('slug', 'Slug')]);
    return $form;
});
Esempio n. 10
0
<?php

Admin::model('Angrydeer\\Productso\\Models\\PrsoProduct')->title('Товары')->display(function () {
    $display = AdminDisplay::datatables();
    $display->with();
    $display->filters([]);
    $display->columns([Column::string('name')->label('Товар'), Column::string('id')->label('Id'), Column::string('show')->label('Включен'), Column::string('views')->label('Просмотры'), Column::datetime('created_at')->label('Создан')->format('d.m.Y')]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::text('name', 'Товар')->required(), FormItem::text('cost', 'Цена'), FormItem::text('slug', 'Ярлык (если не заполнять генерируется автоматически)'), FormItem::text('status', 'Статус'), FormItem::text('artikul', 'Артикул'), FormItem::multiselect('categories', 'Категории')->model('Angrydeer\\Productso\\Models\\PrsoCategory')->display('name'), FormItem::text('views', 'Просмотры')->readonly(), FormItem::checkbox('show', 'Включен')->defaultValue(true), FormItem::ckeditor('note', 'Аннотация'), FormItem::ckeditor('description', 'Описание'), FormItem::multiimages('photos', 'Изображения')]);
    return $form;
});
Esempio n. 11
0
<?php

Admin::model('App\\Company')->title('Companies')->display(function () {
    $display = AdminDisplay::table();
    $display->columns([Column::string('title')->label('Title'), Column::string('address')->label('Address')]);
    return $display;
})->createAndEdit(function ($id) {
    $form = AdminForm::form();
    $form->items([FormItem::hidden('contact_id'), FormItem::text('title', 'Title')->required()->unique(), FormItem::text('address', 'Address'), FormItem::text('phone', 'Phone')]);
    return $form;
});
Esempio n. 12
0
 public static function textarea($name, $value, $label = '', $htmlAttributes = array())
 {
     $itemData = array();
     $itemData['name'] = $name;
     $itemData['value'] = $value;
     $itemData['label'] = $label;
     if ($label !== null && !isset($htmlAttributes['id'])) {
         $itemData['id'] = $name;
     }
     $itemData = array_merge($itemData, $htmlAttributes);
     $item = new FormItem($itemData);
     $output = $item->renderLabel();
     $output .= '<textarea';
     $output .= $item->renderAttributes(true);
     $output .= '>';
     $output .= $item->value;
     $output .= '</textarea>' . "\n";
     return $output;
 }
Esempio n. 13
0
<?php

Admin::model(App\Models\Task::class)->title('Задачи')->with('subject')->filters(function () {
})->columns(function () {
    Column::string('number_task', 'Number_task');
    Column::image('image')->sortable(false);
    Column::string('experience', 'Experience');
    Column::string('gold', 'Gold');
    Column::string('grade', 'Grade');
    Column::string('subject.name', 'Subject')->append(Column::filter('subject_id')->value('subject_id'));
    Column::string('answer', 'Answer');
    Column::string('detail', 'detail');
    Column::string('set_of_task', 'Set_of_task');
})->form(function () {
    FormItem::text('number_task', 'Number Task');
    FormItem::image('image', 'Image');
    FormItem::text('experience', 'Experience');
    FormItem::text('gold', 'Gold');
    FormItem::text('grade', 'Grade');
    FormItem::select('subject_id', 'Subject')->list(App\Models\Subject::class);
    FormItem::text('answer', 'Answer');
    FormItem::text('detail', 'detail');
    FormItem::text('set_of_task', 'Set Of Task');
});
Esempio n. 14
0
<?php

/*
 * This is a simple example of the main features.
 * For full list see documentation.
 */
Admin::model('App\\Models\\Sector')->title('Sectors')->alias('sector')->display(function () {
    $display = AdminDisplay::datatablesAsync();
    $display->order([[0, 'asc']]);
    $display->columns([Column::string('id')->label('Id'), Column::string('name')->label('Name'), Column::datetime('created_at')->format('d-m-Y h:i:s')->label('Created'), Column::datetime('updated_at')->format('d-m-Y h:i:s')->label('Updated')]);
    $display->columnFilters([null, ColumnFilter::text()->placeholder('Name'), ColumnFilter::range()->from(ColumnFilter::date()->format('d.m.Y')->placeholder('From Date'))->to(ColumnFilter::date()->format('d.m.Y')->placeholder('To Date')), ColumnFilter::range()->from(ColumnFilter::date()->format('d.m.Y')->placeholder('From Date'))->to(ColumnFilter::date()->format('d.m.Y')->placeholder('To Date'))]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::text('name', 'Name')->required()]);
    return $form;
});
 public function getSettings()
 {
     $skins = ['blue' => 'Blue', 'blue-light' => 'Blue Light', 'black' => 'Black', 'black-light' => 'Black Light', 'purple' => 'Purple', 'purple-light' => 'Purple Light', 'green' => 'Green', 'green-light' => 'Green Light', 'red' => 'Red', 'red-light' => 'Red Light', 'yellow' => 'Yellow', 'yellow-light' => 'Yellow Light'];
     $items = [\FormItem::select('theme.skin', 'Theme Skin')->options($skins)->defaultValue(\SoaUserSetting::get('theme.skin', config('admintheme.skin'))), \FormItem::checkbox('theme.fixed_layout', 'Fixed Layout')->defaultValue(\SoaUserSetting::get('theme.fixed_layout', config('admintheme.fixed_layout')))->help_text('You can\'t use fixed and boxed layouts together.'), \FormItem::checkbox('theme.boxed_layout', 'Boxed Layout')->defaultValue(\SoaUserSetting::get('theme.boxed_layout', config('admintheme.boxed_layout')))->help_text('You can\'t use fixed and boxed layouts together.'), \FormItem::checkbox('theme.sidebar_mini', 'Minimize Sidebar')->defaultValue(\SoaUserSetting::get('theme.sidebar_mini', config('admintheme.sidebar_mini'))), \FormItem::checkbox('theme.toggle_sidebar', 'Toggle Sidebar')->defaultValue(\SoaUserSetting::get('theme.toggle_sidebar', config('admintheme.toggle_sidebar')))->help_text('Toggle the left sidebar\'s state (open or collapse)'), \FormItem::checkbox('theme.sidebar_on_hover', 'Sidebar on Hover')->defaultValue(\SoaUserSetting::get('theme.sidebar_on_hover', config('admintheme.sidebar_on_hover')))->help_text('Let the sidebar mini expand on hover')];
     return $this->render(trans('admin::lang.settings'), view(AdminTemplate::view('pages.admin_settings'), compact('items')));
 }
Esempio n. 16
0
<?php

// Invoices
Admin::model('\\App\\Subscription')->title('Subscriptions')->as('subscriptions')->with('user')->with('invoice')->denyCreating(function () {
    // Deny creating on thursday
    return false;
})->denyEditingAndDeleting(function ($instance) {
    // deny editing and deleting rows when this is true
    return false;
})->filters(function () {
    //ModelItem::filter('user_id')->name()->from('\User');
})->columns(function () {
    // Describing columns for table view
    Column::string('user.name', 'User');
    Column::string('invoice.description', 'Invoice');
    Column::date('start_date', 'Start Date');
    Column::date('end_date', 'End Date');
    Column::date('created_at', 'Created');
})->form(function () {
    FormItem::select('user_id', 'Users')->list(\App\User::class);
    FormItem::select('invoice_id', 'Invoices')->list(\App\Invoice::class);
    FormItem::date('start_date', 'Start Date');
    FormItem::date('end_date', 'End Date');
});
Esempio n. 17
0
<?php

Admin::model('\\Country')->title('Countries')->with('contacts')->columns(function () {
    Column::string('title', 'Title');
    Column::count('contacts', 'Contacts')->append(Column::filter('country_id')->model('\\Contact'));
})->form(function () {
    FormItem::text('title', 'Title')->required()->unique();
});
Esempio n. 18
0
<?php

Admin::model(\App\Models\Menuitem::class)->title('Пункты меню')->display(function () {
    $display = AdminDisplay::datatables();
    $display->with();
    $display->filters([]);
    $display->columns([Column::string('name')->label('Название'), Column::string('menu.name'), Column::string('id')->label('Id')]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::columns()->columns([[FormItem::text('name', 'Название'), FormItem::text('target', 'Ссылка (Если тип НЕ Группа маркеров)'), FormItem::select('parent_id', 'Родительский пункт')->defaultValue(0)->model('App\\Models\\Menuitem')->display('name'), FormItem::select('type_id', 'Тип пункта')->model('App\\Models\\MenuitemType')->display('name')], [FormItem::select('menu_id', 'В какое меню входит')->model('App\\Models\\Menu')->display('name'), FormItem::select('markerGroup_id', 'Группа маркеров (если тип пункта Группа Маркеров)')->model('App\\MarkerGroup')->display('name'), FormItem::select('marker_id', 'Маркер (если тип пункта Маркер)')->model('App\\Marker')->display('name')]])]);
    return $form;
});
Esempio n. 19
0
<?php

Admin::model(\App\Models\News::class)->title('News')->with()->filters(function () {
})->columns(function () {
    Column::string('title', 'Title');
    Column::date('date', 'Date')->format('medium', 'none');
    Column::string('published', 'Published');
    //	Column::string('text', 'Text');
    Column::image('photo', 'Photo')->sortable(false);
})->form(function () {
    FormItem::text('title', 'Title')->required();
    FormItem::date('date', 'Date')->required();
    FormItem::checkbox('published', 'Published')->required();
    FormItem::image('photo', 'Photo');
    FormItem::ckeditor('text', 'Text')->required();
});
Esempio n. 20
0
<?php

/*
 * This is a simple example of the main features.
 * For full list see documentation.
 */
Admin::model('App\\User')->title('Users')->display(function () {
    $display = AdminDisplay::table();
    $display->columns([Column::string('name')->label('Name'), Column::string('email')->label('Email')]);
    return $display;
})->alias('users')->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::text('name', 'Name')->required(), FormItem::text('email', 'Email')->required()->unique()]);
    return $form;
});
Esempio n. 21
0
<?php

Admin::model('App\\News4')->title('News')->alias('news4')->display(function () {
    $display = AdminDisplay::table();
    $display->filters([Filter::scope('last')->title('Latest News'), Filter::field('published')->title(function ($value) {
        return $value ? 'Published' : 'Not Published';
    }), Filter::custom('limit')->title(function ($value) {
        return 'Custom Filter: ' . $value;
    })->callback(function ($query, $value) {
        $query->limit($value);
    })]);
    $display->columns([Column::string('title')->label('Title'), Column::datetime('date')->label('Date')->format('d.m.Y'), Column::custom()->label('Published')->callback(function ($instance) {
        return $instance->published ? '&check;' : '-';
    })]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::text('title', 'Title')->required(), FormItem::date('date', 'Date')->required()->format('d.m.Y'), FormItem::checkbox('published', 'Published'), FormItem::ckeditor('text', 'Text')]);
    return $form;
});
Esempio n. 22
0
<?php

Admin::model(\App\Curriculum::class)->title('Curriculum')->with()->filters(function () {
})->columns(function () {
    Column::string('apellido', 'Apellido');
    Column::string('nombre', 'Nombre');
    Column::string('puesto', 'Puesto');
    Column::string('edad', 'Edad');
    Column::string('email', 'e-mail');
    Column::date('created_at', 'Ingreso');
})->form(function () {
    FormItem::text('nombre', 'nombre');
    FormItem::text('apellido', 'apellido');
    FormItem::text('dni', 'dni');
    FormItem::text('fecha_nacimiento', 'fecha_nacimiento');
    FormItem::text('puesto', 'puesto');
    FormItem::text('domicilio', 'domicilio');
    FormItem::text('localidad', 'localidad');
    FormItem::text('provincia', 'provincia');
    FormItem::text('telefono', 'telefono');
    FormItem::text('email', 'email');
    FormItem::text('linkedin', 'linkedin');
    FormItem::CustomCV();
});
Esempio n. 23
0
<?php

Admin::model(App\TimeSlot::class)->title('Time Slots')->with()->filters(function () {
})->columns(function () {
    Column::string('id', 'ID');
    Column::date('start', 'Start')->format('none', 'short');
    Column::date('end', 'End')->format('none', 'short');
    Column::earlyLate('type', 'Type');
})->form(function () {
    FormItem::time('start', 'Start')->required();
    FormItem::time('end', 'End')->required();
    FormItem::select('type', 'Type')->list([1 => 'Early', 0 => 'Late']);
});
Esempio n. 24
0
<?php

Admin::model(App\Category::class)->title('Category')->with()->filters(function () {
})->columns(function () {
    Column::string('name', 'Name');
    Column::string('description', 'Description');
    Column::string('classification.name', 'Classification');
})->form(function () {
    FormItem::text('name', 'Name');
    FormItem::text('description', 'Description');
    FormItem::select('classification_id', 'Classification')->list(\App\Classification::class);
});
Esempio n. 25
0
<?php

/*
 * This is a simple example of the main features.
 * For full list see documentation.
 */
// Create admin model from User class with title and url alias
Admin::model(\App\User::class)->title('Users')->denyCreating(function () {
    // Deny creating on thursday
    return date('w') == 4;
})->denyEditingAndDeleting(function ($instance) {
    // deny editing and deleting rows when this is true
    return $instance->id <= 2 || $instance->email == 'admin';
})->columns(function () {
    // Describing columns for table view
    Column::string('name', 'Name');
    Column::string('email', 'Email');
})->form(function () {
    // Describing elements in create and editing forms
    FormItem::text('name', 'Name');
    FormItem::text('email', 'Email');
});
Esempio n. 26
0
<?php

/*
 * This is a simple example of the main features.
 * For full list see documentation.
 */
Admin::model('Crimibook\\Models\\Follow')->title('Users follows')->display(function () {
    $display = AdminDisplay::datatables();
    $display->with('users', 'userFollowsTo');
    $display->filters([Filter::related('follower_id')->model('Crimibook\\User'), Filter::related('followed_id')->model('Crimibook\\User')]);
    $display->columns([Column::string('users.name')->label('Follower Name')->append(Column::filter('follower_id')), Column::lists('userFollowsTo.name')->label('Follows To')->append(Column::filter('followed_id'))]);
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::select('follower_id', 'Follower Name')->model('Crimibook\\User')->display('name')->required(), FormItem::multiselect('userFollowsTo', 'Follow To')->model('Crimibook\\User')->display('name')]);
    return $form;
});
Esempio n. 27
0
<?php

Admin::model(\App\User::class)->title('')->with()->filters(function () {
})->columns(function () {
    Column::string('name', 'Name');
    Column::string('email', 'Email');
})->form(function () {
    FormItem::text('name', 'Name');
    FormItem::text('email', 'Email');
    FormItem::text('password', 'Password');
    //FormItem::text('remember_token', 'Remember Token');
});
/*
 * This is a simple example of the main features.
 * For full list see documentation.
 */
//
//// Create admin model from User class with title and url alias
//Admin::model('\User')->title('Users')->as('users-alias-name')->denyCreating(function ()
//{
//	// Deny creating on thursday
//	return date('w') == 4;
//})->denyEditingAndDeleting(function ($instance)
//{
//	// deny editing and deleting rows when this is true
//	return ($instance->id <= 2) || ($instance->email == 'admin');
//})->columns(function ()
//{
//	// Describing columns for table view
//	Column::string('name', 'Name');
//	Column::string('email', 'Email');
Esempio n. 28
0
<?php

\Admin::model('App\\Category')->title('Category')->alias('category')->display(function () {
    $display = AdminDisplay::tree();
    $display->value('label|name');
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::tabbed();
    $form->items(['Main' => [FormItem::columns()->columns([[FormItem::text('label', 'Загаловок')->required()->unique(), FormItem::text('name', 'Название')->required()->unique(), FormItem::textarea('description', 'Описание'), FormItem::icheckbox('active_status', 'Статус')->defaultValue(true)], [FormItem::image('image', 'Картинка')]])], 'content' => [FormItem::markdown('content', 'Содержимое')]]);
    return $form;
});
Esempio n. 29
0
<?php

//dd(Storage::files('archivos-imprentas'));
Admin::model(\App\Orden::class)->title('Ordenes')->with()->filters(function () {
})->columns(function () {
    Column::string('numero_de_orden', 'Numero de orden');
    Column::date('valido_hasta', 'Valido Hasta')->format('medium', 'none');
    Column::string('imprenta.nombre', 'Imprenta');
    Column::Link('codigo', 'URL')->sortable(false);
    Column::action('email', 'email')->icon('fa-envelope-o')->style('short')->callback(function ($instance) {
        $imprenta = $instance->imprenta;
        Mail::send('email', ['imprenta' => $imprenta, 'orden' => $instance], function ($m) use($instance, $imprenta) {
            $m->from('*****@*****.**', 'Muriel Lodeiro');
            $m->to($imprenta->email, $imprenta->contacto)->subject('Archivos disponibles para orden de compra: ' . $instance->numero_de_orden);
        });
        //return Redirect::route('my-route', [$instance->id]);
    });
})->form(function () {
    FormItem::text('numero_de_orden', 'Numero De Orden');
    FormItem::select('imprenta_id', 'Imprenta')->list(App\Imprenta::class);
    FormItem::date('valido_hasta', 'Valido Hasta');
    FormItem::textarea('comentarios', 'Comentarios');
    FormItem::archivosSelector('archivos_s', 'Archivos');
    FormItem::archivosHidden('archivos', '');
});
Esempio n. 30
0
<?php

/** @var \SleepingOwl\Admin\Model\ModelConfiguration $model */
$model = Admin::model(\App\HistoryEvent::class);
$model->title('История – события');
$model->display(function () {
    $display = AdminDisplay::datatables();
    $display->with('date');
    $display->columns([Column::checkbox(), Column::string('date.title')->label('Дата'), Column::custom()->label('Заголовок')->callback(function ($instance) {
        $res = $instance->title;
        if ($instance->more) {
            $res .= '<br><div class="label label-primary">Кнопка – подробней</div>';
        }
        return $res;
    }), Column::datetime('date_event')->format('d.m.Y')->label('Точная дата события'), Column::datetime('created_at')->label('Создан')->format('d.m.Y в H:i')]);
    $display->apply(function (\Illuminate\Database\Eloquent\Builder $query) {
        $query->withTrashed();
    });
    return $display;
})->createAndEdit(function ($id) use($model) {
    $model->title($id ? 'Редактировать событие' : 'Создать событие');
    $form = AdminForm::form();
    $form->items([FormItem::text('title', 'Заголовок'), FormItem::image('image', 'Картинка'), FormItem::select('history_date_id', 'Дата')->model(\App\HistoryDate::class)->display('title')->required(), FormItem::ckeditor('description', 'Описание')->required(), FormItem::date('date_event', 'Точная дата события'), FormItem::checkbox('more', 'Показать кнопку – подробней')]);
    return $form;
});