header(admin_trans( 'admin.messages')) ->description(admin_trans('admin.all')) ->breadcrumb(['text'=>'list','url'=>'']) ->body($this->grid()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { return Grid::make(new DistCustomMessage(), function (Grid $grid) { // $grid->setActionClass(Grid\Displayers\Actions::class); // // 添加“查看”按钮 // $grid->actions(function (Grid\Displayers\Actions $actions) { // $actions->append('View Detail'); // }); $grid->column('created_at',admin_trans_field('time')); $grid->column('is_read', admin_trans_field('is_read'))->display(function ($isRead) { $text = $isRead == 1 ? admin_trans_label('read') : "".admin_trans_label('unread').""; return $text; }); $grid->column('title',admin_trans_field('message_title'))->display(function ($title) { $isRead = $this->is_read; $style = $isRead == 0 ? 'font-weight: bold;' : ''; $label = $isRead == 0 ? ' (Unread) ' : ''; return "{$title}"; }); $grid->column('content'); $grid->column('custom_column', admin_trans('admin.action'))->display(function () { return view('admin.grid.actions-view', ['id' => $this->id,'text'=>admin_trans('admin.view')]); }); $grid->disableCreateButton(); $grid->disableDeleteButton(); $grid->disableEditButton(); $grid->disableActions(); }); } /** * Make a show builder. * * @param mixed $id * * @return Show */ protected function detail($id) { if(!DistCustomMessage::canViewMessage($id)) { abort('403'); }; $this->markAsRead($id); return Show::make($id, new DistMessage(), function (Show $show) { //$show->field('id'); $show->field('created_at',admin_trans_field('time')); $show->field('title'); $show->field('content'); // Disable all toolbar actions and buttons $show->panel() ->tools(function (Show\Tools $tools) { $tools->disableEdit(); // Disable edit button $tools->disableDelete(); // Disable delete button }); }); } // // /** // * Make a form builder. // * // * @return Form // */ // protected function form() // { // return Form::make(new DistMessage(), function (Form $form) { // $form->display('id'); // $form->text('title'); // $form->text('content'); // $form->text('sender_id'); // $form->text('target_type'); // $form->text('target_ids'); // // $form->display('created_at'); // $form->display('updated_at'); // }); // } /** * 标记消息为已读 */ public function markAsRead($messageId) { $userId = getDistributorId(); if (DistReadStatus::markAsRead($messageId, $userId)) { return true; } return false; } }