private static function getInstance() { if (empty(self::$instance)) { self::$instance = new FormItem(); } return self::$instance; }
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; }
<?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; });
public function __construct($name, $value = null, $rows = 3, $cols = 40) { $this->rows = $rows; $this->cols = $cols; parent::__construct($name, $value); }
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'); });
<?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; });
<?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; });
<?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; });
<?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; });
<?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; });
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; }
<?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'); });
<?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'))); }
<?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'); });
<?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(); });
<?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; });
<?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(); });
<?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; });
<?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 ? '✓' : '-'; })]); 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; });
<?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(); });
<?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']); });
<?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); });
<?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'); });
<?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; });
<?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');
<?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; });
<?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', ''); });
<?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; });