コード例 #1
0
ファイル: Marker.php プロジェクト: AngryGantz/cms-cookbook
<?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;
});
コード例 #2
0
ファイル: Product.php プロジェクト: larabox/larabox
<?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;
});
コード例 #3
0
ファイル: About.php プロジェクト: svvpro/artem_project
<?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;
});
コード例 #4
0
ファイル: News3.php プロジェクト: ntamvl/admin-3-demo
    $display = AdminDisplay::tabbed();
    $display->tabs(function () {
        $tabs = [];
        $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;' : '-';
        })];
        $main = AdminDisplay::table();
        $main->columns($columns);
        $tabs[] = AdminDisplay::tab($main)->label('Main')->active(true);
        $withScope = AdminDisplay::table();
        $withScope->scope('last');
        $withScope->columns($columns);
        $tabs[] = AdminDisplay::tab($withScope)->label('With Scope');
        $otherColumns = AdminDisplay::table();
        $otherColumns->apply(function ($query) {
            $query->orderBy('title', 'asc');
        });
        $otherColumns->columns([Column::string('title')->label('Title'), Column::custom()->label('Title Length')->callback(function ($instance) {
            return strlen($instance->title);
        })]);
        $tabs[] = AdminDisplay::tab($otherColumns)->label('Other Columns and Order');
        $otherDisplay = Admin::model('App\\Page')->display();
        $tabs[] = AdminDisplay::tab($otherDisplay)->label('Display from Other Model');
        return $tabs;
    });
    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;
});
コード例 #5
0
ファイル: Category.php プロジェクト: larabox/larabox
<?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;
});
コード例 #6
0
ファイル: Post.php プロジェクト: stcoder/uf-vova
        $secondaryDisplay = AdminDisplay::datatables();
        $secondaryDisplay->apply(function ($query) {
            $query->onlyTrashed();
        });
        $secondaryDisplay->columns([Column::checkbox(), Column::string('id'), Column::custom()->label('Картинка')->callback(function ($instance) {
            $attachment = $instance->attachments()->first();
            if (!is_null($attachment)) {
                if ($attachment->type === 'album') {
                    $attachment = $attachment->childs()->first();
                }
                return "<img class='thumbnail' width='80px' src='{$attachment->srcs['image_small']}'>";
            }
            return '';
        }), Column::custom()->label('Текст')->callback(function ($instance) {
            return str_limit($instance->text, 180);
        }), Column::datetime('date')->label('Создан')->format('d.m.Y в H:i'), Column::datetime('created_at')->label('Импортирован')->format('d.m.Y в H:i'), Column::datetime('deleted_at')->label('Удален')->format('d.m.Y в H:i')]);
        $secondaryDisplay->actions([Column::action('post_restore')->value('Восстановить записи')->icon('fa-refresh')->callback(function (\Illuminate\Database\Eloquent\Collection $collections) {
            if ($collections) {
                /** @var \App\Post $collection */
                foreach ($collections as $collection) {
                    $collection->restore();
                }
            }
        })]);
        $tabs = [];
        $tabs[] = AdminDisplay::tab($mainDisplay)->label('Активные записи')->active(true);
        $tabs[] = AdminDisplay::tab($secondaryDisplay)->label('Удаленные записи');
        return $tabs;
    });
    return $display;
});
コード例 #7
0
ファイル: Contact3.php プロジェクト: ntamvl/admin-3-demo
<?php

Admin::model('App\\Contact3')->title('Contact')->alias('contacts3')->display(function () {
    $display = AdminDisplay::table();
    $display->with('country', 'companies');
    $display->filters([Filter::related('country_id')->model('App\\Country')]);
    $display->columns([Column::image('photo')->label('Photo'), Column::string('fullName')->label('Name'), Column::datetime('birthday')->label('Birthday')->format('d.m.Y'), Column::string('country.title')->label('Country')->append(Column::filter('country_id')), Column::lists('companies.title')->label('Companies')]);
    return $display;
})->createAndEdit(function ($id) {
    $display = AdminDisplay::tabbed();
    $display->tabs(function () use($id) {
        $tabs = [];
        $form = AdminForm::form();
        $form->items([FormItem::columns()->columns([[FormItem::text('firstName', 'First Name')->required(), FormItem::text('lastName', 'Last Name')->required(), FormItem::text('phone', 'Phone'), FormItem::text('address', 'Address')], [FormItem::image('photo', 'Photo'), FormItem::date('birthday', 'Birthday')->format('d.m.Y')], [FormItem::select('country_id', 'Country')->model('App\\Country')->display('title'), FormItem::textarea('comment', 'Comment')]])]);
        $tabs[] = AdminDisplay::tab($form)->label('Main Form')->active(true);
        if (!is_null($id)) {
            $instance = App\Contact::find($id);
            if ($instance->country_id) {
                $country = Admin::model('App\\Country')->fullEdit($instance->country_id);
                $tabs[] = AdminDisplay::tab($country)->label('Form from Related Model (Country)');
            }
            $companies = Admin::model('App\\Company')->display();
            $companies->scope('withContact', $id);
            $companies->parameters(['contact_id' => $id]);
            $tabs[] = AdminDisplay::tab($companies)->label('Display from Related Model (Companies)');
        }
        return $tabs;
    });
    return $display;
})->delete(null);
コード例 #8
0
ファイル: Post.php プロジェクト: ntamvl/admin-3-demo
<?php

Admin::model('App\\Post')->title('Posts (soft deletes)')->display(function () {
    $display = AdminDisplay::tabbed();
    $display->tabs(function () {
        $tabs = [];
        $default = AdminDisplay::table();
        $default->columns([Column::string('title')->label('Title')]);
        $tabs[] = AdminDisplay::tab($default)->label('Default')->active(true);
        $withTrashed = AdminDisplay::table();
        $withTrashed->scope('withTrashed');
        $withTrashed->columns([Column::string('title')->label('Title')]);
        $tabs[] = AdminDisplay::tab($withTrashed)->label('With Trashed');
        $onlyTrashed = AdminDisplay::table();
        $onlyTrashed->scope('onlyTrashed');
        $onlyTrashed->columns([Column::string('title')->label('Title')]);
        $tabs[] = AdminDisplay::tab($onlyTrashed)->label('Only Trashed');
        return $tabs;
    });
    return $display;
})->createAndEdit(function () {
    $form = AdminForm::form();
    $form->items([FormItem::text('title', 'Title')->required()->unique(), FormItem::ckeditor('text', 'Text')]);
    return $form;
});