示例#1
0
<?php

use App\Models;
use SleepingOwl\Admin\Models\Form\FormGroup;
Admin::model(\App\Models\Order::class)->title('Orders')->denyCreating(function () {
    return true;
})->columns(function () {
    Column::string('id', 'Id');
    Column::string('customer.login', 'Customer')->inlineEdit(true);
    Column::callback('orders_status_id', 'Status')->contentCallback(function ($instance) {
        return $instance->status()->first()->getName();
    })->inlineEdit(true);
    Column::string('total', 'Total')->inlineEdit(true);
    Column::count('items', 'Items');
})->inlineEdit(function ($field) {
    switch ($field) {
        case 'customer.login':
            return function () {
                InlineEditItem::select('customer_id', NULL)->list(Models\Customer::class);
            };
            break;
        case 'orders_status_id':
            return function () {
                InlineEditItem::select('orders_status_id', NULL)->list(Models\OrdersStatus::class);
            };
            break;
        case 'total':
            return function () {
                InlineEditItem::text('total', NULL)->validationRule('required|regexp:\\d');
            };
            break;
示例#2
0
<?php

use SleepingOwl\Admin\Models\Form\FormGroup;
use App\Models;
use SleepingOwl\Html\HtmlBuilder;
Admin::model(\App\Models\OrdersStatus::class)->title('Statuses')->columns(function () {
    Column::string('id', 'Id');
    Column::string('code', 'Code')->inlineEdit(true);
    Column::callback('name', 'Name')->contentCallback(function ($instance) {
        return $instance->getName();
    })->inlineEdit(true);
    Column::boolean('default', 'Default');
})->inlineEdit(function ($field) {
    switch ($field) {
        case 'code':
            return function () {
                InlineEditItem::text('code', NULL)->validationRule('required');
            };
            break;
        case 'name':
            return function () {
                InlineEditItem::callback('name', '')->callback(function ($instance) {
                    $content = '';
                    foreach (Models\Language::get() as $language) {
                        $value = '';
                        $descriptions = $instance->descriptions->where('language_id', $language->id)->first();
                        if (!is_null($descriptions)) {
                            $value = $descriptions->name;
                        }
                        $content .= HtmlBuilder::text('name_' . $language->id, 'Name [' . $language->code . ']', $value, ['data-parsley-required' => true]);
                    }